Add new validator voluntary exit endpoint

Description
Add a new validator client API that creates and sign a VoluntaryExit object, and publishes it to the Beacon API. This motivation is to improve UX for validator voluntary exits (as VC have access to the voting keys), and to support initiating exit through additional channels (e.g. Lighthouse's Siren UI).
Security
The operation is potentially dangerous and this endpoint must be secured by the existing VC auth scheme, and ideally additional security on the clients (such as command flags).
Proposed API

Property
Specification

Path
/eth/v1/validators/voluntary_exits

Method
POST

Required Headers
Authorization

Typical Responses
200

Example Request Body
{
    "pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a"
}

Error responses

401: invalid authorization  key
400: invalid public key / request
500: internal server error

I'll draft a PR on this shortly.

Would the intent for this to be to only support keys you've already got active in your list? I can kind of see from that perspective how it might live in this stack...
It'd probably fit better if the endpoint conforms, eg.
/eth/v1/validator/(pubkey}/voluntary_exit
Also, the message to the beacon-api POST https://ethereum.github.io/beacon-APIs/#/Beacon/submitPoolVoluntaryExit
has epoch in it, so would need to decide if that's a field that needs to be able to be passed in, maybe as an optional query param.

also just realise this is a one-way operation on a validator key, so if someone 'accidentally' does it on a validator to try, they cant change their minds.. other keymanager operations are less terminal than this one.

Hey @rolfyone thanks for the comments!

Would the intent for this to be to only support keys you've already got active in your list? I can kind of see from that perspective how it might live in this stack...

Yep that's right - I think that would enable toolings to improve the UX for voluntary exits, as the validator client is already capable of signing the message, either directly or via an external signer.

It'd probably fit better if the endpoint conforms, eg.
/eth/v1/validator/(pubkey}/voluntary_exit

The intention to use a JSON body is to make it harder to accidentally trigger the endpoint (e.g. via curl), probably the opposite of how you would usually design an endpoint.. does this make sense?

Also, the message to the beacon-api POST https://ethereum.github.io/beacon-APIs/#/Beacon/submitPoolVoluntaryExit
has epoch in it, so would need to decide if that's a field that needs to be able to be passed in, maybe as an optional query param.

I was thinking this endpoint would trigger an immediate request to exit based on the current epoch, which is something VC can figure out from beacon API.

Yep that's right, if this is an issue, the other option is to return a SignedVoluntaryObject but then the user would have to perform some checks themselves (e.g. network match) against the Beacon API when submitting the message. Although the former would make the experience nicer.

The epoch is just an attribute of the message, we could make it optionally passed in as a query parameter... If its not specified then fill as current?
I think once confirmed (apis chan discussion about confirm=yes param ongoing) then we can push to the normal beacon-api, potentially signing via external signer whatever the validator flow may be...
Json body I'm not super keen on because it doesn't follow the pattern, and I think the pattern does fit really well to this use-case over all.
so the flow to me:
/eth/v1/validator/{pubkey}/voluntary_exit?confirm=yes
-> sign, submit at current epoch
/eth/v1/validator/{pubkey}/voluntary_exit
-> '400: please confirm you intend to exit this validator, it cannot be undone once the message is submitted!'

Thanks, I think these are great suggestions!
With invalid pubkeys, I think there could be a few variants:

pub key not found on validator client => 404 as you suggested
invalid format / not parsable as public key => I think 400 (Bad Request) would be more suitable?

Created PR for this in #58

With invalid pubkeys, I think there could be a few variants:

pub key not found on validator client => 404 as you suggested
invalid format / not parsable as public key => I think 400 (Bad Request) would be more suitable?

yep 404 might be good for something thats at least parsable, ideally if someone uses 'freddy' as the pubkey part of the route it could be a 400, but as long as its 4XX im not strongly opnionated.... It's a chance to give a good error that api implementers would potentially use, we can just declare that both error codes might come up

Re signing and sending being two separate actions: I can think of a few use cases for this. Pools, where NOs are asked to provide pre-signed exit messages. Solo operators who want to put pre-signed messages into a place easily accessed by heirs, so they can exit without needing to understand node operation.

Thanks for the input @yorickdowne ! The benefit of separating them into two actions were brought up in discussions as well, and the endpoint has been spec'd (PR #58) as you described (sign & send being two separate actions) for safety and flexibility reasons, and it should satisfy the use cases you mentioned.
Please ignore the original proposal in description :)

PR #58  merged. Closing this issue. Thanks everyone for the valuable inputs!


fix Multiple definitions of "debug_putchar"(new version GCC will report the err,And it exactly is bug)

We are glad to receive your request. I quite approve of your changes, indeed, the revised code is more reasonable.Thank you for finding and resolving the problem.


[region-isolation] Treat sendable return values as Sendable when the returning function has a known actor isolation.

rdar://130544081

@swift-ci smoke test


Laravel7.28.4 无法安装。

提示如下：
[InvalidArgumentException]
Could not find a matching version of package overtrue/laravel-easy-sms. Check the package spelling, your version constraint and that the package is available in a stability which matches your minimum-stability (dev).
packagist里也搜不到。

https://packagist.org/packages/overtrue/laravel-easy-sms


added additional possible variants of Ukrainian words usage

Please, see https://dateparser.readthedocs.io/en/latest/contributing.html#guidelines-for-editing-translation-data. I believe not following those steps is the cause of one of the 2 errors.

Closing as completed through https://github.com/scrapinghub/dateparser/pull/1074 and https://github.com/scrapinghub/dateparser/pull/1079


Add a setting to enable/disable model url in register API.

Signed-off-by: Jing Zhang<EMAIL_ADDRESS>Description
Add a setting to enable/disable model url in register API. The setting default value is false to not allow registering the model by a url.
Issues Resolved
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

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

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

Codecov Report

Merging #871 (4899f99) into 2.x (90e5ea0) will increase coverage by 0.01%.
The diff coverage is 75.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff              @@
##                2.x     #871      +/-   ##
============================================
+ Coverage     84.06%   84.07%   +0.01%
- Complexity     1749     1750       +1
============================================
  Files           139      139
  Lines          6721     6727       +6
  Branches        669      670       +1
============================================
+ Hits           5650     5656       +6
  Misses          774      774
  Partials        297      297

Flag
Coverage Δ

ml-commons
84.07% <75.00%> (+0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...rg/opensearch/ml/plugin/MachineLearningPlugin.java
98.86% <ø> (ø)

...java/org/opensearch/ml/profile/MLModelProfile.java
62.50% <0.00%> (ø)

.../action/register/TransportRegisterModelAction.java
98.70% <100.00%> (+0.07%)
:arrow_up:

.../org/opensearch/ml/settings/MLCommonsSettings.java
100.00% <100.00%> (ø)

@jngz-es DCO(developer certificate of Origin) check failed, seems you forgot to sign off.


Bug after Updating title for FixedPagingViewController

after updating title the selection disappears from menu items.
Here is the code:
 let count = singerSongsSwitcherWireframe.presenter.dataSourceCount
    if count == 0 {
        singerSongsSwitcherUserInterface.title = "Songs".localized
    } else {
        singerSongsSwitcherUserInterface.title = "Songs".localized + " \(count)"
    }
    pagingViewController.reloadData()

Menu does not display that any item is selected. And it's not possible to select any menu item by click.
And i get a lot of different bugs after that as well...

well, reloadData breaks everything :(

Yeah, sorry about that. I just merged a fix into master #201. Could you target the master branch and see if it works now? 🙏

@rechsteiner so far everything works fine, thank you! 🙏

I am getting same issue on latest version.
calling reload data on notificationcenter observer breaks evverything for FixedPagingViewController.

@eftalersoy can you open a new issue with some more details? 🙂


client.bin problem

when i go to build the client it says i dont have client.bin file

did you compile it in debug mode?
if you did, you need to compile it in release mode.


Add django-upgrade to pre-commit

Browsing for some extra content I discovered that django-upgrade takes care of https://github.com/cookiecutter/cookiecutter-django/issues/4443. I was surprised we didn't include django-upgrade already but here it is.
I used in the past for a legacy codebase and it is really helpful.

Nevermind, I'm overlooking https://github.com/cookiecutter/cookiecutter-django/blob/master/{{cookiecutter.project_slug}}/.pre-commit-config.yaml


 Sending 0.48086401DARK to DMsYKeSJKk5AdUZNK6ztRPc68kQozCNdUR now Yes
Failed to send transaction: Failed to validate transaction schema: Expected type integer but found type number

Sending 1 dark actually sends 0.00000001 dark:
If sending in USD it sends the correct amount of dark.
ark devnet> account send 1 DMsYKeSJKk5AdUZNK6ztRPc68kQozCNdUR
passphrase: ****************************************************************************
? Sending 1DARK to DMsYKeSJKk5AdUZNK6ztRPc68kQozCNdUR now Yes
Transaction sent successfully with id e82d196bb39e4a5a2fdb87cf1fe9ece5a6776ab99446e2fc8dd53ac28752d0d6

Tx: https://dexplorer.ark.io/transaction/e82d196bb39e4a5a2fdb87cf1fe9ece5a6776ab99446e2fc8dd53ac28752d0d6
Account status not showing correct balance
ark devnet> account status DMsYKeSJKk5AdUZNK6ztRPc68kQozCNdUR
.-------------------------------------------------------------------------------------------------------.
| unconfirmedBalance |   balance   |                             publicKey                              |
|--------------------|-------------|--------------------------------------------------------------------|
|<PHONE_NUMBER>9        |<PHONE_NUMBER>9 | 033716320f2fcc0c29a2b8c76b3aabb34516a3aad226fb97ef4a55dee1f2dc3077 |
'-------------------------------------------------------------------------------------------------------'

Fixed version:
ark devnet> account send 0.48086401 DMsYKeSJKk5AdUZNK6ztRPc68kQozCNdUR
passphrase: ****************************************************************************
? Sending 0.48086401 DARK to DMsYKeSJKk5AdUZNK6ztRPc68kQozCNdUR now Yes
Transaction sent successfully with id becc30515e13e25cc5dd336b44790863307f17cee428c00d5ead6f77c55227e1

TX: https://dexplorer.ark.io/transaction/becc30515e13e25cc5dd336b44790863307f17cee428c00d5ead6f77c55227e1
ark devnet> account status DMsYKeSJKk5AdUZNK6ztRPc68kQozCNdUR
.--------------------------------------------------------------------------------------------------------.
| unconfirmedBalance |   balance    |                             publicKey                              |
|--------------------|--------------|--------------------------------------------------------------------|
|<PHONE_NUMBER>9 |<PHONE_NUMBER>9 | 033716320f2fcc0c29a2b8c76b3aabb34516a3aad226fb97ef4a55dee1f2dc3077 |
'--------------------------------------------------------------------------------------------------------'

Looks good to me. All working as expected 👍 although i think sending "1" dark, should actually send 1, not 0.00000001. Specifying "1.0" works, however.

Nice work by the way 👍

I don't remember now, but I think this fix should send 1 dark when specifying 1. 🤔 That example "Sending 1 dark actually sends 0.00000001 dark:" was to show how it worked before this fix.
Ty Alex!

Apologies, my "1" was sent when testing before your change. Happy this is working as you wanted it 👍


[release-2.4] Update moment

https://github.com/stolostron/backlog/issues/21516

/hold

/unhold

/cc @zlayne


Estimate 3D pose in photo instead of videos

Hi,
Thanks for the great works.
I wonder if the code for estimating 3D pose in image instead of videos can be released.

Thanks for your interest in our work.
Out method is a monocular video 3D human pose estimation method, which takes a sequence of frames as input. Temporal information from the input frames are used in our method (e.g., temporal convolutional network (TCN) in top-down network) for better 3D pose estimation.
To your question, one can duplicate an image multiple times and use the duplicated images as input for video pose estimation methods like ours, but since it's just simple image duplication without real temporal information, it is not expected to produce the same quality of 3D pose estimation result as using real video input data.
On the other hand, there exists single-image based 3D pose estimation methods as discussed in the related works section in our main paper, if your input data is image instead of video, you may want to take a look at those methods. Single-image based methods usually use a lifting network to estimate 3D human pose from 2D keypoints input, on the contrary, video based methods like ours use TCN or RNN to estimate 3D human pose from a sequence of 2D keypoints from multiple frames. Video based methods may not be best suited for single image input data as there is no real temporal information from a single image.

Thanks for answering. Yeah I have read the paper. And I notice that you use GCNs for the pose estimation. That's why I'm asking. Can I just use your GCNs for estimating the 3D pose from a input image? Will that result be promising too?

If you plan to use the GCNs part of the framework instead of the whole one, then the answer is yes. As stated in the paper, the proposed GCNs work on a frame-by-frame basis, and allow the more reliably estimated joints/bones to influence the unreliable ones caused by missing information (e.g., occlusion, partially out-of-frame, etc.). Because of this, if integrating the GCNs part into your approach, it can help to better handle the images with missing information issue like partially out-of-frame and occlusion cases.


Selecting a taxon in AddID should happen without having to dismiss the keyboard

I hope this is possible. Currently when you add an ID and you type something in to find a taxon, the results show up as you type, but to actually choose a result, you tap the green checkmark and all it does is dismiss the keyboard. Then you have to tap the green checkmark again to actually choose the taxon. You should be able to choose it by tapping it once.

https://www.reddit.com/r/reactnative/comments/awsd3g/prevent_input_from_swallowing_a_tap_event_on/
this seems relevant, I can take a look into this

Closed via PR #336


Why not a get_world method instead of convert(GridWorldBase, env) method?

We currently have Base.convert(::Type{GridWorldBase}, env::AbstractGridWorld) = env.world
One of my reservations against the convert method is that it is a significantly lossy conversion. An environment struct will typically have extra information that GridWorldBase cannot hold. And the use of convert hints that this is okay, which is a little hard to digest.
Instead, I was wondering if we could have a simple getter method like get_world(env::AbstractGridWorld) = env.world
@findmyway

Fixed in #85


Subscenes are loaded as a single resource using interactive loader

Tested on Godot_v3.1.1-stable x11 64 bit
Ubuntu 18.04.3 LTS
When using the interactive loader to load a scene, any subscenes will apparently be regarded as a single stage. Thus the poll() method will block until the entire subscene is loaded.
This can result in lags when background loading a scene with large subscenes
We expected the loading of the subscene to be divided into individual stages for each resource.
Example project
In this example project a scene (MainScene1.tscn) is loaded which includes a subnode with 3 different sprites
When played the time in ms for each poll call is printed to the console
To reproduce the bug change the loaded scene (exported as a path to a file in Loader.tscn) to the 2nd main scene (MainScene2.tscn) and run again. In this scene the subnode has been saved as a seperate scene file.
You should notice less polls, with 1 of them being roughly equal in duration to the entire load time of the 3 textures added together

No longer relevant for 4.0, as there's new threaded loading.


Repair: Fix deadlock

This change is

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from Reviewable

Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from Reviewable


Support editing the metadata of a dataset using JSON

As I mentioned at https://github.com/IQSS/dataverse/issues/2062#issuecomment-94869103 we could add a Subject to a dataset that doesn't have one by pulling down the JSON of a dataset, making some modifications, and re-uploading the JSON. Here's an example script that does this (as of this writing it changes the title of the dataset):
https://github.com/IQSS/dataverse/blob/master/scripts/search/tests/edit-dataset-finch1
We wouldn't be limited to only adding a Subject, of course. You can express any metadata field in JSON: http://guides.dataverse.org/en/latest/user/dataset-management.html#supported-metadata

Hi,
I'm a developer making use of Dataverse infrastructure for another Harvard project (my project at https://github.com/garthg/petitions-dataverse making use of the Dataverse at https://dataverse.harvard.edu/dataverse/antislaverypetitionsma). The feature described in this tracker, i.e. making JSON modifications to Dataverse entries using the Python client, would be useful for our work, so I wanted to say that I am in favor of this feature request!
Thanks to all the developers for their work.
Garth

This feature has been added in the latest (poorly-named) development branch (See #14). Since I'm breaking a fair amount of backward compatibility, I wanted to bundle the changes together before merging.


xassist implementation

Description

Introduced the "xassist" magic command to interact with large language models (LLMs) such as OpenAI and Gemini.
Integrated the curl library to facilitate HTTP requests to the LLM APIs.
Implemented functionality to save and load API keys for different models.
Added support for maintaining context and chat history within the "xassist" command.
Included necessary documentation to guide users on how to use the new features.
Added tests to ensure the functionality works as expected and to help users verify their setup.

Type of change
Please tick all options which are relevant.

[ ] Bug fix
[x] New feature
[x] Added/removed dependencies
[ ] Required documentation updates

Codecov Report
Attention: Patch coverage is 2.27273% with 86 lines in your changes missing coverage. Please review.

Please upload report for BASE (main@4745f72). Learn more about missing BASE report.

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #151   +/-   ##
=======================================
  Coverage        ?   72.37%
=======================================
  Files           ?       19
  Lines           ?      713
  Branches        ?       74
=======================================
  Hits            ?      516
  Misses          ?      197
  Partials        ?        0

Files
Coverage Δ

src/xinterpreter.cpp
88.75% <100.00%> (ø)

src/xmagics/xassist.hpp
100.00% <100.00%> (ø)

src/xmagics/xassist.cpp
0.00% <0.00%> (ø)

Files
Coverage Δ

src/xinterpreter.cpp
88.75% <100.00%> (ø)

src/xmagics/xassist.hpp
100.00% <100.00%> (ø)

src/xmagics/xassist.cpp
0.00% <0.00%> (ø)

I think this shows we need an extension system for magics, so that we don't keep to much in core xeus-cpp and have such features in extensions.

Perhaps we need to implement https://github.com/compiler-research/xeus-cpp/issues/4. @tharun571, can you take a look?
I guess here the question is should we accept the PR and move it as a plugin or wait for the plugin system?

I think we can accept the PR and move it to the plugin system when we have it, because the implementation does not spread across the whole kernel. My only concern is the dependency on curl, but we can probably hide it behind a building flag if we package a new version of xeus-cpp before the plugin system is available.

I guess this would involve having a wasm build for curl (to support the esmcripten CI) ?
I'm giving this an attempt today. Let me try to host a recipe for the same on emscripten-forge if we can get it to work that way.

Raised a recipe here (https://github.com/emscripten-forge/recipes/pull/1332)
I guess having libcurl-static would suffice. We just need the curl.h file is it ?

I guess having libcurl-static would suffice. We just need the curl.h file is it ?
Yes curl.h would help.

I've added the recipe. Just needs to be reviewed by the folks there but in the meantime, any reviews from here (as to if we generate everything required or not would be great).
Currently I generate
 │ │ Files in package:
 │ │   - bin/curl
 │ │   - bin/curl-config
 │ │   - include/curl/curl.h
 │ │   - include/curl/curlver.h
 │ │   - include/curl/easy.h
 │ │   - include/curl/header.h
 │ │   - include/curl/mprintf.h
 │ │   - include/curl/multi.h
 │ │   - include/curl/options.h
 │ │   - include/curl/stdcheaders.h
 │ │   - include/curl/system.h
 │ │   - include/curl/typecheck-gcc.h
 │ │   - include/curl/urlapi.h
 │ │   - include/curl/websockets.h
 │ │   - lib/libcurl.a
 │ │   - lib/pkgconfig/libcurl.pc
 │ │   - info/about.json
 │ │   - info/hash_input.json
 │ │   - info/index.json
 │ │   - info/licenses/COPYING
 │ │   - info/paths.json
 │ │   - info/recipe/build.sh
 │ │   - info/recipe/recipe.yaml
 │ │   - info/recipe/rendered_recipe.yaml
 │ │   - info/recipe/variant_config.yaml
 │ │   - info/tests/tests.yaml


Include a small clock or timer in viewer window

Sometimes after clicking on a localizoom link, the main window takes time to load the data. Could we include a small clock showing that a process is running and the user has to wait a bit?

Not a progress indicator yet, but now there's a short message informing the user that the atlas is getting loaded.


CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Access to XMLHttpRequest at 'https://api.covid19india.org/data.json' from origin 'https://bluprince13.static.observableusercontent.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Started getting this error yesterday.
My code:
indiaCovidRaw = axios.get("https://api.covid19india.org/data.json")

Use
indiaCovidRaw = axios.get("https://data.covid19india.org/data.json")

@yogesh7401 that does work.
Why are there two separate points? Reckon this should be in the readme?

@bluprince13 Yah.. It's need to be Updated in docs and readme.

I am getting the same error from yesterday, kindly resolve it as it a server side issue

@bluprince13 Yah.. It's need to be Updated in docs and readme.

Thanks man was trying to figure this out since yesterday.

I had the same issue
kindly update it in the documentation otherwise many people will run into the same issue.
New end point: 'https://data.covid19india.org/data.json'
Old end Point: 'https://api.covid19india.org/data.json'


Add a guide to pinning dependencies

In a recent debugging session, @minrk pointed out that if you only partially pin your repository (e.g. pin numpy versions but don't pin Python), you are likely going to break future-reproducibility. This is because the non-pinned version may stop supporting your pinned version.
We have a short guide to reproducibility here, and this would make a nice addition!
Edit from Tim: Want to help out with this? Suggested steps on what needs doing are here.

An issue to find and link from here is the one about adding a repo2docker freeze command that produces a "well pinned" environment.yml for you.

Illustrative example that is coming up for folks right now:
# requirements.txt
notebook==5.7.4

Notebook 5.7.4 requires tornado>=4.3, but tornado 6 has been released since with some changes that break notebook 5.7.4. Notebook 5.7.5 is released with the fix for tornado 6 compatibility. By pinning notebook and not tornado, you are guaranteeing future breakage because your env is allowing a package's dependencies to be upgraded, but not allowing the package itself to receive its upgrades that are needed to keep compatibility with dependencies.
Two general approaches:

freeze everything, e.g. with conda env export, or pip freeze plus requirements.txt ("reproducible environment"),
latest of everything, and trust package maintainers to keep up ("living environment"). This may require you to update your repo once in a while, but it also keeps your repo relevant.

Specific things that should generally be avoided:

exact pinning of just a few direct dependencies
exact pinning of anything that has dependencies without also pinning its dependencies
exact pinning of anything without also pinning the runtime (e.g. Python), but especially compiled packages like numpy, etc.

so....it sounds like we should recommend an "all or none" approach, no?

+1 on Chris' suggestion and I like Min's example.
Action to take for someone who wants to help out on this issue: Take Min's comment and include it in the guide to reproducibility the source of which is https://github.com/jupyterhub/binder/blob/master/doc/tutorials/reproducibility.rst

I like the "all or none" recommendation from @minrk.

"pin all" is great for code that supports research papers: you don't want to maintain this code, and you don't want results to change because a dependency updated something. That's best for reproducibility.
"pin none" is great for packages / libraries / frameworks. Those are living, and should be kept up to date with their dependencies. In an ideal world, they'd be continuously tested with the oldest and newest supported versions of those, and that would be acknowledged (e.g., requires numpy >= 1.14 and <= 1.16).
Teaching code is somewhat in the middle. The author could either be willing to maintain it and keep it relevant (hence recommend "pin none"), or maybe that was a one-shot (hence recommend "pin all").

I think what's missing is "best practices" on how to achieve "pin none" and "pin all", and when to choose which. (I faced the future-reproducibility issue myself by forgetting to pin the python version.)
Things to keep in mind:

conda env export is not cross-platform, i.e., you cannot create the env on linux, export, and recreate on Windows or macOS. You need to manually export on the three platforms, and only pin the lowest denominator. Then pray that packages have pinned the versions of their dependencies sufficiently tight so that it won't break too soon... I've hit this issue when teaching a university course, where students could have any platform, and I wanted binder as a backup.
I've seen binder overhaul pinned versions of jupyter. Does it still do that? What should we do if the version required by binder is different that the one required by the github repo? We could maybe recommend to not pin jupyter (or even to not list it as a dependency, it's just an editor after all), but what about its dependencies then?
When using pip, what about non-python implicit dependencies?
I wonder if repo2docker could be used to create a future-proof Dockerfile. That would pin the dependency chain down to the kernel API, which is absolutely stable. The downside is that binder would need to guarantee to support those Dockerfiles long-term. (A deprecation warning could be automatically raised when an old Dockerfile version is built, even automatically creating an issue in the github repo.)

Dependency management and reproducibility are really hard. Surely people have thought about these issues before. But where?

I think this is the "repo2docker freeze" command that's been discussed a few times. Essentially, it would run repo2docker to install everything and then run conda env export and/or pip freeze to generate the "frozen" version of the env within the repo2docker environment. There are several version of freeze, depending on the kind of environment.
A first version of this is to use conda env export as the command passed to repo2docker, i.e.
$ jupyter-repo2docker https://github.com/binder-examples/conda -- conda env export -n root
Picked Git content provider.
Cloning into '/var/folders/9p/clj0fc754y35m01btd46043c0000gn/T/repo2dockerdc0h_3ne'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 6 (delta 0), reused 2 (delta 0), pack-reused 0
Unpacking objects: 100% (6/6), done.
Reusing existing image (r2dhttps-3a-2f-2fgithub-2ecom-2fbinder-2dexamples-2fconda4373085), not building.name: root
channels:
  - conda-forge
  - defaults
dependencies:
  - attrs=19.1.0=py_0
  - backcall=0.1.0=py_0
  - bleach=3.1.0=py_0
  - bokeh=1.0.4=py37_1000
  - bzip2=1.0.6=h14c3975_1002
  - ca-certificates=2019.3.9=hecc5488_0
  - certifi=2019.3.9=py37_0
  - click=7.0=py_0
  - cloudpickle=0.8.1=py_0
  - conda=4.5.11=py37_1000
  - cryptography=2.6.1=py37h72c5cf5_0
  - cycler=0.10.0=py_1
  - cytoolz=<IP_ADDRESS>=py37h14c3975_1001
  - dask=1.1.4=py_0
  - dask-core=1.1.4=py_0
  - decorator=4.4.0=py_0
  - defusedxml=0.5.0=py_1
  - dill=0.2.9=py37_0
  - distributed=1.26.0=py37_1
  - entrypoints=0.3=py37_1000
  - expat=2.2.5=hf484d3e_1002
  - fontconfig=2.13.1=he4413a7_1000
  - freetype=2.10.0=he983fc9_0
  - gettext=<IP_ADDRESS>=hc5be6a0_1002
  - glib=2.56.2=had28632_1001
  - heapdict=1.0.0=py37_1000
  - icu=58.2=hf484d3e_1000
  - ipykernel=5.1.0=py37h24bf2e0_1002
  - ipython=7.4.0=py37h24bf2e0_0
  - ipython_genutils=0.2.0=py_1
  - ipywidgets=7.4.2=py_0
  - jedi=0.13.3=py37_0
  - jinja2=2.10=py_1
  - jpeg=9c=h14c3975_1001
  - jsonschema=3.0.1=py37_0
  - jupyter_client=5.2.4=py_3
  - jupyter_core=4.4.0=py_0
  - jupyterlab=0.35.4=py37_0
  - jupyterlab_server=0.2.0=py_0
  - kiwisolver=1.0.1=py37h6bb024c_1002
  - libblas=3.8.0=4_openblas
  - libcblas=3.8.0=4_openblas
  - libffi=3.2.1=he1b5a44_1006
  - libgfortran=3.0.0=1
  - libiconv=1.15=h516909a_1005
  - liblapack=3.8.0=4_openblas
  - libpng=1.6.36=h84994c4_1000
  - libsodium=1.0.16=h14c3975_1001
  - libtiff=4.0.10=h648cc4a_1001
  - libuuid=2.32.1=h14c3975_1000
  - libxcb=1.13=h14c3975_1002
  - libxml2=2.9.8=h143f9aa_1005
  - locket=0.2.0=py_2
  - markupsafe=1.1.1=py37h14c3975_0
  - matplotlib=3.0.3=py37_0
  - matplotlib-base=3.0.3=py37h167e16e_0
  - mistune=0.8.4=py37h14c3975_1000
  - msgpack-python=0.6.1=py37h6bb024c_0
  - nbconvert=5.4.1=py_2
  - nbformat=4.4.0=py_1
  - ncurses=6.1=hf484d3e_1002
  - notebook=5.7.6=py37_0
  - numpy=1.16.2=py37h8b7e671_1
  - olefile=0.46=py_0
  - openblas=0.3.5=ha44fe06_0
  - openssl=1.1.1b=h14c3975_1
  - packaging=19.0=py_0
  - pandas=0.24.2=py37hf484d3e_0
  - pandoc=2.7.1=0
  - pandocfilters=1.4.2=py_1
  - parso=0.3.4=py_0
  - partd=0.3.9=py_0
  - pexpect=4.6.0=py37_1000
  - pickleshare=0.7.5=py37_1000
  - pillow=5.4.1=py37h00a061d_1000
  - pip=19.0.3=py37_0
  - prometheus_client=0.6.0=py_0
  - prompt_toolkit=2.0.9=py_0
  - psutil=5.6.1=py37h14c3975_0
  - pthread-stubs=0.4=h14c3975_1001
  - ptyprocess=0.6.0=py37_1000
  - pygments=2.3.1=py_0
  - pyparsing=2.3.1=py_0
  - pyqt=5.6.0=py37h13b7fb3_1008
  - pyrsistent=0.14.11=py37h14c3975_0
  - python=3.7.2=h381d211_0
  - python-dateutil=2.8.0=py_0
  - pytz=2018.9=py_0
  - pyyaml=5.1=py37h14c3975_0
  - pyzmq=18.0.1=py37h0e1adb2_0
  - readline=7.0=hf8c457e_1001
  - send2trash=1.5.0=py_0
  - setuptools=40.8.0=py37_0
  - sip=4.18.1=py37hf484d3e_1000
  - six=1.12.0=py37_1000
  - sortedcontainers=2.1.0=py_0
  - sqlite=3.26.0=h67949de_1001
  - tblib=1.3.2=py_1
  - terminado=0.8.1=py37_1001
  - testpath=0.4.2=py_1001
  - tk=8.6.9=h84994c4_1000
  - toolz=0.9.0=py_1
  - tornado=6.0.1=py37h14c3975_0
  - traitlets=4.3.2=py37_1000
  - wcwidth=0.1.7=py_1
  - webencodings=0.5.1=py_1
  - wheel=0.33.1=py37_0
  - widgetsnbextension=3.4.2=py37_1000
  - xorg-libxau=1.0.9=h14c3975_0
  - xorg-libxdmcp=1.1.3=h516909a_0
  - xz=5.2.4=h14c3975_1001
  - zeromq=4.2.5=hf484d3e_1006
  - zict=0.1.4=py_0
  - zlib=1.2.11=h14c3975_1004
  - asn1crypto=0.24.0=py37_0
  - cffi=1.11.5=py37he75722e_1
  - chardet=3.0.4=py37_1
  - conda-env=2.6.0=1
  - dbus=1.13.2=h714fa37_1
  - gst-plugins-base=1.14.0=hbbd80ab_1
  - gstreamer=1.14.0=hb453b48_1
  - idna=2.7=py37_0
  - libedit=3.1.20170329=h6b74fdf_2
  - libgcc-ng=8.2.0=hdf63c60_1
  - libstdcxx-ng=8.2.0=hdf63c60_1
  - pcre=8.43=he6710b0_0
  - pycosat=0.6.3=py37h14c3975_0
  - pycparser=2.18=py37_1
  - pyopenssl=18.0.0=py37_0
  - pysocks=1.6.8=py37_0
  - qt=5.6.3=h8bf5577_3
  - requests=2.19.1=py37_0
  - ruamel_yaml=0.15.46=py37h14c3975_0
  - urllib3=1.23=py37_0
  - yaml=0.1.7=had09818_2
  - pip:
    - alembic==1.0.8
    - async-generator==1.10
    - jupyterhub==0.9.4
    - mako==1.0.8
    - msgpack==0.6.1
    - nteract-on-jupyter==2.0.0
    - pamela==1.0.0
    - python-editor==1.0.4
    - python-oauth2==1.1.0
    - sqlalchemy==1.3.1
prefix: /srv/conda

We'll then want to figure out what to do about "lockfiles" since this freeze pattern generally means there are two files: one that specifies the loose requirements, and one that records an actual working installation (Pipfile.lock, etc.). To use this right now, you would have to clobber the environment.yml, or use top-level environment.yml for loose and binder/environment.yml for frozen or something similar.

I just learnt about pip install --constraint constraints.txt combined with pip freeze > constraints.txt via https://twitter.com/ChristianHeimes/status/1111228403250876417

One thing to note here is that because binder apparently uses a specific conda env with a bunch of packages already pinned as the base Python environment, pip freeze > requirements.txt is not a very reliable way to create a reproducible environment.
This is because pip and conda are not perfectly compatible, and apparently if pip finds a conflicting requirement that has been installed by conda, it will fail (presumably because conda does not have the same install-time metadata or something, so pip doesn't know what to remove). Here's a minimal repo that reproduces the issue, you can see that the binder for this repo fails to build.
I think for now the documentation should be updated to mention that the pip freeze mechanism is unreliable, and you are better off using a conda env. In the long run, maybe binder can be updated to use a virtualenv if the repo has requirements.txt (and maybe runtime.txt) but not environment.yaml.

Thanks for the useful discussion! I haven't been including pinned versions of all dependencies, so I need to rethink what I'm doing.
@mdeff asks above:

* I've seen binder overhaul pinned versions of jupyter. Does it still do that? What should we do if the version required by binder is different that the one required by the github repo? We could maybe recommend to not pin jupyter (or even to not list it as a dependency, it's just an editor after all), but what about its dependencies then?

I'm wondering the same thing. When I include a pinned version of jupyter I've found that the images build ok, but don't launch, so I've been leaving it out.
More generally, are there packages that shouldn't be pinned? For example, I just tried generating a new requirements.txt via pip freeze for a repo and found that the Binder build dies complaining that pip can't uninstall certifi as it's installed by distutils.


xADGroup fail on get-dscconfiguration when there's only 1 user in group

Configuration:
configuration ADGroup
{

 Import-DscResource -ModuleName xActiveDirectory

    Node localhost
    {
        xADGroup "DomainJoin Group"
        {
            GroupName = "DomainJoinRights"
            MembersToInclude = "DomainJoin"
        }
    }
}

Set-TargetResource work perfectly, but when you run get-dscconfiguration you'll get
http://take.ms/BVtvI
VERBOSE: An LCM method call arrived from computer DC001A with user sid S-1-5-21-1793956226-513310661-1984400958-500.
VERBOSE: [DC001A]: LCM:  [ Start  Get      ]
VERBOSE: [DC001A]:                            [[xADGroup]DomainJoin Group] Retrieving group membership based on 'SamAccountName' property.
Get-DscConfiguration : GetConfiguration did not succeed.
At line:1 char:1
+ Get-DscConfiguration -Verbose
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (MSFT_DSCLocalConfigurationManager:root/Microsoft/...gurationManager) [Get-DscConfiguration], CimException
    + FullyQualifiedErrorId : MI RESULT 1,Get-DscConfiguration

Error in event log:
Job {3E5FC7B3-B556-11E7-8422-00155D01AF2C} :
Message Unable to cast object of type 'System.String' to type 'System.Collections.IList'.
Parameter name: value
HResult -2147024809
StackTrack    at Microsoft.Management.Infrastructure.Internal.Data.CimPropertyOfInstance.set_Value(Object value)
   at Microsoft.PowerShell.DesiredStateConfiguration.Internal.ResourceProviderAdapter.GetTargetResource(IntPtr resourceConfigurationInstanceHandle, IntPtr nonResourcePropetiesHandle, IntPtr metaConfigHandle, IntPtr regInstanceHandle, IStreamsHandler plugInStreamsHandler, IntPtr& outputInstanceHandle, IntPtr& errorInstanceHandle)
   at Microsoft.PowerShell.DesiredStateConfiguration.Internal.DscPluginManagedEntryWrapper.Get(IntPtr provContext, IntPtr instance, IntPtr nonResourcePropeties, IntPtr metaConfig, IntPtr regInstance, IntPtr outputInstance, IntPtr extendedError)

DSC can handle this if 'Members = $adGroupMembers' return value is array, not string.
aka if you add 2 users to group - everything works fine. (Or you already have users in group)
If you specify type for $adGroupMembers inside MSFT_xADGroup resource - it works fine too
[System.Array]$adGroupMembers = (Get-ADGroupMember @adGroupParams).$MembershipAttribute;

This seemed to have been resolved in PR #173.


Get different performance with trained model in model zoo

with running the following command:
python train_net.py --num-gpus 6 --config-file configs/Detic_LbaseCCimg_CLIP_R5021k_640b64_4x_ft4x_max-size.yaml --eval-only MODEL.WEIGHTS trainedmodels/Detic_LbaseCCimg_CLIP_R5021k_640b64_4x_ft4x_max-size.pth

get
[07/25 19:56:40 d2.evaluation.testing]: copypaste: Task: bbox
[07/25 19:56:40 d2.evaluation.testing]: copypaste: AP,AP50,AP75,APs,APm,APl,APr,APc,APf
[07/25 19:56:40 d2.evaluation.testing]: copypaste: 33.9075,46.6746,35.7582,25.1269,44.0678,50.2866,19.8430,34.0934,39.8814
[07/25 19:56:40 d2.evaluation.testing]: copypaste: Task: segm
[07/25 19:56:40 d2.evaluation.testing]: copypaste: AP,AP50,AP75,APs,APm,APl,APr,APc,APf
[07/25 19:56:40 d2.evaluation.testing]: copypaste: 30.4862,44.4716,32.4350,20.9736,41.7839,48.2371,18.6669,30.8249,35.3029

Hi,
Can you show the full log? It looks like the expected results for this config are 31.0/ 18.7 mAP_mask/ mAP_mask_rare. I should have checked the results for all models in the model zoo, but I don't have a machine now to re-verify this.
Best,
Xingyi


[BUG] Example "Contact-Sensor-App" not working to build

Reproduction steps
I'm working on a Windows 11 system with an WSL2 subsystem on ubuntu.
I'm starting the system with the available instructions.
I'm starting VSCode with "code .".
The VSCOde extension is working fine.
Connecting the board and trying to build the project with the ESD-IDF command.
An error occures, stating that the cmakelist.txt is missing. Where do I get this from?
Or is there another way of flashing this example on my esp32-s3?
Sorry if I'm missing something, but I'm new to working with this on a linux subsystem.
Bug prevalence
Whenever I try to do this.
GitHub hash of the SDK that was being used
dont know
Platform
esp32, vscode, windows
Platform Version(s)
No response
Anything else?
No response

The builds are not directly controlled by VSCode/CMake.
To build this, you will need to compile from the command line. Please follow https://project-chip.github.io/connectedhomeip-doc/platforms/esp32/setup_idf_chip.html or generally https://project-chip.github.io/connectedhomeip-doc/getting_started/first_example.html
For example I use:
source scripts/bootstrap.sh
./scripts/build/build_examples.py --target esp32-m5stack-all-clusters build

I would also note that windows has no official maintainer support currently. making compilation work on windows may be painful and I recommend a linux machine/VM instead.


FastCGI Backends

Does this support FastCGI backends and if so, how do I configure that?

No?  Yes?  Maybe?

bump

I would also greatly appreciate this feature (or documentation for it if it exists) but have no knowledge of that ecosystem.

Same here

+1 Please keep this request open.


Conda-forge package says VerticaPy 0.12 is not compatible with Python 3.9

Although setup.py states that VerticaPy 0.12 works with Python 3.9 (Link to setup.py:60) , VerticaPy package distributed from conda-forge says that it requires python<3.9.

verticapy at conda-forge
package info of  noarch/verticapy-0.12.0-pypyhd8ed1ab_0.conda

As a result, installing VerticaPy fails with conda environment with python 3.9.
conda create -n my-verticapy -c conda-forge python=3.9 verticapy=0.12

Please fix the dependency setting for conda package.
Thanks,

@afard can you please fix that?

I'll investigate.

https://github.com/conda-forge/verticapy-feedstock/pull/29
This PR is closing this issue.

That was quick! Thank you.

No Problem!


fixed bug with cards colors blend

Fixed cards color bug
issue #122

Looks OK to me, you can merge it.


Automate unsubscribe inactive or deleted users

I want to automate removing users who's accounts have been deleted or banned from reddit, or are "inactive".
Deleted users can be removed immediately.
Inactive user is defined as one that has been subscribed for 3 months, or has a notification_count = 500
Inactive users can have a chance to resubscribe and should be notified and given a week to respond to stay subscribed.
if they resubscribe, we need a way to track the next checkpoint for "inactive status"
if they don't delete them.

Done


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target_d7437e47-9921-4a18-9f82-4178f665d5b1/pull/1 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-archive-test-target_d7437e47-9921-4a18-9f82-4178f665d5b1.git

Docs Build status updates of commit 289597f:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: GitBranchDeletedOrForcePushed] Cannot sync git repo to specified commit because branch Release_Archive_main_2022-06-06-05-11-04 has been deleted or has been force pushed

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


setting minimum length of searchstring

Hi,
Is it possible to set the minimumlength of the sting to trigger the filter?

Duplicate of #621


WIP: Multiscale use-case

Motivation
In imaging applications, especially interactive ones, the usability of a data array is greatly increased by having pre-computed sub-resolutions of the array. For example, an array of size (10**5, 10**5) might have halving-steps pre-computed, providing arrays of sizes 5000, 2500, 1250, 625, 312 etc. Users can quickly load a low-resolution representation to choose which regions are worth loading in higher- or even full- resolution. A few examples of this trend in imaging file formats are provided under Related Reading.
The current zarr spec has the following issues when trying to naively specify such sub-resolutions:

Arrays of differing size can only represent the individual resolution by naming convention
("Reslolution_0", "Resolution_1", etc.) This issue exists in a number of existing formats.
Storing data of differing dimensions in the same chunk is not intended.
Even if data of differing dimensions (compression)

Generalization
In other domains, a generalization of this functionality might enable "summary data" to be stored,
where along a given dimension a function has been applied, e.g. averaging. This is usually most
beneficial when the function is sufficiently time-costly that its worth trading storage for speed.
Potential implementations
Filter / Memory-layout
Each chunk could be passed to a function which stores or reads the multiscale representation
with a given chunk. (TBD)
Array relationships
Metadata on a given array could specify one or both inheritance relationships to other arrays.
For example, if a child array link to its parent, it might store the following metadata:
{
    "summary_of": {
        "key": "Resolution_0",
        "method": "halving",
        "dimensions": [0, 1]
    }
}

One issue with only having the parent relationship defined is how one determines the lowest
resolution. The child relationships could be represented with:
{
    "summarized_by": [
        {
            "key": "Resolution_1",
            "method": "having",
            "dimensions": [0, 1]
        }, ...

    ]
}

but this would require updating source arrays when creating a summary.
An alternative would be to provide a single source of metadata on the relationships between arrays.
Related reading

N5MultiScaleSource
BigDatViewerN5Demo
Imaris File Format
http://openmicroscopy.github.io/design/OME005/ (Design discussion in https://github.com/openmicroscopy/design/issues/74)

Possible synonyms / Related concepts

Global lossy compression
Progressive compression
Pyramidal images
Sub-resolutions
Summary views

This is a good idea. Also probably worth looking at Cloud Optimized Geotiff:
https://www.cogeo.org/
COGs store multiscale imagery in a cloud-optimized way.

Very good idea!
We started developing a similar feature in our project xcube which provides a CLI command xcube level <zarr-cube-dataset>. It turns Zarr data cubes into a directory containing a spatial multi-resolution pyramid with chunking tailored for image tile processing.
There is also a xcube serve command that starts a WMTS server and a viewer that exploits the leveled datasets: xcube-viewer.
I'm happy to contribute to specs and implementations.

@forman - xcube looks like a fascinating project, potentially of very broad interest. Could I convince you to give us a brief presentation about it at an upcoming Pangeo weekly call? (http://pangeo.io/meeting-notes.html)

I'd be happy to join that as well.

@rabernat Sure, thanks! May 29 should fit. Next week we are at the ESA Living Planet Symposium, maybe someone of you guys is there too?

@jni @sofroniewn, as this issue and xcube may be of interest. 😉

Thanks @jakirkham yes I'm highly interested in a feature like this and have had some chats with @joshmoore about it before, so glad to see an issue was made. The xcube project looks very interesting too, so also thanks for pointing me towards it.
My current use is viewing large multi-resolution pathology images, and as @joshmoore mentioned I had to adopt my own naming conventions for each layer, and saw a large increase in the total file size relative to an optimized tiff format (I was working with data from the Cameylon16 challenge) and visualizing it with napari.

My current use is viewing large multi-resolution pathology images, and as
@joshmoore https://github.com/joshmoore mentioned I had to adopt my own
naming conventions for each layer, and saw a large increase in the total
file size relative to an optimized tiff format.

I'd be interested to know if you have any sense of why file size increased,
i.e., what is tiff doing differently?

@forman - thanks for agreeing! I will put you on the agenda for May 29 and follow up closer to the meeting date..

I'd be interested to know if you have any sense of why file size increased,
i.e., what is tiff doing differently?

@alimanfoo I'm not quite sure. I tried to avoid anything foolish, like changing the dtype, but I saw one link imply some of these multiresolution tiffs use jpeg2000 compression which then doesn't quite make it a fair comparison! Also the data from the tiff looks like it has some compression artifacts in it, so they have done something to it at some point.
Here's a link to a google drive that has the tiffs in it and a README.md describing the data. The file training/tumor/tumor_001.tif is a fine example if you wanted to take a look.
I'm really not sure if they have done any clever optimization across layers of the pyramid or if they just treat them all independently and are using the JPEG2000 compression on each one. Sorry for not being more helpful!

I'm really not sure if they have done any clever optimization across
layers of the pyramid or if they just treat them all independently and are
using the JPEG2000 compression on each one. Sorry for not being more
helpful!

No worries, I guess that's what I was wondering. I.e., is the difference
just down to different compression codecs, or is there some clever
optimisation that leverages the fact that you have multiple resolutions of
the same image.

This line from Wikipedia suggests JPEG2000 is optimized for handling different scales.

The codestream obtained after compression of an image with JPEG 2000 is scalable in nature, meaning that it can be decoded in a number of ways; for instance, by truncating the codestream at any point, one may obtain a representation of the image at a lower resolution, or signal-to-noise ratio – see scalable compression.

Maybe there is more to the story. That said, a good first step might be to design a codec for working with JPEG 2000 compression.

I was just reading that too :-)
From what I can glean, the idea is that you can render a lower res image
from the first part of the stream, then increase resolution as you read
further into the stream. At least that's part of it.
I wonder if you could do something like encode chunks of an array with a
JPEG2000 codec, but then have multiple "virtual" zarr arrays which all
share the same chunk objects, but which read the chunks to different
resolutions. Not sure if that makes sense.
On Tue, 14 May 2019, 16:02 jakirkham<EMAIL_ADDRESS>wrote:

This line from Wikipedia
https://en.wikipedia.org/wiki/JPEG_2000#Aims_of_the_standard suggests
JPEG2000 is optimized for handling different scales.
The codestream obtained after compression of an image with JPEG 2000 is
scalable in nature, meaning that it can be decoded in a number of ways; for
instance, by truncating the codestream at any point, one may obtain a
representation of the image at a lower resolution, or signal-to-noise ratio
– see scalable compression.
Maybe there is more to the story. That said, a good first step might be to
design a codec for working with JPEG 2000 compression.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/zarr-developers/zarr-specs/issues/23?email_source=notifications&email_token=AAFLYQQQFAUCCO75MXVNATDPVLIANA5CNFSM4HLR5BCKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVLYVPQ#issuecomment-492276414,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAFLYQV42GNLML6223HEXTLPVLIANANCNFSM4HLR5BCA
.

I wonder if you could do something like encode chunks of an array with a JPEG2000 codec,

It looks like the codec would need some information on the shape of the data that it is going to compress to correctly resemble the spatial structure when compressing. AFAIK so far a codec could treat data just as a stream of bytes, but that should not be a major problem. Also I think that JPEG2000 only works on 2D-data so when compressing one would have to highlight the spatial dimensions to the compressor.

but then have multiple "virtual" zarr arrays which all share the same chunk objects, but which read the chunks to different resolutions. Not sure if that makes sense.

Wouldn't this be inefficient for object stores, because although you decode only a part of the stream
you would have to load the full uncompressed chunk first? There might be image codecs out there where you can store the compression in separate files, where the compression levels might resemble a new array axis along which more and more details are added to the image. Don't know if this makes sense.
A very simple example for e.g. a time series would be to store the FFT of the time series and have the lowest frequencies in the first chunk, intermediate frequencies in the second and high frequencies in the third chunk. When reading back the data, depending on how many values you read from the frequency axis, you will get a more or less detailed time series.
So it would be good to find out if a JPEG2000 encoded image can be split across several chunks, or if there are similar codecs which could do that.

Ok, if my last reply was too confusing, this gist conceptually shows what I would suggest https://gist.github.com/meggart/0f85bac03c66e321054288b121e423b5
The JPEG2000 equivalent would then be to split an encoded JPEG stream into chunks and store the chunks along a new axis. This way one could store the data without being redundant and still access data at low resolution without touching the high-res chunks.

@jakirkham : by truncating the codestream at any point, one may obtain a representation of the image at a lower resolution, or signal-to-noise ratio – see scalable compression.

This was one of my driving motivations for getting this opened. I imagine we could do something at the chunk-level, but it's unclear to me how zarr could do this at the array level (which is where the "global lossy compression" moniker is coming from)

@jakirkham : a good first step might be to design a codec for working with JPEG 2000 compression.

Another issue is going to be the 2D-ness of JPEG200, as @meggart says.

@alimanfoo : then have multiple "virtual" zarr arrays which all
share the same chunk objects, but which read the chunks to different
resolutions.

I don't know if it makes sense either, but I'm hoping one of you guys would have one or more brilliant ideas :wink:

@meggart : So it would be good to find out if a JPEG2000 encoded image can be split across several chunks, or if there are similar codecs which could do that.

Chatting with @melissalinkert et al., OME-TIFF currently will only either compress a whole 2D plane getting the benefit of JPEG2000 or individual tiles, which then can't take advantage of the global context.

To @joshmoore and @meggart's points, I think JPEG 2000 is just using wavelet transforms to achieve multiresolution compression. So one can probably dig into this a bit more to identify an exact algorithm that works well.
Independently it would be valuable to setup a codec based on JPEG 2000 (as this is something we can use today). This would help motivate work for handling the chunks (even in the limited 2D case). Imagine what we learn here is useful for ND once the right codec shows up. 😉

@forman

@forman - thanks for agreeing! I will put you on the agenda for May 29 and follow up closer to the meeting date..

@rabernat Sorry, I couldn't make it last Wednesday. We still definitely want to join one of the upcoming meetings. I'll let you know...

seealso: https://github.com/higlass/higlass/wiki#processing-and-importing-data

Hi everyone,
We're very interested in zarr / n5 for visualizing large volumes. I spent a few hours today reading zarr documentation and putting together this toy example for creating optional pyramidal layers. As it's my first day with zarr, not everything is ideal, so zarr experts can probably do this way better.
https://github.com/mmorehea/zarrPyramid/blob/master/zarrPyramid.py
After writing it, I came here to find there have already been some great suggestions (xcube, @meggart 's pyramid code, etc) that do the work better, doh. Happy to support any variant that the zarr developers decide on. Cheers!

@sofroniewn, is this a good place for people to look at Napari's implementation ( https://github.com/napari/napari/pull/545 )?

After various recent discussions, I've opened https://github.com/zarr-developers/zarr-specs/issues/50 to propose an initial format for multiscale arrays.

After #50 and now #125 I think this can be safely closed.


GitHub Actions CI/CD

Triggers:

Push to any branch begining with pipline/. This is to allow for pipeline development environments.
Tagged pushed following convention v*.*.* so v1.0.0 or v2.5.71

Godot Job
Matrix `platform` is export present names. The job will run for each export

Notable Changes to Steps
Configure

Writes ref to VERSION.txt file.

Push to Itch

Read version from VERSION.txt

Thank you so much for taking the time to help with that @josephbmanley! It's a much welcome feature :tada:


IRGen: fix two bugs which cause crashes with statically initialized function pointers

Those bugs were introduced with https://github.com/apple/swift/pull/35780.
For details see the commit messages.
rdar://74358251
rdar://74358259

@swift-ci test

Build failed
Swift Test OS X Platform
Git Sha - 99979c037add9c17f256d55970c0801e31be658e

@swift-ci smoke test and merge


⚠ api.piste.gouv.fr healthcheck has degraded performance

In 2ddf60b, api.piste.gouv.fr healthcheck (https://api.piste.gouv.fr/cassation/judilibre/v1.0/healthcheck) experienced degraded performance:

HTTP code: 200
Response time: 7044 ms

Resolved: api.piste.gouv.fr healthcheck performance has improved in 3f3fe9e.


how can I get the data by stream.fetch in android

when I use post method in android, I can't get the response data
========request'log=======
method : POST
url : https://*/api/login
headers : appType: android
Content-Type: application/json
user-agent: Android SDK built for x86(Android/8.1.0) (atjia-busi/1.1.2) Weex/0.18.0 1440x2416
========response'log=======
url : https:///api/login
code : 200
protocol : http/1.1
But it's effective in IOS😭
Thanks for your help

give us a demo of dotwe

As this issue is not update for a while, I will just close it. Feel free to reopen it if you have further questions.


feature request: skip_users config option for authc section

The use case is having multiple LDAP authentication sources that have no access (Active Directory trust relationship) to cross authenticate users from a different LDAP domain.  This means that each LDAP domain will have its own set of LDAP authc and authz sections.  To make life easier with this multiple LDAP configuration the username is specified in the userPrincipalName format<EMAIL_ADDRESS>and<EMAIL_ADDRESS>as two examples.
For authz, having the skip_users option field is amazing since it is very easy to configure a regex for the skip user that catches the domain of the other domain.  This prevents LDAP authorization requests from being issued against LDAP domains that do not contain that user.  This would be similarly very useful on the authc section to prevent LDAP authentication attempts being made against LDAP domains that do not have the ability to authenticate that user.
Config snippet below shortened to only show the above concept.  The two authc skip_users options highlighted in yellow
searchguard:
  dynamic:
    authc:
      foo_ldap:
        order: 2
        authentication_backend:
          type: ldap
          config:
            userbase: 'dc=foo,dc=com'
            usersearch: '(userPrincipalName={0})'
            skip_users:
              - '*bar.com'
      bar_ldap:
        order: 2
        authentication_backend:
          type: ldap
          config:
            userbase: 'dc=bar,dc=com'
            usersearch: '(userPrincipalName={0})'
            skip_users:
              - '*foo.com'
    authz:
      foo_ldap:
        authorization_backend:
          type: ldap
          config:
            userbase: 'dc=foo,dc=com'
            skip_users:
              - '*DC=bar,DC=com*'
      bar_ldap:
        authorization_backend:
          type: ldap
          config:
            userbase: 'dc=bar,dc=com'
            skip_users:
              - '*DC=foo,DC=com*'

Thx for this suggestion. We will put it into our backlog.

Thx for this suggestion. We will put it into our backlog.

Tracked under 1798 - we could make this a general feature for all authc / authz modules.


[Community Request] - Grafana Dashboard

Everyone that runs the node is asking for a tech dashboard using grafana.
This could be a good feature as we already have metrics and a http feature.

already included


Danrlu/remove adjustment

Summary:

What:

During bug bash I noticed that our trees sometimes label countries or divisions as continent (region in Nextstrain). It turned out to be a default Nextstrain set up.

This PR will label country with country names (same for divisions) by setting region as global in builds.yaml and bypass this step of country/division name conversion. We could also remove the region row in builds.yaml. Keep it for now to be explicit.

Added GISAID logo along the way, which is a convention for all applications using GISAID data.

Demos:
Before (all current trees):
`
After:
`
Notes:
Checklist:

[x] I merged latest <base branch>
[x] I manually verified the change
[x] I added labels to my PR
[x] I tested in multiple browsers
[ ] I added relevant unit tests
[ ] I have notified others of changes they need to make locally (migrations, jobs, package updates, etc)

This fix was only live for 2 weeks before it got lost. All trees before and after have this bug. Too comical 🤣 🤣 🤣


Add support for SLE Micro 6.0

This should include versions 1.27, 1.28, 1.29, and potentially 1.30

Testing Validation
Versions: v1.27.16, v1.28.12, v1.29.7, and v1.30.4
Test Coverage:

SUC Upgrade
Cluster-Reset
Cluster-Reset Retore Path
Sonobuoy Conformance


Set backport PR reviewer equal to original PR reviewer

Original issue: https://github.com/zeebe-io/automation-lab/issues/39

This implementation never really seems to have worked as expected. The requested_reviewers often seems to be empty. However, a special api is available to retrieve this data.
const reviews = await github
        .getOctokit(token)
        .pulls.listReviews({owner, repo, pull_number: number})

See this under Run ./actions/hello-world-typescript (the last printed part) as an example of this api's returned data.


Remove dependencies on instructlab/instructlab

This repository currently has dependencies on values from instructlab.configuration, which is consuming SDG.
Specifically, the utils.py is importing values from configuration that will no longer exist
with this PR in instructlab: instructlab #1471.
In general, it's a bad practice for a consuming library to depend on these values as it is a circular dependency.
SDG should either parameterize these values or have its own concept for DEFAULT_API_KEY and DEFAULT_MODEL_OLD
so as to decouple itself from the instructlab CLI in this direction.

Closing this as it seems to have already been resolved.

Yeah, this was just true during transition because the code that started the repo was extracted from the instructlab repo

#11 tracked the steps remaining


Bugfix

Describe your changes
Fixed bugs with implementing new functionality of differentiating dollar and yen. Also added new UI changes.

LGTM


Bugfix/2595 - different caches for storeViews

Related issues
closes #2595

@filrak could you resolve conflicts so we could merge that? :)


Can post as other people

Steps to reproduce:

click Add
type any active forum username in Forum username: textbox
fill out the rest and submit

This is not an 'issue' as such, but it is not ideal.
v2 of the Backend API will address this, and remove the need for a forum account to participate.

sounds good.
I forgot there was a back-end repo. sorry about that.

See https://github.com/JacksonBates/pair-backend/projects for details

I was thinking about adding authentication (as a practice), but it seems that it'll require structural changes to the app done simultaneously on back-end and front-end (as the link in previous post describes).


What am I doing wrong?

Long story short, I've installed everything according to the manual. I'm using v4

=========== TRAINING STARTED ===========

ENGINE:   default
LANGUAGE: en > it

WARNING: The RAM of GPU 0 is only 2G. More than 10G of RAM recommended for each GPU.

(1/4) Cleaning corpora
    (1/6) Cleaning corpora...                                    DONE in 2s
    (2/6) De-duplicate corpora...                                DONE in 0s
    (3/6) Preprocess corpora...                                  DONE in 2s
    (4/6) Creating aligner filter...                             DONE in 2s
    (5/6) Scoring corpora...                                     DONE in 0s
    (6/6) Apply aligner-based filter...                          DONE in 0s
(1/4) Cleaning corpora DONE in 7s
(2/4) Creating engine
(2/4) Creating engine DONE in 0s
(3/4) Generating binary archives
    (1/4) Tokenize corpora...                                    DONE in 2s
    (2/4) Training BPE model...                                  DONE in 12s
    (3/4) Encoding training corpora...                           DONE in 0s
    (4/4) Generating binary data...                              DONE in 1s
(3/4) Generating binary archives DONE in 16s
(4/4) Training neural model
    (1/2) Train neural network...                                ^CDONE in 12h 6m 1s
    (2/2) Averaging checkpoints...                               DONE in 6s
(4/4) Training neural model DONE in 12h 6m 7s

=========== TRAINING SUCCESS ===========

You can now start, stop or check the status of the server with command:
	./mmt start|stop|status

After 12 hours of training I clicked on control+x to stop the training.
afterwards
root@ubuntu:~/modernmt# ./mmt start
Starting engine "default"...OK
Loading models....OK

Engine "default" started successfully

You can try the API with:
	curl "http://localhost:8045/translate?q=world&source=en&target=it&context=computer" | python -mjson.tool

root@ubuntu:~/modernmt# ../mmt translate "This is an example"
-bash: ../mmt: No such file or directory
root@ubuntu:~/modernmt# ./mmt translate "This is an example"
Ciò è inaccettabile.
root@ubuntu:~/modernmt# ./mmt translate "This is an example"
Ciò è inaccettabile.
root@ubuntu:~/modernmt# ./mmt translate "Example"
Backup e metodi specifici della lingua
root@ubuntu:~/modernmt# ./mmt translate "This is an example"
Ciò è inaccettabile.
root@ubuntu:~/modernmt# ./mmt translate "This is a dog"
Il pericolo incombe.
root@ubuntu:~/modernmt# ./mmt translate "My name is"
Questa è credibilità!
root@ubuntu:~/modernmt#

Can someone explain what am i missing? Why the simplest translation such as This is an example which according to manuals should be easily translated within 20 minutes of training couldn't be solved out after 12 hours of training?

I think you certainly have a too small training set. It is sufficient to test that all is properly running, but not to bring you with good translations. Typically, a training should be done with several million of sentence pairs, during several days. 2G on your GPU card will certainly be also too small.

@EtienneAb3d according to manual, it should be able to at least translate "This is an example" to Italian language after 20 mins of training. So I'm not sure what im doing wrong. I'll rent 2 RTX 2080 ti and see what happens

@Hasan0ff
the explanation why the system does not translate with a reasonable quality can be extrapolated from the log you reported in #466. For most of the batches there are OOM errors. This means that the training skips those batches and no updates have been performed for them.
Essentially, the training did not use most of the data, so the model created is definitely under-performing.
As reported here, you need more GPU RAM to get a "good" model. GTX1080Ti have enough memory for the purpose; RTX2080 is also fine.
Finally, I would like to stress that the performance improves if the training is performed on a machine with multiple GPUs. So I would suggest to test train the system on a 4-GPU or 8-GPU (GTX1080Ti) machine, if you can.

Hi @Hasan0ff
just like @nicolabertoldi said: too low GPU RAM prevented your engine to properly train.
But please, keep in mind what @EtienneAb3d  said: a training set (examples/data/train) of 120.000 source words cannot give anything reasonable.
In order to have a generic engine barely acceptable you will need something around 100.000.000 of source words.

@nicolabertoldi and @davidecaroselli thanks for recommendation. Going to paperspace to rent proper server right now :D Will inform of up-coming results.

Closing this issue for inactivity, please feel free to re-open it if the issue persist or for further discussions!


time.Time & time.Duration support

skylark intentionally does not support scripts based on time, so they're deterministic, but the heck with that, I want time and date based code.  It's easy enough to provide skylark with custom skylark.Value types... so let's do that

This is being done in github.com/hippogryph/time


Idlib, Tartus, Daraa and Deir ez-Zour for Syria

Hello. I propose adding Idlib, Tartus, Daraa and Deir ez-Zour in Syria.
This will create the opportunity to create a more realistic map of the civil war in Syria.

Thanks for the suggestion
I will add those provinces in a future update.


CodeCombat not working

CodeComabt just wont work on any browser! Nothing!

Are you setting up a dev environment? the live site looks ok from where I'm at.
Hipchat is generally the best place to go for help getting the dev environment set up.

I am in HipChat and @nwinter was helping me.  I already have a dev environment, but I am not using dev environment right now.

Less dramatic.

@makertech81 Is it still busted today? I just can't figure out why it's not working for you all of a sudden.


Support OMF format object files.

While OMF is an older format, support for it would allow downstream tools such as https://github.com/encounter/objdiff to be used when researching the output of older tool chains such as watcom and borland.

I don't have any experience with OMF but it seems appropriate to add support here. The linked objdiff issue contains info that will be helpful to whoever wants to implement this.


Update outdated prometheus example

Is your feature request related to a problem?
The Prometheus example in experimental/examples/prometheus is a bit outdated at the moment, with @opentelemetry/sdk-metrics-base at 0.28.0. Further #3162 renames @opentelemetry/sdk-metrics-base to @opentelemetry/sdk-metrics locally for 0.31.0, and for releases 0.32.0 and up.
Describe the solution you'd like
Update the Prometheus example to use the latest version of @opentelemetry/sdk-metrics once #3162 is merged into main.

Related to #3110

It's yours @avzis :slightly_smiling_face:
If you have any questions, feel free to reach out!


External Refs Resolution

Hi, given that external refs are not supported, i've tested out a local setup in which the only change im doing is adjusting the loadUrl functionality such that it utilises json-refs library. for which all references are resolved.
Old Code
 private loadUrl(url: string): void {
      fetch(url)
          .then(resp => resp.json())
          .then(schema => this.setState({ result: { schema, currentUrl: url } }))
          .catch(e => this.setState({ result: { currentUrl: url, schema: { message: e.message }}}));
   }

New Code
 private loadUrl(url: string): void {
      jsonRefs.resolveRefsAt(url).then((result) =>
         this.setState({ result: { schema: result.resolved as JsonSchema, currentUrl: url } })
      ).catch(e => this.setState({ result: { currentUrl: url, schema: { message: e.message }}}));
  }

would such a PR be accepted?
maybe utilising a toggle in the homepage wether refs should be resolved or not, would switch between the two ?

Hmm, the idea of this App, for performance reasons, was never to have to load external schemas once your schema was successfully downloaded: you either got everything or nothing.
Is it possible to bundle your external schema fully before providing it to this tool?
However, that said, can you paste a screenshot of what the error state looks like in the event that a sub-referenced schema fails to load?

regs resolution would be very useful. most schemas in the Spatio Temporal Asset Catalog ecosystem use refs
this fails
https://raw.githubusercontent.com/crim-ca/mlm-extension/main/json-schema/schema.json


Would you take a PR to throw an error for all empty configs?

Current behavior:
When using load(null, configPath) cosmiconfig throws an error
When using load(dirPath) cosmiconfig continues to traverse up the directory path
If this was intentional then please help me understand why.  Otherwise I would like to create a PR to throw in all cases.  I don't really care whether an error is thrown, we're mostly looking for a way to differentiate empty configurations from those which are non-existent.  e.g. package.json with an empty prettier property should behave differently from a package.json without a prettier property.

Why
prettier-atom would like to allow users to specify settings within the plugin for one-off cases where files do not belong to projects.  However if any configuration is found, even empty then we would like to use that configuration instead.  Empty signifying default settings.

@olsonpm, When loading a specified file, the behavior was inconsistent if the file was empty(see https://github.com/davidtheclark/cosmiconfig/pull/78#issuecomment-318810892) and this was fixed in v3.0.0. However, when performing a search up the directory tree, I am not entirely sure that we should throw an error when we find an empty config file.

package.json with an empty prettier property should behave differently from a package.json without a prettier property.

If the pkg has an empty property, the search resolves with {}. The same is true for a JSON file with {} as the contents. So would it be enough to check if the value that cosmiconfig search resolves to, is an empty object?

resolve to empty cfg
package.json:
{
  "name": "prettier-pkg-empty-cfg",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "prettier": "^1.10.2"
  },
  "prettier": {}
}

λ node
> let prettier = require('prettier')
> let filepath = path.resolve('./index.js')
'E:\\Projects\\experiments\\prettier-pkg-empty-cfg\\index.js'
> prettier.resolveConfig(filepath).then(console.log);
> {}

If this was intentional then please help me understand why.

I'll try to explain the original intention.
load(null, configPath) is supposed to point at a particular file. If you use that argument, your suggesting "A config file should be here." In that case, if there's no config file there, there's been a misunderstanding and you'll want an error — same as if you told fs.readFile to read a file that doesn't exist.
load(dirPath) is supposed to search, starting in that directory, for a config. If nothing is found, that's not really an error — it's just that nothing was found.
(Make sense? Or is that silly?)
If I understand correctly, the problem is that an empty (but existent) config is treated the same as a non-existent config when you're searching. I think I agree with @olsonpm that if an empty config is found, cosmiconfig should not continue searching, but should return with the filepath to the empty config and either {} or undefined or null for the config. The fact that you got this object, and it has a filepath property, would then be enough to distinguish between an empty config and no config.
What do you think?

This also reminds me that I don't really like this overloading of load. It would be preferable to have two functions, right? Maybe load (specified file) and search (from a directory)?
Maybe if we need to introduce another breaking change, we should also make that change, to clarify things. Unless people disagree.

Thanks so much for your feedback

So would it be enough to check if the value that cosmiconfig search resolves to, is an empty object?
Yes - and I'm sorry for the incorrect example as I really should have tested that.  However, isn't an *rc file with {} to json equivalent to an empty file for yaml?

if an empty config is found, cosmiconfig should not continue searching, but should return with the filepath to the empty config and either {} or undefined or null for the config.
Agreed - though I still think an empty *rc file should be parsed as yaml and thus be treated as an empty config {}.  I don't use yaml though so I could be missing something.

It would be preferable to have two functions, right?
Agreed 👍

Empty configs are now handled consistently in the v5 branch, so closing this issue.


./start-console won't work with non-admin user

getting the following error trying to run ./start-console.sh
Starting local OpenShift console...
Error from server (Forbidden): configmaps "monitoring-shared-config" is forbidden: User "test" cannot get resource "configmaps" in API group "" in the namespace "openshift-config-managed"

Hey @glekner, this is fixed with the latest commit https://github.com/spadgett/console-plugin-template/commit/1b68e045da018ba72dbae7aca02081ee96676b9f. Let me know if you still see the issue.


MQTT Client initialized incorrectly with paho-mqtt to 1.3.0

The following config demonstrates the bug:
mqtt
  broker: <IP_ADDRESS>
  port: 1883
  client_id: home-assistant-1
  keepalive: 60
  protocol: 3.1
  tls_insecure: True
  tls_version: auto

This is called out as breaking change in this pull request: https://github.com/home-assistant/home-assistant/pull/8125
from the CR:

tls_insecure_set() must now be called after tls_set().

Stacktrace when starting hass:
2017-07-04 07:52:36 ERROR (MainThread) [homeassistant.setup] Error during setup of component mqtt
Traceback (most recent call last):
  File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/setup.py", line 187, in _async_setup_component
    result = yield from component.async_setup(hass, processed_config)
  File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/mqtt/__init__.py", line 364, in async_setup
    will_message, birth_message, tls_version)
  File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/mqtt/__init__.py", line 456, in __init__
    self._mqttc.tls_insecure_set(tls_insecure)
  File "/home/homeassistant/.homeassistant/deps/paho/mqtt/client.py", line 727, in tls_insecure_set
    raise ValueError('Must configure SSL context before using tls_insecure_set.')

@matust7 as a work around, can you remove tls_insecure: True from your config.  Does that unblock you?

Yep, that gets it working again

The test case still works fine:
mqtt:
  broker: test.mosquitto.org
  port: 8883
  certificate: /home/fab/.homeassistant/mosquitto.org.crt
  tls_insecure: False
  tls_version: auto

Also, tls_insecure_set() is called after tls_set() but tls_set() is only used if certificate: is set. If certificate: is missing and tls_insecure: is present then the issue occurs.
I minimize the configuration sample (https://github.com/home-assistant/home-assistant.github.io/commit/75b30f6014c433c94f73f73248454efd88b3e9b4) to avoid that user end-up with configuration variables which do not make sense.

I'm having the same issue, but removing
tls_insecure: True
does not resolve the issue for me. I get the same error.


[New game]: Word guessing game

🎮 Game Request
To build a word guessing game with the help of CSS, HTML and  Javascript
Point down the features

To make a word guessing game word-guessing to enhance memory power
To use HTML, CSS and JS for making the game more interactive

Select program in which you are contributing
No response
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @DhairyaMajmudar !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

/assign

Hey @DhairyaMajmudar 👋!
@kunjgit here,
We have this annoucement to make 📢!!
We have updated our README 🚀
Make sure you follow proper guideline to raise your next issues !!
Make sure you join our Discord🕹 if you haven't 😇
Thank you 💗!

Hello @DhairyaMajmudar, Time's Uppp!⏰
Sorry for closing your issue!
But it's more than a week since we haven't received anything from your side 😢 .
Come up with new ideas, create a new issue and make sure you finish it within a week! 🔥
All the best! 🚀
Happy Hacking! 💗

Hey @DhairyaMajmudar ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


mAp of mobilenet_ssd

Hello,I want to know about the precision that the model can achieved.I am training this model with 2500 photos,and the iteration is 300k.When I am evaluating this model,the mAP is 36%~38%,it seems that it could not grow more.So I want to know if there is any improvement ways,or maybe the precision of this model can only be this case.Thanks for answering my questions.

Hi @bubble0000,
Probably the best way is to crop the data and resize it to 300x300 so that the aspect ratio is 1:1. Please crop the image frame to be predicted to have an aspect ratio of 1:1, too.
reference:
https://forums.intel.com/s/question/0D50P00004NM0RCSA1/image-aspect-ratio-how-does-it-affect-accuracy?language=en_US


Add wiki?

Title - Also let me contribute

effort - we don't have enough commands for that anyway - or big enough of a community
also yes there are like 14 other issues that need solving lol


Consider supporting repetition where element type is Result

Something like this:
use proc_macro2::TokenStream;
use quote::quote;
use syn::Result;

fn item(i: usize) -> Result<TokenStream> {
    Ok(quote!(#i))
}

fn all_items() -> Result<TokenStream> {
    let iter = (0..4).map(item);

    Ok(quote! {
        #(#iter),*
    })
}

fn main() {
    println!("{}", all_items().unwrap());
}

The semantics should be the same as if the loop we generate were operating on elem? instead of elem for each Result in the iterator.
The current workaround is to collect to Result<Vec<_>> first.
let v = (0..4).map(item).collect::<Result<Vec<_>>>()?;

We might want to have it be clear that we're expecting a result in that scenario, but I'm not sure how to do that backwards-compatibly. I might suggest quote!(#(#iter?),*), but that unfortunately already has a meaning. I'm not sure I love having quote! implicitly insert returns into your function if the type of an iterator's item happens to be a Result, but maybe it's OK?

Let's not do this after all. Using collect::<Result<Vec<_>>>()? beforehand is fine and preferable over quote inserting invisible early returns.

I stumbled across this issue because I had exactly this usecase. Would you maybe be willing to revisit this? There's a certain overhead to collecting into a result beforehand and it can't really be avoided without support from quote!. Right now, iterators over Results just do not compile, so all existing code would continue to work seamlessly and no new syntax would be required


templates: Add missing tabnabbing protection for target="_blank" links

These links were introduced in #17369 and #17499. Cc @amanagr, @hackerkid; please remember that https://web.dev/external-anchors-use-rel-noopener/ is important for security.

Thanks for the headsup. I didn't knew about the performance issue. I was aware of the security issue but I thought it was not applicable for the sponsors link since it was pointing to GitHub. Or is a security issue still possible?

There’s no reason to give GitHub (or someone who compromises GitHub) the ability to attack our app, even if we think that won’t happen. Least privilege should always be the default, unless additional privileges are necessary. If there was some reason we needed to trust GitHub for additional functionality, that’s a conversation we could have—although we would still need to have it and be aware of our exposure—but there’s no functionality to be gained here.

Merged, thanks @andersk!


Question about signature_cache parameter

Hello,
When signature_cache=True, which is by default, it seems that the caching uses the gene signature vector as the hash key. My question is, if I then try a different library but on the same signature, should I set signature_cache=False in order to get the more accurate and reproducible results? E.g.
import blitzgsea as blitz
res1 = blitz.gsea(signature, library1, seed=0)
res2 = blitz.gsea(signature, library2, seed=0, signature_cache=False)

Thanks!
Sincerely,
Yiming

Hi,
the signature_cache is reused if the distribution of values in a signature are identical. The reason is that the null model to calculate the normalized enrichment scores depends on the size of the gene-set and the value distribution from the signature. If you switch the library it does not matter, since blitzgsea calculates null model parameters for a large range of gene set sizes. So it can reuse previously calculated null models for the same signature, even if the library changes.

Thanks for the explanation.
The reason I'm asking this question is that I encounter the case that my results would be different if the same signature runs with lib1 then lib2, comparing to only running with lib2.
Namely, the following code
_ = blitz.gsea(signature, lib1, seed=0)
res = blitz.gsea(signature, lib2, seed=0)

would give different res than
res = blitz.gsea(signature, lib2, seed=0)

while by setting signature_cache=False solves the issue:
_ = blitz.gsea(signature, lib1, seed=0)
res = blitz.gsea(signature, lib2, seed=0, signature_cache=False)

Since library is sort of used when estimating the anchors (https://github.com/MaayanLab/blitzgsea/blob/main/blitzgsea/init.py#L111-L112), I wonder if that is the reason for the different results.

There is definitely some randomization that can cause slightly different results to random permutation sampling. How different are the results?

The es, geneset_size and leading_edge columns remain the same, while nes, pval, sidak and fdr are different.
I checked the 670 terms in the results, and 314 of them has adjusted p-values (fdr) differ larger than 0.1. This may change their significance at FDR 10% level. I've listed some of those terms below.

Hi, thank you for the example. I will investigate this.


How to handle and create custom 404 page

Question

How to handle and create custom 404 page

@f3l1x
I used this from vercel documentation but it not working
{   "functions": {     "api/**/*.php": {       "runtime"<EMAIL_ADDRESS>   }   },   "routes": [     { "src": "/(.*)", "dest": "/api/$1" },     { "src": "/(.*)", "status": 404, "dest": "/api/404.php" }   ]

Can you share where is this example?

@f3l1x
https://vercel.com/guides/custom-404-page#what-if-i-need-to-name-my-404-file-something-different