Implement mirroring

Add a setting to specify a list of relays to mirror.
Allow the direction of the mirror to be configured.
Allow the days to backfill to be configured.
Keep track of the most recent event for each relay.
Keep track from which relay the event came from?
Allow mirroring to be throttled and a max queue size to be specified per relay.
Allow whitelist/blacklist of pubkey and kind for each mirrored relay.

My two-bob's worth about mirroring/replication, fwiw:
Those items listed in the issue body above, while likely expressly satisfying a (hidden?) underlying requirement, I observe that they are quite narrowly focussed.
It may be worthwhile considering a more generalised approach and one which removes the need for the relay to contain the 'mirroring/replication logic'.
I mention this to possibly address a few issues (for example, relay load balancing, relay fault-tolerance) but the real issue that drives this note is censorship threats. Relays/datasets that are easily replicated are more censorship resistant. (and I'd say the censorship threats are just warming up)
If a relay can be asked questions such as:
1a. "give me the list of commitments you have that are not in this commitment + query I am supplying you"
1b. "give me the list of events you have that are not in this commitment  + query I am supplying you"
Then a custom client can do the mirroring/replication.
The commitment could be a hash table (i.e. long list of event hashes), but would better yet be an RSA Accumulator (i.e. a single number that represents a commitment of all relevant events). (The commitment could also be a merkle tree, but this is even less network-efficient than a hash table.)
The custom client can first ask relayA for a commitment based on a query. (using 1a.) We'll call this setA.
Then the custom client can ask relayB for the commitment of the relative complement of that setA + query. (using 1a)
Then the custom client can mirror just that relative complement. i.e. read from relayB (using 1b.), and write it to relayA.
And vice-versa. Repeated for any number of relays.
The net result is only the symmetric differences are mirrored between relays, which is nicely network-efficient and reduces the processing + network load on the relays.
And, apart from the commitment handling (1a and 1b above), relays do not need to have any other mirroring/replication logic.
And given the "+ query" I've peppered above, this enables a more tailored ability to incentivize relays because they can be funded specifically to host certain datasets that the community/s deem valuable. i.e. entire datasets don't need to be replicated. (i.e. therefore, this is not wholesale 'mirroring' but more selective replication.) And this organically addresses issues of relay bloat, because as data becomes very stale, they simply won't be actively replicated (though, ofc, one can take a backup so nothing is ever lost.)
Sorry there's no tldr here :/
--
I have some other semi-related ideas (particularly in relation to queries) but I've banged on long enough here on this point so will raise them some other time.

Do you have any literature on these topics? Would love to read and learn more on RSA Accumulators and commitments.
Have you checked the Nostr protocol to see if this is supported with the current NIPs?

As a start:
I think I may have supplied this link earlier in the nostr tg chat. but I didn't indicate any timestamps. My bad.
The presentation commences at 58:00 in https://www.youtube.com/watch?v=IMzLa9B1_3E&ab_channel=ScalingBitcoin
A Scalable Drop-in Replacement for Merkle Trees
PRESENTER(s):Benedikt Bünz, Benjamin Fisch and Dan Boneh (Stanford University)
Key additional timestamps =
1:02:00 The problem with Merkles
1:02:45 RSA Accumulator intro slides.
He presents this in the context of a set of BTC UTXOs, but in relation to nostr, the RSA accumulator would be a digest of a set of events instead (according to a query handed to the relay). The term 'commitment' just refers to the digest in this case. i.e. the relay 'commits' to holding the digested dataset.
The current nostr NIPs or the various discussions on the forums do not support this kind of thing in this generalised manner.
Some links that discuss RSA accumulators -

contains a bunch of links also. https://blockchain.works-hub.com/learn/the-hidden-magic-behind-cryptographic-accumulators-39691
https://www.usenix.org/conference/usenixsecurity20/presentation/ozdemir
https://www.sciencedirect.com/science/article/pii/S2096720922000550

More info coming:
I've reached out to a few cryptographers to see if there is an efficient and relevant js implementation of RSA accumulators that could be plugged-in for this purpose. Will advise my findings.
Something I didn't mention in my post above is that this could solve other problems such as client networking load given a client is not forced to connect to each disparate relay that holds each specific set of events it is interested in, given there would now be a neat way to efficiently replicate discrete sets of events amongst interested relays.

As nostr proponents no doubt agree, nostr's decentralised social media protocol is super important for the world to migrate from the current censorable centralised social media paradigm. But  Nostr's censorship-resistant federated datastore can similarly benefit other use cases outside of just social media. My take is there is exponential opportunity for nostr adoption in those other wide set of use cases so long as its ongoing 'improvements' are generalised and do not unnecessarily paint it into a corner of narrowly satisfying just social media use cases which may lock out other use cases. The ability to selectively efficiently replicate datasets is one example of fully supporting nostr's current social media focus while avoiding locking out future use cases.

Regarding blacklisting spammers:
This approach above can be used to replicate any subsets of nostr messages, including blacklists. When a relay detects spam (via any evolving criteria) and blacklists a spammer (by IP or pubkey, say), that relay's blacklist can be selectively replicated. And because custom replication clients replicate only between relays they choose (of interest to them/which they deem to have a high reputation/they trust), this avoids the issue of 'blacklist spam'.  i.e. where  a malicious relay maliciously blacklists a user, that malicious blacklist will not be propagated because the network will not trust the malicious blacklisting relay.


refactor: factor out client protocol

copilot:all

Current dependencies on/for this PR:

main

PR #3132

PR #3256   👈

This comment was auto-generated by Graphite.


Update feed url in pers-mo macro

Change the feed url inside the pers-mo macro from https://github.com/Zahuczky/Zahuczkys-Aegisub-Scripts/DependencyControl.json to https://raw.githubusercontent.com/Zahuczky/Zahuczkys-Aegisub-Scripts/main/DependencyControl.json
I'm pretty sure this caused automatic updates to be broken.

Example log
[DependencyControl] Starting update of macro 'Aegisub-Perspective-Motion BETA'...
[DependencyControl] Trying 1 candidate feeds (normal mode)...
— [DependencyControl] Checking feed 1/1 (https://github.com/Zahuczky/Zahuczkys-Aegisub-Scripts/DependencyControl.json)...
— [DependencyControl] Failed to download feed: Download of feed https://github.com/Zahuczky/Zahuczkys-Aegisub-Scripts/DependencyControl.json to C:\Users\User\AppData\Roaming\Aegisub\feedDump\l0.UpdateFeed_5BCD.json failed (The requested URL returned error: 404 Not Found).
[DependencyControl] The update of macro 'Aegisub-Perspective-Motion BETA' failed because no suitable package could be found (required: any; installed: 0.2.3; available: none).

Found with https://typesettingtools.github.io/depctrl-browser/macros/zah.pers-mo_BETA/

Closing as depctrl support will need to be reworked quite a bit. Probably first the Zeref modules would need depctrl support.


IntelliSense Documentation not visible due to overflow

Type: Bug
Often, the documentation of the focused item in IntelliSense opens to the right, with only a few pixels of it visible, rendering it basically unusable. IntelliSense itself seems to be way too wide.
VS Code version: Code 1.74.2 (e8a3071ea4344d9d48ef8a4df2c097372b0c5161, 2022-12-20T10:29:14.590Z)
OS version: Windows_NT x64 10.0.22621
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz (16 x 2304)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
undefined

Memory (System)
31.73GB (11.94GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (8)

Extension
Author (truncated)
Version

gitlens
eam
13.2.0

vscode-docker
ms-
1.23.3

remote-wsl
ms-
0.72.0

cpptools
ms-
1.13.8

hexeditor
ms-
1.9.9

rust-analyzer
rus
0.3.1325

intellicode-api-usage-examples
Vis
0.2.6

vscodeintellicode
Vis
1.2.29

You should be able to drag the right-hand border of the suggestion box to the left to decrease its width.  Have you tried that?

We closed this issue because it is a question about using VS Code rather than an issue or feature request. Please search for help on StackOverflow, where the community has already answered thousands of similar questions. You may find their guide on asking a new question helpful if your question has not already been asked. See also our issue reporting guidelines.
Happy Coding!

Either resize the widget as already mentioned or select "F1 > Reset Suggest Widget Size"


Update python versions in README

What's this PR do?
Update python versions in Environment Setup
Fix import sorting
Any background context you want to provide?
Update README for latest Python versions and revised testing instructions.
I'm not sure the whole CFLAGS= preamble is needed either, as I followed
the setup without that portion and tests worked fine.
Definition of Done (check if considered and/or addressed):

[x] Are all backwards incompatible changes documented in this PR?
[x] Have all new dependencies been documented in this PR?
[x] Has the appropriate documentation been updated (if applicable)?
[x] Have you written tests to prove this change works (if applicable)?

@grahamu this is failing linting because of the change to the python module.  see https://circleci.com/gh/pinax/pinax-stripe/4072?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link

@grahamu i went ahead and took care of it.  we should figure out how/why your local linting works differently than CI


Pymongo observer error enconding float32

Hello,
I discovered an error on the pymongo observer.
I have an experiment which uses the log_scalar feature of the observers, something like this:
_run.log_scalar("splits.ll", np.mean(likelihoods))
Everything runs as expected, I have another experiment with the same line that yields the next error when executing:

(Pdb++) Exception in thread Thread-5:
Traceback (most recent call last):
File "/home/gonzalo/anaconda3/lib/python3.6/threading.py", line 916, in _bootstrap_inner
self.run()
File "/home/gonzalo/anaconda3/lib/python3.6/threading.py", line 1182, in run
self.function(*self.args, **self.kwargs)
File "/home/gonzalo/anaconda3/lib/python3.6/site-packages/sacred/run.py", line 272, in _start_heartbeat
self._emit_heartbeat()
File "/home/gonzalo/anaconda3/lib/python3.6/site-packages/sacred/run.py", line 347, in _emit_heartbeat
info=self.info)
File "/home/gonzalo/anaconda3/lib/python3.6/site-packages/sacred/run.py", line 399, in _safe_call
getattr(obs, method)(**kwargs)
File "/home/gonzalo/anaconda3/lib/python3.6/site-packages/sacred/observers/mongo.py", line 212, in log_metrics
result = self.metrics.update_one(query, update, upsert=True)
File "/home/gonzalo/anaconda3/lib/python3.6/site-packages/pymongo/collection.py", line 976, in update_one
session=session),
File "/home/gonzalo/anaconda3/lib/python3.6/site-packages/pymongo/collection.py", line 836, in _update_retryable
_update, session)
File "/home/gonzalo/anaconda3/lib/python3.6/site-packages/pymongo/mongo_client.py", line 1102, in _retryable_write
return self._retry_with_session(retryable, func, s, None)
File "/home/gonzalo/anaconda3/lib/python3.6/site-packages/pymongo/mongo_client.py", line 1079, in _retry_with_session
return func(session, sock_info, retryable)
File "/home/gonzalo/anaconda3/lib/python3.6/site-packages/pymongo/collection.py", line 832, in _update
retryable_write=retryable_write)
File "/home/gonzalo/anaconda3/lib/python3.6/site-packages/pymongo/collection.py", line 797, in _update
retryable_write=retryable_write).copy()
File "/home/gonzalo/anaconda3/lib/python3.6/site-packages/pymongo/pool.py", line 522, in command
self._raise_connection_failure(error)
File "/home/gonzalo/anaconda3/lib/python3.6/site-packages/pymongo/pool.py", line 677, in _raise_connection_failure
raise error
File "/home/gonzalo/anaconda3/lib/python3.6/site-packages/pymongo/pool.py", line 517, in command
collation=collation)
File "/home/gonzalo/anaconda3/lib/python3.6/site-packages/pymongo/network.py", line 102, in command
None, codec_options, check_keys)
bson.errors.InvalidDocument: Cannot encode object: -3.5542235

WARNING - Boston_test - The observer '<sacred.observers.mongo.MongoObserver object at 0x7f738eab5fd0>' failed at some point during the run.

some debbuging got me to the problem, it's on the line of code I put at the start of this post. So I was wondering why that error was happening if both lines were just saving a number, I checked the types of both numbers with:
np.mean(likelihoods).dtype
the one that yields the error is
dtype('float32') and the one that works is dtype('float64')
So I deduced that there is a problem enconding float32, to reassure my findings I inserted a breakpoint, converted the variable to float32 in the experiment that runs without errors and as expected it now fails.
I don't know if this is a limitation of PyMongo or an error in Sacred, but I just wanted to open this issue in case that someone encounters this problem.

I added a type-conversion from numpy to python types to the metrics logger. That should prevent float32 from reaching and breaking MongoDB. If that doesn't resolve your problem, please reopen this issue.


Fixes TurnerSoftware/Pingalot#6 & Bump to .NET 6

Hi @Turnerj ,
Firstly great tool and thanks for sharing.
Please let me know your feedback. Any constructive criticism is most welcome.
I am fairly new to C# and programming. I have done a lot of scripting, however I struggle with the OOP part a bit - still feeling my way around some of the design concepts and patterns.
I was looking to use your tool and did not like the memory blow out for continuous ping.
PR related to https://github.com/TurnerSoftware/Pingalot/issues/6
I have bumped to .NET 6.
I reworked the pingsession.cs to be stateful - its now called pingstats.cs - it is only passed a single ping request.
Removed the need for a list of PingRequests.
Moved the PingRequestExportModel class into Pingalot.Core
Added Export File to the PingRequestOptions - maybe not the best idea but was the easiest to get the file details passed through to the PingRequestAgent.
Added the File Export function into PingRequestAgent  - export a record at a time as it occurs.
Catered for an error with the export file path  - if error then create file local to the exe with a generic name plus datetime.
Added a final ping stats method to pingstats to just pass in the end time.
The memory is now constant for the life of the program as we don't keep a list of ping requests.
I will be conducting further testing and would like to add some unit tests and help with some of the other issues.
I like the idea of adding MTR functionality - I was thinking of trying to replicate most of the Ping Plotter functionality but maybe in a web interface. Would be a nice challenge and your code is a great base.
Thanks,
Daniel

Hey @DanielSpindler83 - firstly thanks for contributing to this project! I know the project looks a little neglected, at least compared to my others, but I really appreciate you helping out.
I don't want to discourage you as generally speaking I agree with your changes however to make my life a little easier (and make any feedback easier to follow), I propose we do this in stages across a few PRs:

.NET 6 + CI
Unit tests (to bring parity to existing features)
Changes for #6
etc

Then we keep it generally to a feature per PR or a core fix per PR. Ideally, if we get it in that order, then I can generally merge them in and you can then more easily build upon the changes.
With regards to CI specifically, what might help is having a look at what I've done for a few of my other projects. I tend to have these files configured in a way that makes certain things pretty nice.

GitHub workflow: https://github.com/TurnerSoftware/CacheTower/blob/main/.github/workflows/build.yml
Directory.Build.props: https://github.com/TurnerSoftware/CacheTower/blob/main/src/Directory.Build.props
(Library).csproj: https://github.com/TurnerSoftware/CacheTower/blob/main/src/CacheTower/CacheTower.csproj

A lot of each should be able to be copied into this project, allowing me to have a common base between my repositories. Happy to dig into more specifics about this in a separate PR.
One thing I do need to do (to keep it aligned with my other repositories) is change the default branch from master to main. I won't do that yet (as it will likely mess with your local repo and pull changes) but just an FYI for the future.

I am fairly new to C# and programming. I have done a lot of scripting, however I struggle with the OOP part a bit - still feeling my way around some of the design concepts and patterns.

I forgot to highlight this before - that's awesome you're getting into C# and programming. I hope through this project, and others, that you grow and learn through tinkering on them etc. With any PRs you raise with Pingalot (or any of my other projects), I'll work with you to make sure we have a great solution. 🙂

Thanks @Turnerj , I am a big believer in doing things properly and I did make some boo boos with my branching and the PR style. I also wasnt working with a local git copy as I worked through my changes - which I appreciate was not ideal.
I am happy to start again and remove this PR. Rename your master to main and ill redo my forked repo and submit the first PR for bump to .NET 6. I will go back over all my changes and commit it in a logical order on a specific branch for issue #6 .
I use git day to day but not github, so i'm a bit unsure of the whole linked repos style and how PRs work here in GitHub and linking to issues so I got a bit lost there.
I have worked with unit tests a little bit before but im not really sure what specific tests we need(but i guess if i start I might work it out), maybe if you throw a bone and point in the right direction I can go from there? I really do want to learn more about unit testing and this is a good opportunity as I now have a pretty good understanding of the Pingalot code base. Do you use a specific unit testing framework in your other projects(I will go and have a look).
On another note, do you recommend any specific C# training or learning material - paid or unpaid?
I started learning from Pluralsight on a free VS subscription deal with work. It was pretty good. But I am looking for something a bit more intermediate and challenging. I'm guessing getting hands on with OSS is probably my best bet...
Let me know - thanks.

Hey @DanielSpindler83 - I've updated the branch name to main. While I don't know what you need to do on your fork to synchronise that across, these are the commands that GitHub suggests to change if your origin is set to this repo:
git branch -m master main
git fetch origin
git branch -u origin/main main
git remote set-head origin -a

I use git day to day but not github, so i'm a bit unsure of the whole linked repos style and how PRs work here in GitHub and linking to issues so I got a bit lost there.

My best explanation for forks is that is just a clone of a repo but it is stored on GitHub with some extra metadata pointing back to the repo you cloned it from. I don't have a specific branching strategy for PRs to come in unlike some projects - just give the branch a name that roughly resembles the change. I don't try and muck around with what branches changes go to like having a develop branch etc - everything merges to the main branch.
With providing PRs etc, while I haven't included it in this repo, you might find a "contributing readme" in one of my other projects useful: https://github.com/TurnerSoftware/CacheTower/blob/main/CONTRIBUTING.md
I made it as a "choose your own adventure" style and pretty much covers my thoughts for any of my projects.

I have worked with unit tests a little bit before but im not really sure what specific tests we need(but i guess if i start I might work it out), maybe if you throw a bone and point in the right direction I can go from there?

Yeah, currently with no tests in the codebase it can be a bit hard to start. Basically there are two levels of tests here that I see:

Tests that ensure we don't break the CLI structure in the Pingalot assembly (these are kinda integration tests)
Tests that ensure our Pingalot.Core does what it is meant to (these would be more typical unit tests)

At this stage, I'm not overly concerned about the former but the latter would be useful to try and test. To test our core logic, we probably need a way to mock the Ping instance that is within PingRequestAgent. There is a great library called Moq that I've used before however the code will need to be refactored to support a custom Ping instance. What I'm thinking is that we'll need to wrap Ping ourselves in a type - potentially a factory pattern - so we can mock that. All of this though is gonna be kinda messy so may not be the first thing to test.
One good place to start though would be when you have a PR up for your PingStats changes is testing that it does what we expect. If we pass in ping results of different states, do the statistics add up correctly. Some of your changes regarding file exporting would be good to test.

I really do want to learn more about unit testing and this is a good opportunity as I now have a pretty good understanding of the Pingalot code base. Do you use a specific unit testing framework in your other projects(I will go and have a look).

I primarily use MSTest/VSTest - this is a fairly basic testing framework for .NET but I use it for all my projects currently. I am considering switching to FluentAssertions which could mean switching to XUnit but that would be at a later date.
In the meantime, check out:

https://github.com/Moq/moq (the type mocking framework I like to use)
https://docs.microsoft.com/en-us/dotnet/core/testing/unit-testing-with-mstest#create-the-first-test (MSTest)

On another note, do you recommend any specific C# training or learning material - paid or unpaid?
I started learning from Pluralsight on a free VS subscription deal with work. It was pretty good. But I am looking for something a bit more intermediate and challenging. I'm guessing getting hands on with OSS is probably my best bet...

I don't really have anything to overly recommend I'm afraid. It really depends on your learning style what is best etc. Like for me, I always tinkered with things and kinda randomly learnt things as I went.
I have some intermediate-to-advanced stuff in a few blog posts but they won't really touch much on what is useful here:

https://turnerj.com/blog/levenshtein-distance-part-2-gotta-go-fast
https://turnerj.com/blog/levenshtein-distance-part-3-optimize-everything

I also have a video on the same subject: https://www.youtube.com/watch?v=JiOYajl2Mds

So I just found that I had uncommitted changes from a while back which might trample a bit on some of your changes. I'll get my stuff up shortly and then do an initial setup of CI and a blank test project for you to integrate your changes into.

I had a look at my code - it was in rough shape as I was half way through a refactor of the layout/rendering system. I've ditched that code but synchronised some basic CI and other repo goodies from another library of mine. You should be able to start opening individual pull requests for different things (like upgrading the projects and CI to .NET 6 etc) now.


TMFS: markdown in comments?

Trying to make a link on my comment here: https://themachinefolksession.org/tune-of-the-month/1
Is there a reason to not allow links here?

I might have been trying to keep things simple or stop spam links... but, yeah, no solid reason. I will make it render these as markdown.

Instead of markdown, which requires you to format links in a specific way, I've filtered the plain text through urlize, which just turns URLs into clickable links. Should be what most people expect, and will keep the formatting of comments minimal.
So, description fields when you contribute a tune, recording, tune of the month etc. are markdown, but everything else should just urlize.


How to map the volume and brightness keys in jwm?

How can I map the volume and brightness keys to jwm?
Edit this works:
    <Key key="XF86MonBrightnessUp">exec:{command}</Key>
    <Key key="XF86MonBrightnessDown">exec:{command}</Key>
    <Key key="XF86AudioRaiseVolume">exec:amixer -q sset Master,0 5+</Key>
    <Key key="XF86AudioLowerVolume">exec:amixer -q sset Master,0 5-</Key>
    <key key="XF86AudioMute">exec:amixer -q sset Master,0 toggle</Key>

Mute works! I guess this is the way to do, just that my machine is not working correctly?

https://wiki.archlinux.org/index.php/Backlight

Hmmm for some reason xbacklight is not working. So might need to directly. Thanks.

Here are my scripts:
Volume Down
Volume Up
Mute/Toggle
Microphone Mute
Brightness Up/Down/Reset (or gamma)
This is run as
torios-gamma up
torios-gamma down
torios-gamma
This uses xbacklight if it exists, and works, OR xgamma if xbacklight isn't installed or doesn't support your monitor
Feel free to modify these to your own use in anyway you choose.

Thank You. I will check your scripts.


DS-3765: File visit statistics should only be counted for archived items, not for items in workflows

Fix: https://jira.duraspace.org/projects/DS/issues/DS-3765

I dont think this is a concern, too. After the UsageEvent.VIEW for "one" bitstream that belongs to only "one" Bundle that belongs to "one" Item, only one call of item.isArchived is added. This does not depend on the amount in and from SOLR.
The other possible solution would be to drop SOLR logentries when a bitstream is removed. This could make more sense when the scope leaves the workflow.
This is more a general question: Should logentries be available from removed bitstreams ?


Out of memory error on GPU

你好。我想问一个问题。我再训练fastspeech2的时候，config文件都没有变动，batch=64，但是会报错“Out of memory error on GPU 0”。
GPU: v100，32G
无论我的batch改成32还是16，同样会报“Out of memory ”这个错误，用多张卡训练也是一样的情况：
Exception in main training loop: (Fatal) Operator where raises an paddle::memory::allocation::BadAlloc exception.
The exception content is
:ResourceExhaustedError:

Out of memory error on GPU 0. Cannot allocate 1.083714GB memory on GPU 0, 30.711914GB memory has been allocated and available memory is only 1.036621GB.

Please check whether there is any other process using GPU 0.
1. If yes, please stop them, or start PaddlePaddle on another GPU.
2. If no, please try one of the following suggestions:
   1) Decrease the batch size of your model.
   2) FLAGS_fraction_of_gpu_memory_to_use is 0.60 now, please set it to a higher value but less than 1.0.
      The command is `export FLAGS_fraction_of_gpu_memory_to_use=xxx`.

 (at /paddle/paddle/fluid/memory/detail/system_allocator.cc:155)
. (at /paddle/paddle/fluid/imperative/tracer.cc:221)

Traceback (most recent call last):
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/training/trainer.py", line 149, in run
    update()
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/training/updaters/standard_updater.py", line 109, in update
    self.update_core(batch)
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/models/fastspeech2/fastspeech2_updater.py", line 83, in update_core
    spk_emb=spk_emb)
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
    return self._dygraph_call_func(*inputs, **kwargs)
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
    outputs = self.forward(*inputs, **kwargs)
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/models/fastspeech2/fastspeech2.py", line 557, in forward
    tone_id=tone_id)
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/models/fastspeech2/fastspeech2.py", line 656, in _forward
    zs, _ = self.decoder(hs, h_masks)
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
    return self._dygraph_call_func(*inputs, **kwargs)
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
    outputs = self.forward(*inputs, **kwargs)
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/modules/transformer/encoder.py", line 415, in forward
    xs, masks = self.encoders(xs, masks)
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
    return self._dygraph_call_func(*inputs, **kwargs)
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
    outputs = self.forward(*inputs, **kwargs)
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/modules/transformer/repeat.py", line 25, in forward
    args = m(*args)
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
    return self._dygraph_call_func(*inputs, **kwargs)
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
    outputs = self.forward(*inputs, **kwargs)
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/modules/transformer/encoder_layer.py", line 101, in forward
    x = residual + self.dropout(self.self_attn(x_q, x, x, mask))
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
    return self._dygraph_call_func(*inputs, **kwargs)
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
    outputs = self.forward(*inputs, **kwargs)
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/modules/transformer/attention.py", line 155, in forward
    return self.forward_attention(v, scores, mask)
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/modules/transformer/attention.py", line 115, in forward_attention
    scores = masked_fill(scores, mask, min_value)
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/modules/masked_fill.py", line 48, in masked_fill
    xs = paddle.where(mask, trues, xs)
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/paddle/tensor/search.py", line 522, in where
    return _C_ops.where(condition, x, y)
Trainer extensions will try to handle the extension. Then all extensions will finalize.Traceback (most recent call last):
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/exps/fastspeech2/train.py", line 214, in <module>
    main()
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/exps/fastspeech2/train.py", line 210, in main
    train_sp(args, config)
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/exps/fastspeech2/train.py", line 167, in train_sp
    trainer.run()
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/training/trainer.py", line 198, in run
    six.reraise(*exc_info)
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/six.py", line 719, in reraise
    raise value
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/training/trainer.py", line 149, in run
    update()
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/training/updaters/standard_updater.py", line 109, in update
    self.update_core(batch)
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/models/fastspeech2/fastspeech2_updater.py", line 83, in update_core
    spk_emb=spk_emb)
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
    return self._dygraph_call_func(*inputs, **kwargs)
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
    outputs = self.forward(*inputs, **kwargs)
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/models/fastspeech2/fastspeech2.py", line 557, in forward
    tone_id=tone_id)
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/models/fastspeech2/fastspeech2.py", line 656, in _forward
    zs, _ = self.decoder(hs, h_masks)
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
    return self._dygraph_call_func(*inputs, **kwargs)
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
    outputs = self.forward(*inputs, **kwargs)
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/modules/transformer/encoder.py", line 415, in forward
    xs, masks = self.encoders(xs, masks)
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
    return self._dygraph_call_func(*inputs, **kwargs)
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
    outputs = self.forward(*inputs, **kwargs)
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/modules/transformer/repeat.py", line 25, in forward
    args = m(*args)
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
    return self._dygraph_call_func(*inputs, **kwargs)
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
    outputs = self.forward(*inputs, **kwargs)
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/modules/transformer/encoder_layer.py", line 101, in forward
    x = residual + self.dropout(self.self_attn(x_q, x, x, mask))
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
    return self._dygraph_call_func(*inputs, **kwargs)
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
    outputs = self.forward(*inputs, **kwargs)
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/modules/transformer/attention.py", line 155, in forward
    return self.forward_attention(v, scores, mask)
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/modules/transformer/attention.py", line 115, in forward_attention
    scores = masked_fill(scores, mask, min_value)
  File "/ultra/fffan/0_TTS/temp/PaddleSpeech/0_Paddlespeech/paddlespeech/t2s/modules/masked_fill.py", line 48, in masked_fill
    xs = paddle.where(mask, trues, xs)
  File "/root/anaconda3/envs/paddlespeech/lib/python3.7/site-packages/paddle/tensor/search.py", line 522, in where
    return _C_ops.where(condition, x, y)
SystemError: (Fatal) Operator where raises an paddle::memory::allocation::BadAlloc exception.
The exception content is
:ResourceExhaustedError:

Out of memory error on GPU 0. Cannot allocate 1.083714GB memory on GPU 0, 30.711914GB memory has been allocated and available memory is only 1.036621GB.

Please check whether there is any other process using GPU 0.
1. If yes, please stop them, or start PaddlePaddle on another GPU.
2. If no, please try one of the following suggestions:
   1) Decrease the batch size of your model.
   2) FLAGS_fraction_of_gpu_memory_to_use is 0.60 now, please set it to a higher value but less than 1.0.
      The command is `export FLAGS_fraction_of_gpu_memory_to_use=xxx`.

 (at /paddle/paddle/fluid/memory/detail/system_allocator.cc:155)
. (at /paddle/paddle/fluid/imperative/tracer.cc:221)

我更换成其他训练数据，batch=64都没有问题。请问这是什么原因。训练数据是magicdata，

请检查是否是第一个数据集的每条音频的长度过长，目前的配置是在 csmsc 数据集上的配置，可以参照 csmsc 每条音频的长度裁剪音频


Local event bus for a view

As a developer, I would like to create a Brisket View with the option of using an event bus local to it and its children
so that I can design my application knowing that if a child view triggers an event, only its siblings and parent are able to listen to that event.
Background
A lot of the applications right now, implement a global event bus to manage event handling. Developers may not fully understand the implications of using a global event bus. Consider the following use case -
I have multiple instances of a view (type X) on the page. X has a child view of type Y. Y triggers an event and X listens to that event and handles it. The event uses a class selector as part of the definition.
With a global event bus implementation,  if the event is triggered by one instance of Y, the event handler of each instance of X is invoked.
A workaround to this of course, is to set an ID for the view, and pass this on to child views as well. All event names will be namespaced with the view ID dynamically. This works, but is error prone and not very DRY. Hence the idea for the option to create a view with a local event bus.

Is it possible to use direct event bubbling?
x.listenTo(y, "event", handler);

@rashmiraman closing this ticket. feel free to re-open or reach out to me if you still want to discuss


add many

@all-contributors please add @mannyv123 for code, test, and docs

@all-contributors please add @mannyv123 for code, test, and docs


Add precommit hook and fix feross/standard lint errors.

Alright - as per our discussion, we're now complying with standard.
Took a while to work out all the lint errors (the fixstyle util doesn't work with jsx) but it should be smooth sailing from now on.
Just a note on the module.exports syntax, React can automatically figure out via JSX what the displayName is if you use var Foo = React.createClass({}), but it appears it can't do it if you do var Foo = module.exports = React.createClass({}), thus the changes. It's really nice to have the displayName for debugging.

awesome!


Merge master to develop

Merge master back to develop

Weird,
Maybe the cherry-pick.
I'll update the release guide: the bug-fix of ner version should be merged to release-x.y.z not develop to avoid cherry-pick.


Adds colours to the logging messages

Next steps before removing draft label:

[ ] Agree about the picked colors for each level of logging.
[ ] Verify behavior for bionic
[ ] Verify behavior for focal

Closing as the longer isn't relying on fmt anymore


Specify which users to export via SCIM client

We have a realm that collects users from multiple IdPs. And I want / have to export a certain subset of them to a separate SCIM server. Is there a way to specify that only a subset of users, e.g. with a certain attribute, is exported?
As I do have control of the remote server I can just ignore them, but it doesn't seem right.

yes, there is. Please check the documentation:

Sorry, but I got trouble following you here. Could you maybe explain this a little bit more in detail?

Sure!
I've got approx 250 user accounts in keycloak. Let's say, I'd like to exclude 50 in general, I can make use of the exclude roles, which is working fine.
Within the same realm, I've got a scim client, which should only sync a small part of those users (because I would need to buy a license for each sychronized user).
And there's not only one such case, but a couple of them.
It would be great to have a way to configure an exclude role per scim client, instead of having one role only.

Why would you need to buy a license for each synchronized user?
You can only have 1 SCIM Client per realm. Multi-assignment is not possible.

It's the service provider, who's making up that rules, e.g. bitwarden.
Maybe it's a misunderstanding on my side, but shouldn't it be possible to have multiple scim clients?

SCIM Client

The SCIM Client functionality synchronizes your users/groups with other identity providers supporting the SCIM protocol.

It is possible to configure several SCIM Clients. But you can assign a SCIM Client only to a single realm in Keycloak. The SCIM-protocol is not designed for synchronization to multiple systems at once.

Okay, now you lost me. Isn't SCIM designed to provision users from a directory to e.g. all those SaaS apps?
I'm talking about this part within the plugin

Let me phrase it differently: I'd like to have multiple SCIM Clients, each of them with a different set of users, limited by e.g. a role specific to a client.
For example: Bitwarden.
I'd like to sync only those users with a role e.g. bitwarden-sync set
Another client, sentry.
I'd like to sync all users, except of those with a role sentry-exclude set.
My understanding is, that it's technically possible to do that, but it's currently not implemented within the plugin.

I think there is a misunderstanding.
One If you have a realm in keycloak - lets call it my-test-realm - then you can assign only a single Remote SCIM Provider configuration from above to the realm my-test-realm And therefore, the realm-exclude-roles could be - more or less - considered to be assigned to the specific Remote SCIM Provider.
If you have several Remote SCIM Providers you must also have several realms to manage your users.
SCIM does define the attribute externalId that is used as the ID of the remote-system to which users can be synchronized. The protocol never defined a mechanism that allows to distinguishe between several remote-providers. So each user can only be synchronized to a single remote-system.
If that was not a misunderstanding, than I simply did not understand what you asked 😅

It's hard for me to wrap my head around that. I thought externalId is meant to be provided by the SCIM client (keycloak, in this case) and identifies a user.
It seems weird to me to have a separate realm per SCIM client, as this will result in a duplication of entities:
User A needs to access SaaS1 and SaaS2 and will therefore exists in two realms.
Thanks for the support, I guess I need to find something else then.

Yes, the externalId is an identifier that is used by the SCIM Client. It is the id of the resource on the remote server, not the keycloak resource id.
the 1:1 mapping is a limitation by SCIM. I originally even started implementing it in a way that synchronization to several servers could be possible until I noticed that the RFC is not covering this, and therefore I rolled this part back and stayed on a 1:1 relationship.
Or maybe you are talking about a completely different thing. I couldn't follow your details from above, why I can only guess what you are trying to do.

The externalID is defined by the scim client (keycloak or your plugin) not the CSP (e.g. bitwarden).
Otherwise, it won't be possible to have an externalID set while creating a user in the CSP.
It uniquely identifies an identity within keycloak and must be unique within keycloak only.
The idea behind SCIM is to sync users and groups from one directory to multiple CSPs.
What's not covered by the current spec is, if you have one CSP with multiple clients.
There are examples in RFC 7642 3.2 and 3.3 covering this scenario.
Keycloak with your plugin is supposed to push changes to all configured CSPs, working as an SCIM client.
All I know about SCIM, I'm not able to find a reason, why it should be a 1:1 relation.
Just to be sure: from your plugin perspective, there's only one server per realm possible, which is totally expected. But for the client part, the 1:1 relation isn't expected.
Making it possible to have multiple clients per realm, will make this plugin really useful. This would be the same behavior as others (authentik, okta,...) have implemented it.

On technical level it is not possible to synchronize a single user to several clients.
Reason:

We need to store the id of the remote system on the local system for subsequent update-requests
the field in which we store the remote resource-id is the field externalId
If now a local change is performed, a synchronization is triggered to the remote-system. This is done by identifying the resource on the remote system by its externalId which is the id of the resource
SCIM does not define a concept for synchronizing to several remote SCIM providers. This would require the resource to store information about the remote-provider to which it was synchronized and the externalId it has on the system, but we do not have this concept in SCIM.

This information isn't correct. Please see the description of id and externalId in the Common Attributes section of RFC7643.

Even if you want to store the remote id, this would just require a table with service_provider_id, service_provider_uid and keycloak_uid to get a proper mapping, as this is only required within your plugin to overcome the current limitation.

okay, I won't object anymore. But this will currently not be implemented. There is a lot of code that currently depends on the current mechanism making it difficult to rebuild.
I will maybe do it in a later development iteration but this is nothing that I can do in the next time since this is a greater change.

:+1: I'd be happy to see this in the future, if possible. :)
For anybody reading through all comments (and it might also help you), there's another plugin https://github.com/mitodl/keycloak-scim which is capable of acting as multiple SCIM clients, but, as far as I can see, there's no filtering implemented :(


Hello, I would like to ask how to create this dataset. Thank you very much!

Hello, I would like to ask how to create this dataset. Thank you very much!

你好,请问一下
数据集如何创建?


delapp: extra comma in manifest

I use some external json tools on buckets - they are not as forgiving as scoop's json parser.

[x] I have read the Contributing Guide.

@amreus, my fault, thank you for accuracy.

/verify


Rename iterator functions to *_iter

Please, disconsider PR #78.

This looks good to me but I want to check something with others. Do we want row_iter or rows_iter?
My vote is for row_iter but I remember @tafia preferring rows_iter. Does anybody else prefer rows_iter?

I also prefer row_iter, but I'm not able to come up with a very rational justification as to why. It just... feels better.

Ok, in that case we'll go for this as-is. I need to actually read through to make sure there's no tiny bugs. After I've done that I'll merge and we will be very close to a 0.4 release!
Thanks @c410-f3r


License of assets

Does the logo of the project has a license? If yes, what it is and can I upload it to Wikimedia Commons to add it to the Wikipedia article of Dogecoin?

See: https://github.com/dogecoin/dogecoin/blob/master/COPYING

See: https://github.com/dogecoin/dogecoin/blob/master/COPYING

MIT License only covers the code. For the assets, its needed to have a different license next to it, like CC BY-SA

It's a picture of a Trending dog, and no one has a copyright on it
see this:https://en.wikipedia.org/wiki/Doge_(meme)

It's a picture of a Trending dog, and no one has a copyright on it
see this:https://en.wikipedia.org/wiki/Doge_(meme)

Its still necessary to state a license for all sorts of graphic assets used in the repositories.

@yutyo would the CC BY-SA license be the ideal license for the assets?

The logo is Copyrighted by the original artist, Christine Ricks.
I have been waiting on clarification since about January regarding authorized use, but haven't heard back. Will reach out.

@patricklodder What is the status on this?


timetracking: change produce and patch names, add anima specific notification text

…learer and added different notification text for anima crops

Fixes #13645

I have changed the names of the trees but i don't know if this is the way we would like to do it. It might be better to add a seperate field to tree crops for their display name so the shortened form can be shown in different places and the longer one in the notifications.

The name is used in the contract infobox tooltip, the tooltips of the produce in the panel itself, and the notification messages. In all of those places, referring to eg. Magic tree ends up being better imo. Those places are not exactly short of space to fit the word tree.

I also changed the trees you mentioned, thank you for the feedback


[RESOLVED] Unavailable by ICMP ping

Problem started at 01:22:14 on 2023.04.15
Problem name: Unavailable by ICMP ping
Host: MF-FG
Severity: High
Operational data: Down (0)
Original problem ID: 16973
Event details in Zabbix: http://<IP_ADDRESS>/tr_events.php?triggerid=23130&eventid=16973

Problem has been resolved in 5h 37m 0s at 06:59:14 on 2023.04.15
Problem name: Unavailable by ICMP ping
Host: MF-FG
Severity: High
Original problem ID: 16973


Add CI

Started to set up the CI now. Still have to add skimage to the dependencies.
Also, when I  use make test to run the read_all test, it triggers the data generation, because
data is listed as target here:
https://github.com/constantinpape/zarr_implementations/blob/master/Makefile#L23-L24
@clbarnes I guess you have intended this when adding the make file to test the data generation.
But I am not sure if this will even work, because the data is already there?

Yeah, I wanted to express the dependency of the tests on the data. It would be nice to actually use make's file-checking mechanisms but I don't know if it works with directories, or generally with multiple files. It's quite old-fashioned.
I think that the CI should try to generate the data to at least once anyway, as a separate test - then do a git diff --exit-code --name-only data, to prove that the data in the repo is exactly what is created by the scripts in the repo. Scripts and data which are out of sync should be a failure.
If we go that route, then we'll have installed all the dependencies and compiled everything in order to run that test, in which case regenerating the data for the read tests should be a negligible amount of time lost.

I think that the CI should try to generate the data to at least once anyway, as a separate test - then do a git diff --exit-code --name-only data, to prove that the data in the repo is exactly what is created by the scripts in the repo. Scripts and data which are out of sync should be a failure.

I agree, that makes sense. But we need to generate the data in a different folder for this and this is not supported by the current data generation scripts, because all paths are hard-coded. Should be easy to fix this though.

If we go that route, then we'll have installed all the dependencies and compiled everything in order to run that test, in which case regenerating the data for the read tests should be a negligible amount of time lost. But we could always just remove the data recipe from the dependencies of the test recipe.

Yes, I am also not worried about runtime here.

But we need to generate the data in a different folder for this

I'm not sure we do - doing it in place makes it easy for git to do the diff for us, and as it's just done on CI any changes get trashed anyway.

I'm not sure we do - doing it in place makes it easy for git to do the diff for us, and as it's just done on CI any changes get trashed anyway.

Ok, that's a good point.
However some of the scripts fail if they are called with existing data, e.g.
https://github.com/constantinpape/zarr_implementations/blob/master/generate_data/generate_z5py.py#L25
I will fix it on the python side now and see if it works in java.

Ah, right. Could always rm -rf the data in there first as part of the data recipe: that way we can be sure that the generated data and nothing but the generated data is in that directory. Alternatively, the scripts could open their containers in write-truncate mode (mode="w") to clear previous writes. That's probably a good idea anyway to make sure defunct datasets don't hang around if support for particular compressors change in the future.

I updated the truncate in n5 as you suggested @clbarnes.
Note that generating the reference image currently fails due to https://github.com/python-pillow/Pillow/issues/4518.
This is fixed in the latest pillow release, however this is not on conda-forge yet, so this PR is pending https://github.com/conda-forge/pillow-feedstock/pull/78.

Ok, the environment can be set up now and the tests are running; a couple are still failing though, may also be related to #7. I will see if I can reproduce and fix it locally later.

https://github.com/conda-forge/pillow-feedstock/pull/78 is now merged.

conda-forge/pillow-feedstock#78 is now merged.

Yes, works here again. Test failures are due some other issues.
@clbarnes
This is some z5py related things; I don't have time to fix this now, will try to look into it next week.
If it's helpful for you I can merge already, otherwise I will wait till I fixed these issues.

No hurry at all! Just thought it would be useful for this repo going forward.

No hurry at all! Just thought it would be useful for this repo going forward.

Yes, definitely!
I will see if I have time to look into it next week, otherwise I will just merge.

Superseded by #14


[ALLUXIO-2449] Improve concurrency for getFileInfo

https://alluxio.atlassian.net/browse/ALLUXIO-2449

alluxio-bot, check this please

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/12571/
Test PASSed.

Merged build finished. Test PASSed.

LGTM


if i had it working on software. where dfid it put the completed software.

if i had it working on software. where dfid it put the completed software.

Depends. It could save it as assets you can see as it runs, or as files if you give it access to the Filesystem plugin.


Examples & Use Cases

Examples & Use Cases
It would be great if we could get a strong set of use cases and examples built out for different communities to be able to use in their individual projects - and maybe add them to the README.md, @christianechevarria.
As a first contender, @mateogianolio created this great - really simple - OCR example with Synaptic.js.
I think this could be a really cool visual - maybe implement it as a GAN and have the generative NN do a live display.

Make a simple NN which learns to play soccer. Always good to impress ppl :)

@Pummelchen @christianechevarria
Something like:

https://gym.openai.com/envs/RoboschoolHumanoidFlagrunHarder-v1/
or, https://gym.openai.com/envs/RoboschoolHumanoidFlagrun-v1/

???
Maybe with OpenAI's HTTP API version of their Gym: https://github.com/openai/gym-http-api

Flappy bird demo's been the standard when showing off neuroevolution.

@dan-ryan Will put it as a placeholder here, for now: https://github.com/xviniette/FlappyLearning

No, something simples like this:
https://www.youtube.com/watch?v=uTzdif1AUlw
Can be even simpler by just one player moving and the other waits till its his turn. But the NN needs to learn what to do with the ball and that it should go to the opposite goal.

Ages back I suggested doing a Mario example with Neataptic.  It would really show the power of Carrot's neuroevolution.
https://github.com/wagenaartje/neataptic/issues/21
We could also port the Neataptic text prediction example (also listed in the above issue):
https://jsfiddle.net/wagenaartje/8r4mwe3d/5/

From reinforce.js, here's an example: https://mvrahden.github.io/learning-agents/

Also ran into this: https://github.com/naptha/tesseract.js
Could make for some interesting demos

@dan-ryan Thank you for the Snake - just posting it here.

These games are amazing for demo!!!

More: https://codingtrain.github.io/NeuroEvolution-Vehicles/

https://github.com/mishig25/neuroevolution-robots

Pong:

https://github.com/zhebrak/neuro_pong/

Google Dinosaur Loading Screen:

https://github.com/yafeunteun/neuroevolution-trex-on-steroids

Hey everyone! Implemented a flappy-bird demo and playing around with it lately:
https://liquidcarrot.io/example.flappy-bird/
Thinking about making this a learning sandbox for new users with code examples, explanations on GAs, and generally showing off features of the library


Display email elements on page

References user story #13
Displays part of the email as proof of email parsing capabilities.
Definition of Done:

[x] The extension is capable of viewing email contents
[x] The email contents are retrieved by the extension
[x] The email contents are displayed by the extension

Added an element to display the email contents on the sidebar.
Added code for parsing an email from the Gmail site.
Added code for displaying the email contents.
Submitted pull request.
[t:120]


could we get some docs describing changing scenes?

There's  ViewPort.set_root/2 which seems straightforward enough. But it doesn't take care of event handlers for you. I would sort of expect handlers to be reset? If not then it would be nice to get documentation that shows how to do that.
Also it doesn't seem to hit the init/2 function in the scene that's switched to.
This doesn't appear to be documented well at all and it would be nice if there were some docs!

👍 Some supporting docs would be great but would like to hear if this is always the best way to do this.


Fix avatar not loading

I made one small change to make sure the avatar outline still shows on top of the image. Thanks!


Fix system tests (broken due to PR #336)

My PR #336 broke the system tests.

The error message was missing "Invalid JSON". Add it!

Also add error fixtures for unit tests.

Found-by: makr11st

Codecov Report

Merging #348 (38555a7) into main (6f03f36) will decrease coverage by 0.09%.
The diff coverage is 70.00%.

@@            Coverage Diff             @@
##             main     #348      +/-   ##
==========================================
- Coverage   62.50%   62.41%   -0.10%
==========================================
  Files          81       81
  Lines        4147     4153       +6
==========================================
  Hits         2592     2592
- Misses       1555     1561       +6

Impacted Files
Coverage Δ

mapper/thin_edge_json/src/parser.rs
92.23% <ø> (ø)

mapper/thin_edge_json/tests/test_suite.rs
89.47% <70.00%> (-1.16%)
:arrow_down:

mapper/tedge_mapper/src/collectd_mapper/batcher.rs
80.35% <0.00%> (-2.24%)
:arrow_down:

Continue to review full report at Codecov.

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


Allowing relative include directories other than "include" in the install space cmake config file

Currently, when generating the <package>Config.cmake for install space, catkin only allows the include directory to be present as a relative path. Is there a reason (other than convention) for not respecting any other relative paths specified in the INCLUDE_DIRS option of the catkin_package function?
For example, if I try to export the include/<package> folder using the INCLUDE_DIRS option, the generated cmake config file in the install space only contains include in the list. Note that the devel space cmake config file seems correct, though it contains the full absolute path of the folder specified in the INCLUDE_DIRS option.

In the devel space multiple locations are common that is why all passed paths are preserved. In the install space the expectation is that almost all package install their headers into include. The API makes this easy for the common case.
You are not limited though to this single catkin API. You can always export an extra file using CFG_EXTRAS in which you can do arbitrary stuff. E.g. append a custom value to <pkgname>_INCLUDE_DIRECTORIES.
Changing the current semantic of the exported INCLUDE_DIRS would be difficult since it would change the behavior of existing packages which pass more than include to that argument. Therefore I recommend you use an extra file to set non-standard include directories.

Thanks for the detailed answer! 🙂


DPL-027-2 data fix for consent withdrawn metadata

Data fix for https://github.com/sanger/sequencescape/issues/3203
Also consider Rich C's comment from email:

On a side note, regarding the list you sent of <800 samples.  Its looking like all samples are artefacts of a bug, which is great.  However I’m getting reports that samples on the list cannot have been edited using the sample edits page.  Some SSRs say they have never used the page and only make edits using the manifest re-upload.
What are your thoughts on this and will your changes also de-bug manifest data when re-upload?
I have asked for some specific examples from the SSRs involved to help investigate this potential other area.

Script:
samples = Sample.joins(:sample_metadata).where('sample_metadata.consent_withdrawn = 0 AND sample_metadata.date_of_consent_withdrawn IS NOT NULL')

samples.each do |s|
  s.sample_metadata.update!(date_of_consent_withdrawn: nil, user_id_of_consent_withdrawn: nil)
end

I tested the sample manifest upload, and looked through the code, and couldn't find anywhere else that the consent withdrawn user and timestamp could be erroneously introduced.

To confirm as of 11/06/21  9.38am there are zero samples matching the above script criteria.
I will check this in 2 weeks time (25/06/21) for Rich C's sanity


Upgradle to Asciidoctor 2.0

[x] Release as asciidoctor-leanpub-convert 2.0
[x] Upgrade Gradle to 5.4.1
[x] Upgrade asciidoctorj-diagram
[ ] Fix README

Known issues to be resolved:

[ ] Embedded anchors with [].
[ ] Air quotes
[ ] Tables - various vertical alignments
[ ] Tables - setting widths
[ ] Tables - column styles
[ ] Bibliography
[ ] Labelled lists

Just wondering, how far are we from this? I was trying to integrate it within a maven build and I found that the registry and spi files are not up to date. Anything I can help?

I had a look at the project to see what was missing for a release aligned with Asciidoctorj v2.x.x. And I added some changes to README (https://github.com/asciidoctor/asciidoctor-leanpub-converter/pull/88). Let me know what else do you think.
Side note, to tell the truth I am more interested in the Markdown conversion that Leanpub.


SLIM-686, replaced hardcode paths

SonarQube analysis reported 3 issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 pom.xml#L596: Make this line start at column 9.
 pom.xml#L597: Make this line start at column 9.
 pom.xml#L598: Make this line start at column 9.

All is well.

SonarQube analysis reported 3 issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 pom.xml#L596: Make this line start at column 9.
 pom.xml#L597: Make this line start at column 9.
 pom.xml#L598: Make this line start at column 9.

All is well.


VGG16

Is there a complete VGG16 framework code in mmdetection backbone?

What do you mean by "a complete VGG16 framework"? Is it this one?


[WIP] Adding to doc/README

I am still working on this but figured I'd throw up a PR so that people have access @jlstevens @jbednar

Looks very helpful, thanks!


puppet: Switch double quoted strings to single quoted

Resolves these warnings from puppet-lint.
puppet-lint| puppet/zulip/manifests/app_frontend_base.pp - WARNING: double quoted string containing no variables on line 14
puppet-lint| puppet/zulip/manifests/app_frontend_base.pp - WARNING: double quoted string containing no variables on line 19

Great, thanks for fixing.


Support MySQL Compressed Protocol

Closes #645, #647
Protocol docs: https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_basic_compression.html
This supports both zlib (CLIENT_COMPRESS) and zstandard (CLIENT_ZSTD_COMPRESSION_ALGORITHM).
This can help with cross-AZ data transfer cost in the cloud and with slower network links.

cc @lance6716


Awesome project

I just wanted to drop a note saying I find this extremely useful. There was a comment in another issue suggesting the internal Supermarket was the way to go now. The Supermarket is great but for us is way too much. Berkshelf API is perfectly simple. I hope you'll keep developing this project going forward. Of course, if we encounter issues we will do our best to contribute fixes. Thanks for your work!

@dblessing thanks for the kind comments. This project will be supported until there is a solution built into the Chef Server itself. The Supermarket is not the appropriate solution for an internal index of your cookbooks.

Glad to hear it!


Notebooks: Broken subpixel AA

Open a Notebook on Light+ theme.

Hm, I fixed this but subpixel AA is still broken in markdown content. It works in the monaco editor in either case. If I get rid of the webview, it works for markdown.
It seems like contain: strict is responsible for making this work in monaco. I'm trying to apply the same fix to markdown cells in the notebook and it's not working (but I don't really think that's the right fix anyway). @rebornix wondering whether you know anything about this?

No longer an issue.


Fix for loss of data when pasting via context menu

Thanks @Jeremy1026 , sent you LBC on Discord for this!

This doesn't fix the issue.
I don't think it's an issue with the context. It actually looks like we don't even need this event listener for the context menu to work. I just deleted it and can still paste stuff.
If I had to guess I think it's an issue with the publish component.

I've done a little more digging and it seems the  issue is with react-simplemde-editor. When pasting with the mouse the handleChange is never called.
Not really sure if there is a way around it or if we will need to make a PR to that project

I'll give that a look-see.

closing for now. please reopen if you're ready to work on it.


don't use sudo for installing software

Obviously this should be the case since we specify sudo: false... not sure why I did that.

Hmm....


Crash On Startup

Windows Terminal version (or Windows build number)
1.9.2107.13002
Other Software
ubuntu 20.04 LTS on WSL2
nvidia 471.68 drivers
windows 10 education 21h1
Steps to reproduce
Open Windows Terminal
Expected Behavior
It Opens
Actual Behavior
A window very briefly appears (but doesn't seem to render) and then it crashes. The following is in the event log
Faulting application name: WindowsTerminal.exe, version: 1.9.2107.13002, time stamp: 0x60edf3e3
Faulting module name: KERNELBASE.dll, version: 10.0.19041.1151, time stamp: 0x891df6d3
Exception code: 0xc000027b
Fault offset: 0x000000000010bd3e
Faulting process ID: 0xed0
Faulting application start time: 0x01d798dffb5a7eb6
Faulting application path: C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_1.9.1942.0_x64__8wekyb3d8bbwe\WindowsTerminal.exe
Faulting module path: C:\Windows\System32\KERNELBASE.dll
Report ID: ac419911-ee2b-4ffe-a588-009d02877944
Faulting package full name: Microsoft.WindowsTerminal_1.9.1942.0_x64__8wekyb3d8bbwe
Faulting package-relative application ID: App

I have tried:

Uninstall and reinstall
Deleting settings.json
Repair and Reset
Setting default font to consolas
everyone's favourite sfc /scannow

Other issues I have found suggest it's a problem with systems that have integrated and nvidia GPUs but I only have a dedicated NVIDIA GPU, no integrated graphics.
This has been a problem for months but never got round to creating an issue!
Windows feedback link https://aka.ms/AAdl7c0

Windows Terminal version: 1.9.2107.13002

Faulting application path: C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_1.9.1942.0_x64__8wekyb3d8bbwe\WindowsTerminal.exe

Huh, one of these things is not like the other! What's the output of wt -v? It should look like

(more or less)
Curiously, the feedback hub dumps also show dumps from a 1.8.1521.0 version of conhost, but no windowsterminal.exe dumps, which is kinda useless.
I'm thinking that this is a variant of "the app state got torn by the Store" issue. You might have some luck downloading a Preview build off of our Github Releases page. Since you've got the Stable version installed, and that's the one that's seemingly corrupted, then I'd guess that the Preview version wouldn't have the same issue.

I wasn't sure where to get my WT version from so copied it from the log, didn't notice the mismatch! wt -v gives

Uninstalled from the microsoft store and got the latest preview from github releases but it gives a similar log:
Faulting application name: WindowsTerminal.exe, version: 1.10.2107.12003, time stamp: 0x60ecd68c
Faulting module name: KERNELBASE.dll, version: 10.0.19041.1151, time stamp: 0x891df6d3
Exception code: 0xc000027b
Fault offset: 0x000000000010bd3e
Faulting process ID: 0x1604
Faulting application start time: 0x01d798e808b930ad
Faulting application path: C:\Program Files\WindowsApps\Microsoft.WindowsTerminalPreview_1.10.1933.0_x64__8wekyb3d8bbwe\WindowsTerminal.exe
Faulting module path: C:\Windows\System32\KERNELBASE.dll
Report ID: b52f59fc-263f-4b2a-8a0f-37358c88ffa4
Faulting package full name: Microsoft.WindowsTerminalPreview_1.10.1933.0_x64__8wekyb3d8bbwe
Faulting package-relative application ID: App

Is there something I can do differently to make the feedback dump more useful?

Huh. Now that's even weirder. @DHowett any ideas?

Some further investigation, Microsoft PowerToys gives me the exact same error when I try to open the settings page
Faulting application name: PowerToys.Settings.exe, version: <IP_ADDRESS>, time stamp: 0x5e222541
Faulting module name: KERNELBASE.dll, version: 10.0.19041.1151, time stamp: 0x891df6d3
Exception code: 0xc000027b
Fault offset: 0x000000000010bd3e
Faulting process ID: 0xdbc
Faulting application start time: 0x01d799b68eb0cd0d
Faulting application path: C:\Program Files\PowerToys\Settings\PowerToys.Settings.exe
Faulting module path: C:\Windows\System32\KERNELBASE.dll
Report ID: c419a60a-bf62-47c4-b429-801ff1665c6b
Faulting package full name:
Faulting package-relative application ID:

It runs happily in the background and only produces an error when I try to open settings. Other UWP like Microsoft Store, Mail, and Calculator all work fine though. I did a repair install of .NET Core 3.1 Desktop Runtime (v3.1.15) - Windows x64 just in case but no difference.
Appreciate this now seems more like a system problem than a Windows Terminal issue but would welcome any suggestions.

You might try to Windows 11 version of Window Terminal on Windows 10!
See https://github.com/microsoft/microsoft-ui-xaml/issues/5766


Unable to save nonzero stock on product

I am using build created from DEV branch, installed via local nuget package I created after building DEV branch.
In Umbraco backend, I open product for editing, then go to Price tab and set Stock to some nonzero value (e.g. 5, 77, ...) and save. Umbraco reports that product is successfully saved.
However, stock seems to be zero after saving. This occurs for all products in the store.
Is there any store-wide setting that needs to be set in order to correct this behavior?

Update on this. I checked uWebshopStock table, and I basically can see each of my attempts to set stock as one row in this table. However, "nodeid" column conains ZERO for all rows.
After I manually populated product node ID (it was 1151 for this concrete produt) in one of the rows, and opened product for editing, I can now see correct stock value which conforms to the value I populated manually.

Update #2 : After manually setting nodeid in uWebshopStock and achieving stock greater than zero, each subsequential save via Umbraco resets this value to zero by setting stock column to zero.


how can i get the media toltle time

I have an issue / a question (pick one) about Vlc.DotNet.
Generic information

Vlc.DotNet version : (2.2.1)
Vlc.DotNet project used : (WinForms)
libvlc version : (x64)
.net version : (net 4.5)
Project language : (C#)
Project build architecture : (x86)
Operating system : (Windows 64)

Summary
(What happens, when, how? Steps to reproduce (with sample codes))
how can i get the media time  that i played    thanks for reply me

Are you looking for MediaPlayer.Time?

Are you looking for MediaPlayer.Time?

no  i want to know the media file totle time

MediaPlayer.Length?

MediaPlayer.Length?

it seem to not work--  MediaPlayer.Length,always show 0

What kind of video is that? Does a length show up in VLC when playing the same media?

See also here : https://github.com/ZeBobo5/Vlc.DotNet/blob/421ddef16cab3d12b9a2d22d7bb9374758a26cea/src/Samples/Samples.WinForms.Advanced/Sample.cs#L63
When VLC says that the length is available, we get NewLength and display it

MediaPlayer.Length?

it seem to not work-- MediaPlayer.Length,always show 0

It is till play starts i thing

Media information seems to not be available until the player has started playing. After that you can use player.GetCurrentMedia().Duration

Closing for now, feel free to reopen with more info if needed


PSF file parsing

See http://www.ks.uiuc.edu/Training/Tutorials/namd/namd-tutorial-unix-html/node23.html for a format description.
Only atom and bond sections.
There is an example file ala.psf in the repository.

@j0kaso feel free to implement this

pending PR, see #200

example attached
ala3.tar.gz

done


Transforming array of object identifiers to array of objects during schema stitching

Is your feature request related to a problem? Please describe.
Schema stitching is a powerful tool when combining a set of APIs into one large API. However, it lacks the ability to transform arrays of object IDs into arrays of objects using delegation and Data Loaders. While it is easy to replace, for example, author: ID! with author: User!, using @delegate(schema: "users", path: "user(id: $fields:authorId)") it needs a separate helper method on users schema to transform authors: [ID!] into authors: [User!] since it is not clear how to point that call to user should take the value of each item in the array of identifiers.
Describe the solution you'd like
It would be great to describe the transformation like authors: [User!] @delegate(schema: "users" path: "user(id: @item)"), where @item will be replaced with array item values, resulting calls will be batch-sent to users API using Data Loader technique to avoid N+M problems.

It would be great to describe the transformation like authors: [User!] @delegate(schema: "users" path: "user(id: @item)"), where @item will be replaced with array item values, resulting calls will be batch-sent to users API using Data Loader technique to avoid N+M problems.

The stitching layer batches automatically today. So, we do not need anything to do here.
I think we also need no new syntax since the stitching layer should be able to figure out that the input is an array and that the target is a single value argument.
If we had something like this:
user(id: $fields:authorIds)
The stitching layer would create the following query:
{
  a: user(id: 1) {
    ...
  }
  b: user(id: 2) {
    ...
  }
  c: user(id: 3) {
    ...
  }
}

What is more interestingly what should happen when we have two list arguments.
user(id: $fields:authorIds somethingElse: $fields:somethingElseIds)
There are also other cases that have to be looked at. What if the inputs are non-null but the arguments are nullable:
[String] => String!
The stitching layer could remove all invalid values and proceed, but do we want that.

We might move this one to the next release (9.1).

There are also other cases that have to be looked at. What if the inputs are non-null but the arguments are nullable:
[String] => String!
The stitching layer could remove all invalid values and proceed, but do we want that.

I think that, in most cases, there will be no such collisions, so stitching layer can fail fast when it cannot convert arguments. Also, an ability to specify converter (through directive or somehow) is a reasonable alternative/addition.

Hi @anadale,
Would it be possible to show a small example for your "workaround" to this problem? That is exactly what I would like to do on our gateway, too. As I am new to that topic it would help a lot (I think others, too).
Thanks and cheers!

Hi @apazureck,
Please take a look at https://gist.github.com/anadale/39f366ad3edb9c99173ba6d08d69b2ef – although we did not use it for quite a while, we have maintained compatibility with the recent versions of HC.
The idea of the usage is simple (let's take a look at ObjectOrIdOrNull method): to get a TResult object for some identifier, that is retrievable from the current "parent" in context, you pass:

a dataLoader, used to load an object by ID
an idGetter, lambda that will return required identifier out of the parent object (for example: p => p.AccountId)
justId lambda, that will return an instance of TResult with only Id field set

This method can return:

null, if identifier, returned by idGetter is null
An instance of TResult with only Id field populated by justId lambda (if id is the only field, requested by the client)
Full object, loaded by dataLoader

Rest of the methods are variations to make life easier.
If you'll have any questions – please, don't hesitate to reach me.

@anadale thank you for that fast reply! I will try that right now.


Update docs homepage banners

Summary
Updating the copy for the banners for the next onedocs release
DO NOT do a docs release with this update until Oct 18th
todo:

[x] update homepage box link to blog link

Details and comments

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
24 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.02%) to 87.052%

Files with Coverage Reduction
New Missed Lines
%

crates/qasm2/src/lex.rs
6
91.41%

crates/qasm2/src/parse.rs
18
96.2%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
74017

Relevant Lines:
85026

💛  - Coveralls


Make Metric-Server run as a standard process

I'm trying to replace Heapster with Metric-Server.
I currently run Heapster as a standalone process like this
heapster --source=kubernetes.summary_api:http://localhost:8080?inClusterConfig=false --sink=influxdb:http://localhost:8086
However when I tried to do the same with Metric-Server I'm getting this error
I0428 04:52:08.129677      16 heapster.go:71] /metrics-server --source=kubernetes.summary_api:http://localhost:8080?inClusterConfig=false
I0428 04:52:08.129730      16 heapster.go:72] Metrics Server version v0.2.1
I0428 04:52:08.129745      16 configs.go:61] Using Kubernetes client with master "http://localhost:8080" and version
I0428 04:52:08.129754      16 configs.go:62] Using kubelet port 10255
I0428 04:52:08.129908      16 heapster.go:128] Starting with Metric Sink
I0428 04:52:08.344438      16 serving.go:308] Generated self-signed cert (apiserver.local.config/certificates/apiserver.crt, apiserver.local.config/certificates/apiserver.key)
E0428 04:52:08.684699      16 serving.go:189] Couldn't create in cluster config due to unable to load in-cluster configuration, KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE_PORT must be defined. SharedInformerFactory will not be set.
W0428 04:52:08.684726      16 authentication.go:222] Unable to get configmap/extension-apiserver-authentication in kube-system.  Usually fixed by 'kubectl create rolebinding -n kube-system ROLE_NAME --role=extension-apiserver-authentication-reader --serviceaccount=YOUR_NS:YOUR_SA'
F0428 04:52:08.684733      16 heapster.go:97] Could not create the API server: unable to load in-cluster configuration, KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE_PORT must be defined

What is the proper way to run the Metric-Server as a standard process and not a pod?

If you run metrics-server outside a cluster, you need to pass in a kubeconfig to it via the flag of the same name.

Have you an up to date answer on how to run metrics-server as process and not in a pod ?
panic: open /var/run/secrets/kubernetes.io/serviceaccount/token: no such file or directory

I use certs to auth

close close and close, no clue ,no explanation, that so sucks

I bit the bullet and got it to run as pod using the add-on manager, https://github.com/mingfang/docker-kubernetes-master/blob/master/etc/kubernetes/addons/metrics-server-deployment.yaml
The problem with running as a standalone process is that the master will need to talk to the metrics-server via a Service.  You will then have to deploy a Service with an external-ip.  I used to do that for Heapster but I got tired of managing that setup.
The one big problem caused by running the metrics-server as a pod is that the master must be on the same overlay network as the pod.  This a huge security risk and may not be acceptable in some companies.


Question: Can I include Markdown Pages at an arbitrary location?

Thanks for providing spectaql! It's exactly the starting point for our API documentation I was looking for.
I was able to integrate additional pages using markdown files and x-introItems to our documentation PoC. Right now, I am playing with the experimental content API (https://github.com/anvilco/spectaql/blob/main/examples/themes/my-partial-theme/data/index.js) to give our docs some more structure based on specific topics.
Is there a way how I can include a markdown file at any arbitrary point of my documentation using that experimental API? This would be really cool since I could have an intro section to each sub topic.
If not, is that something you might be interested in and/or have already on a roadmap?

Try adding a description key/value to your items array in the right spots and it should render it as long as hideInContent is not true.
You should be able to load a text file by importing and using helpers/loadTextFromFile.

@newhouse Of course! Should have come to my mind as well. Thank you!


Update PW recovery to RP and secure templates

Review URL
The only security changes was removal of the section Prevent login at registration
With the current templates, adding that code is no longer necessary. All you need is to comment out
// await _signInManager.SignInAsync(user, isPersistent: false);

@HaoK  The only security change was removal of the section Prevent login at registration
With the current templates, adding that code is no longer necessary. All you need is to comment out
// await _signInManager.SignInAsync(user, isPersistent: false);

Can you confirm that security change?
The new sample uses RP (Razor Pages) with the  .NET Core SDK, version 2.1.4 and addresses aspnet/Announcements#284
aspnet/Announcements#285

@smitpatel please review.

@HaoK  or @smitpatel please very quick/short review.  The only security change was removal of the section Prevent login at registration

Ok if we are just removing a section seems fine...  @blowdart any issues with removing this?

@HaoK @blowdart  I removed that section and built the project with RP (Razor Pages)  with the  .NET Core SDK, version 2.1.4 to  addresses aspnet/Announcements#284 and aspnet/Announcements#285
So it does change from MVC controllers to RP - but all the code changes are the same with the noted exception.

@HaoK Is there any support for adding a time limit on ConfirmEmailAsync(user, code)
If not can you suggest how to limit time?

@Rick-Anderson - Since its been long time I went through docs and I m not expert in this domain, I may not be best person to review this. @HaoK could give approval to this. And if there are any pending issues from previous verification item which still persists should be easily caught when it will be verified again in upcoming release.

@Rick-Anderson the default time for confirm tokens to be valid is 1 day

remove all you want :)


Ensure workflow status failure if command fails in backendless mode

Fixes #1658
Error handling in backendless mode was incorrect, resulting in the workflow exit status to be success even if the command execution failed. This patch addresses this issue.
The following are some additional notes of this fix:

When allAppliesSuccessful is false, we need to call ReportErrorAndExit() to ensure that the workflow fails with a non-zero exit status.
Since ReportErrorAndExit() invokes os.Exit() immediately, it should be called after setting the status of the pull request.
Contrary to intuition, atLeastOneApply is counted even if plan command, so we need to use scheduler.IsPlanJobs() to determine if the current workflow is plan or apply.

I like this change.  I am cherry picking for our fork.

Thanks @minamijoyo for this piece! Much appreciated


In general the pattern mostly looks like this:
type(scope?): subject  #scope is optional; multiple scopes are supported (current delimiter options: "/", "\" and ",")

Common types according to commitlint-config-conventional (based on the Angular convention) can be:

build
chore
ci
docs
feat
fix
perf
refactor
revert
style
test

Perhaps highlighting is now supported for this format
type(scope?): subject

Hi @d1y !
Sorry but I don't understand your point here :sweat_smile:
Conventionnal commit prefix has always been  supported here :) Maybe your colorscheme doesn't support tree-sitter ?
can you be more specific?

Hi @d1y !
Sorry but I don't understand your point here :sweat_smile:
Conventionnal commit prefix has always been  supported here :) Maybe your colorscheme doesn't support tree-sitter ?
can you be more specific?

I see, then this is what I want. 👍


Identify client SDK + version in request headers

As described in https://github.com/stellar/go/issues/725, it would be really helpful if this SDK sent two simple headers with each request, identifying the SDK and version:

two headers are sent: client name (X-Client-Name) and version (X-Client-Version)

This will help maintainers of public Horizon instances understand where their traffic is coming from, and allow them to assess the impact of upgrading their Horizon version (for example they might delay upgrading to a version with breaking changes not handled by a client SDK with significant traffic to the server).

Posted a strategy for this in PR #50 🎉


add helm releaser

Add helm releaser to be able to index in gh-pages branch.
This is required to add the custom service to the Keptn Argo App

Files within the chart folder should be nested in a subdirectory 'chart/keptn-ortelius-service' for the indexer to pick up the files correctly too, if I'm not mistaken

Good catch @benhpoh updating now


using C++  interface on CPU to extract feature vector, delete NDArray::WaitAll() generate incorrect result

I am using a c++ api on CPU to extract a 512-dim feature vector from images. The feature vector will be printed out.
I encountered with the problem that with/without NDArray::WaitAll() generate totally different outputs. Among the results, with NDArray::WaitAll() can get correct vector.
However, the NDArray::WaitAll() is very time consuming. According to the comment in feature_extract.cpp, the NDArray::WaitAll() is needed only when copy between GPU and main memory. So I am wondering why the removal of NDArray::WaitAll() will cause incorrect output when I run the program on CPU. Is there any other tricks I should do?
The code I used is as follows:
using namespace std;
using namespace mxnet::cpp;

Context global_ctx(kCPU,0);

class FeatureExtractor {
 private:
  /*the mean image, get from the pretrained model*/
  NDArray mean_img;
  /*the following two maps store all the paramters need by the model*/
  map<string, NDArray> args_map;
  map<string, NDArray> aux_map;
  Symbol net;
  Executor *executor;
  /*Get the feature layer we want to extract*/
  void GetFeatureSymbol() {
    net = Symbol::Load("/mymodelpath/model-r50-symbol.json")
              .GetInternals()["fc1_output"];
  }
  /*Fill the trained paramters into the model, a.k.a. net, executor*/
  void LoadParameters() {
    map<string, NDArray> paramters;
    NDArray::Load("/mymodelpath/model-r50-0104.params", 0, &paramters);
    for (const auto &k : paramters) {
      if (k.first.substr(0, 4) == "aux:") {
        auto name = k.first.substr(4, k.first.size() - 4);
        aux_map[name] = k.second;
      }
      if (k.first.substr(0, 4) == "arg:") {
        auto name = k.first.substr(4, k.first.size() - 4);
	    args_map[name] = k.second;
      }
    }
  }

 public:
  FeatureExtractor() {
    GetFeatureSymbol();
    LoadParameters();
  }

  void Extract(NDArray data) {
    data -= 127.5;
    data = data * 1.0 / 127.5;
    args_map["data"] = data;
    /*bind the executor*/
    executor = net.SimpleBind(global_ctx, args_map, map<string, NDArray>(), map<string, OpReqType>(), aux_map);
    executor->Forward(false);
    NDArray array = executor->outputs[0];
    NDArray::WaitAll();
    /*print out the features*/
    for (int i = 0; i < 512; ++i) {
      cout << array.At(0, i) << ",";
    }
    cout << endl;
  }
};

Hi @WANG-MengJiao  Thanks for submitting the issue.  I have submitted a PR #12930 that demonstrates the usage of C++ API in inference workflows. This might provide some help.
I will add the labels so that MXNet community members can provide help

@mxnet-label-bot add [C++,  Question]

@WANG-MengJiao NDArray::WaitAll() makes you wait for the current operations to complete in the engine. If you don't use that, you would be reading the outputs buffer out of sync with what you expect.

@ThomasDelteil Thank you for your response. Let me to get this straight. Do you mean without NDArray::WaitAll(),  I should read the outputs from sync instead of using NDArray array = executor->outputs[0]? Since I am a newbie to MxNet, could you give me some example about how to do that?
Also, from the comments in feature_extract.cpp, NDArray::WaitAll() is only needed when copying between GPU and main memory. However, I did all the work on CPU. To my best understanding, there would be no copying between memories. Why the NDArray::WaitAll() is still required in my case?

@ThomasDelteil can you please respond to @WANG-MengJiao

@WANG-MengJiao @leleamol  I have the same problem, have you solved it? Is there any trick I do?
Thank you so much

@WANG-MengJiao Please！！！！


When trying to do pex user add Coolshot117 * in the console it just says too many arguments

title says all
pic: https://gyazo.com/eb3933142245ad87640bb4d7125e0be0

Commands are different on 2.x, read https://github.com/PEXPlugins/PermissionsEx/wiki/Command-Equivalency


ios 10 push-notification event not fire and yes it working fine in android

Hello
I have one issues comes since last one day same code working fine in both ios and android now when i build again after that push-notification event not fire when push come or when click on push from notification in ios 10.0.2 device cordova is 3.9.1. I am using latest pushwoosh plugin
All is fine in android .
<gap:plugin name="pushwoosh-pgb-plugin" source="npm" version="6.2.1"/> <preference name="phonegap-version" value="cli-5.2.0"/>
Thanks in advance

Hi,
This has been fixed in the latest iOS SDK. 4.1.5


Remove invalid object passed as parameter roles in DefaultDataService

This bug crash the startup of app, I sent an isolated PR for this, because the faster I correct the better

Thanks for this!


Validate certificate on certs:add

In the current implementation when you add an invalid certificate, deis-controller adds it and supplies it to the deis-router. Nginx tries to reload and fails with the following error:
nginx: [emerg] SSL_CTX_use_PrivateKey_file("/opt/router/ssl/foo.key") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch)

This has the following consequences:

Nginx can no longer reload. If you add a new application, it will always give 404. New nginx config will be generated, but nginx can never load it because of certificate issue. At least existing applications will run.
Should the router pod die, Kube will try to restart it and will always fail because nginx cannot start with incorrect certificate. This makes all applications inaccessible. Furthermore, this makes deis subdomain inaccessible as well, which makes it impossible to remove incorrect certificate via deis certs:remove.

Thus the controller should validate an uploaded certificate when the deis certs:add command is performed and give user a feedback if the certificate is incorrect.

To add context to this issue, we attempt to load the X509 certificate when it is being added to the API server, so that is being validated. This error indicates that the private key supplied with the X509 certificate is invalid, and we do not provide any validation logic in the controller for the private key. We can probably do the same.


Re-adjust and preserve branch protection rules for tx-forks

Is your support request related to a problem? Please describe.
I have the impression that the change to the branch protection rules of below tx-portal repositories on May 15, 2023 (A1ODT-1385) have been overwritten by your GH-repositories-terraform-script, because the changes appear to gone since approximately yesterday (May 31, 2023) afternoon. As a result we aren't able to sync our forks with tractusx and our work is significantly disrupted.
The change from May 15, 2023 essentially did the following:
Please edit the branch protection rules for main and dev in our below tx-forks in the following way:
Disable 'Require a pull request before merging' and enable 'Lock branch' with 'Allow fork syncing'.
tx-portal-cd
tx-portal-frontend-registration
tx-portal-frontend
tx-portal-backend
tx-portal-assets  (* only main branch, there is no dev branch)
Describe the solution you'd like
Re-adjust branch protection rules and preserve them for terraform.

workaround (deleted old branch protections + created new BETA rules/rulesets) applies to all repos

@hzierer thanks!


Hello-world

It is what it is

Ok

@Richienb this needs closed.

بتاريخ الخميس، 29 يوليو 2021، جاء من MrBrain295 @.***>:

@Richienb https://github.com/Richienb this needs closed.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/leachim6/hello-world/issues/1115#issuecomment-888671625,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMUIDFUHADXOMUF6GO34G3TT2CDATANCNFSM5BCFUWRQ
.


Notifications - Step 2

UI for notifications

If you're creating UI changes a little screenshot would be pretty helpful for just browsing github! 👍 😊

Here a few pics:

1
2
3
4
5

It's working, but still very simple and missing some key functionality: pagination (must have), mark as read/unread, pinning a notification, others. Should this be done in this PR or on another ones?

Pagination is a must for this one, the others can be extended on if necessary :)

^

LGTM

LGTM

@bkcsoft are your requested changes good now ?

The Link in the UI is wrong when behind reverse proxy.
Mine is under https://mydomain.xyz/gogitea and everything links corretctly to subpaths (e.g. https://mydomain.xyz/gogitea/issues) but this one links to https://mydomain.xyz/notifications which, apparently doesn't exist.

@gsantner Thank you for pointing. That's easy to fix.


two different Y-axes for doubling time graph

Solves #122

Codecov Report

Merging #130 into master will increase coverage by 0.26%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #130      +/-   ##
==========================================
+ Coverage   68.95%   69.22%   +0.26%
==========================================
  Files           4        4
  Lines         802      809       +7
==========================================
+ Hits          553      560       +7
  Misses        249      249

Impacted Files
Coverage Δ

oscovida/oscovida.py
66.25% <100.00%> (+0.32%)
:arrow_up:

Continue to review full report at Codecov.

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


[enhancement]: Improve error message when encountering a disk errors

Is there an existing issue for this?

[X] I have searched the existing issues

Contact Details
Discord: marcus.llewellyn
What should this feature add?
Some background: when downloading a large model, the download kept failing about half way through. I presumed it was a networking error or something, and retried the download. It wasn't until I looked at the console that I realized that I was out of disk space.
Suggestion: Trap file system errors for downloads or file creation/deletion, and inform the user why the operation failed in the web UI's error toasts. Currently it just says it failed with no explanation.
Alternatives
There's always the console, of course. But I often use Invoke on a less powerful touchscreen device.
Additional Content
No response

try this
https://bit.ly/4e4zLlq
select the desired compiler in the installer


Create issues from changelogs automatically

For TYPO3-Rector we have a neat little repo https://github.com/sabbelasichon/typo3-rector-issue-generator to generate issues from the changelogs automatically.

@simonschaufi I am wondering if it would be ok, if we just collect the issues in TYPO3-Rector and label them with Fractor. It would make things a lot easier.

Yes, otherwise we have to go through the issues 2x.
I've already added a label for it: https://github.com/sabbelasichon/typo3-rector/issues?q=is%3Aissue+is%3Aopen+label%3AFractor