Energy detection based sampler

Description
Progress

[ ] tests
[ ] documentation
[ ] implementation

[x] EnergyDetectionSampler class
[x] energy computation with an optional lowpass filter. if the lowpass filter does not have any significant impact, we might as well just get rid of it, then we need no fft...
[ ] parallelise energy computation. the difficulty is to keep memory usage under control
[ ] filtering strategy: threshold ? It cannot be hardcoded I think... Or sorting by highest energy and taking the N first windows ? Prolly too biased... For now I suggest to sample from the x percents of windows with the highest energy. What do you think ? Discussion here.
[ ] multi-channel support: we need to decide how to do that in the first place !. I suggest we sum the energies across channels, and apply the threshold based on the quantile of the sum of energies. It does not make sense to sum amplitudes, but it does make much more sense to sum average energies over some interval of time. The only issue that I can see, is that this has a bias towards overlapping sources... but, so does any threshold based on the energy tbh ! Discussion here.
[ ] combining several recorders : Let be x_i and y_i the fractions of windows having a higher energy than the window i, for the recorder x and the recorder y respectively. There are several possibilities:

Check the agreement between devices ? (i.e. veto windows that do not pass the threshold in one of the devices). This leads to the condition (1-x_i > 1-q) and (1-y_i > 1-q).
Find a way to combine the energy quantiles of each (window, recorder). These can be computed independently w/o any difficulty for the recorders x and y. By definition, P(x_i < x) = x and P(y_i < y) = y (they follow U(0,1)). It follows that P(x_i > x) = 1-x and P(y_i > y) = 1-y. Obviously, x_i and y_i are expected to be strongly correlated... But if we assume they are not, we might be able to combine these p-values in some way idk...
We can also average energies or something, but that sounds really wrong... unless we do some normalization first, which is cumbersome...

Imo the agreement based approach seems more appropriate.

Associated issues
#109

About the multi-channel discussion :

your approach seems fine to me.
I think it'd be nice to be able to run the pipeline only on one of the N (N=2 or N=4) channel. In some cases (it may be the case with the BabyLogger), we can put some prior on which mic' gets the most speech.

combining several recorders : Let be x_i and y_i the fractions of windows having a higher energy than the window i, for the recorder x and the recorder y respectively. There are several possibilities:

Check the agreement between devices ? (i.e. veto windows that do not pass the threshold in one of the devices). This leads to the condition (1-x_i > 1-q) and (1-y_i > 1-q).
Find a way to combine the energy quantiles of each (window, recorder). These can be computed independently w/o any difficulty for the recorders x and y. By definition, P(x_i < x) = x and P(y_i < y) = y (they follow U(0,1)). It follows that P(x_i > x) = 1-x and P(y_i > y) = 1-y. Obviously, x_i and y_i are expected to be strongly correlated... But if we assume they are not, we might be able to combine these p-values in some way idk...
We can also average energies or something, but that sounds really wrong... unless we do some normalization first, which is cumbersome...Imo the agreement based approach seems more appropriate.

After your first quantile threshold, 3 possibilities :

No agreement at all amongst the 2 recorders : dead-end
You get agreement for some windows, but not enough of them
Full agreement

The situation where you'll end up will mainly depend on the quantity of data you have, the threshold you apply.
In situation number 1) and 2), you could always decide to lower the quantile threshold until you get enough windows for recorder a) and recorder b) : not sure this is the ideal solution.
Solution that seems the easiest to implement is the one that consists in averaging energies.
You can do something like :

Compute E_a, E_b the list of energies for recorder a) and recorder b)
Normalize E_a by : (E_a - mean(E_a)) / std(E_a), same for E_b
Go through your single-channel pipeline : apply quantile threshold, etc ...

This is just one more pre-processing step as compared to solution 1) and 2).
Agreement-based solutions seem scary to me as they are too data-dependent, and you'll always find situations where you won't have enough agreements between the 2 recorders. Hence, why I'll "combine the 2 recorders" as soon as possible.

About the multi-channel discussion :

your approach seems fine to me.
I think it'd be nice to be able to run the pipeline only on one of the N (N=2 or N=4) channel. In some cases (it may be the case with the BabyLogger), we can put some prior on which mic' gets the most speech.

I suggest two different options:

We provide an additional 'channel' option. If specified, only this channel is used to compute the energy
We provide a 'channel_weights' option. It must be a list of length equal to the amount channels. Each channel energy is then weighted by some coefficient. One can turn off channels by setting their coefficient to 0.

combining several recorders : Let be x_i and y_i the fractions of windows having a higher energy than the window i, for the recorder x and the recorder y respectively. There are several possibilities:

Check the agreement between devices ? (i.e. veto windows that do not pass the threshold in one of the devices). This leads to the condition (1-x_i > 1-q) and (1-y_i > 1-q).
Find a way to combine the energy quantiles of each (window, recorder). These can be computed independently w/o any difficulty for the recorders x and y. By definition, P(x_i < x) = x and P(y_i < y) = y (they follow U(0,1)). It follows that P(x_i > x) = 1-x and P(y_i > y) = 1-y. Obviously, x_i and y_i are expected to be strongly correlated... But if we assume they are not, we might be able to combine these p-values in some way idk...
We can also average energies or something, but that sounds really wrong... unless we do some normalization first, which is cumbersome...Imo the agreement based approach seems more appropriate.

After your first quantile threshold, 3 possibilities :

No agreement at all amongst the 2 recorders : dead-end
You get agreement for some windows, but not enough of them
Full agreement

The situation where you'll end up will mainly depend on the quantity of data you have, the threshold you apply.
In situation number 1) and 2), you could always decide to lower the quantile threshold until you get enough windows for recorder a) and recorder b) : not sure this is the ideal solution.
Solution that seems the easiest to implement is the one that consists in averaging energies.
You can do something like :

Compute E_a, E_b the list of energies for recorder a) and recorder b)
Normalize E_a by : (E_a - mean(E_a)) / std(E_a), same for E_b
Go through your single-channel pipeline : apply quantile threshold, etc ...

This is just one more pre-processing step as compared to solution 1) and 2).
Agreement-based solutions seem scary to me as they are too data-dependent, and you'll always find situations where you won't have enough agreements between the 2 recorders. Hence, why I'll "combine the 2 recorders" as soon as possible.

I see.. Though, I am more optimistic than you. I would expect high correlations between the two recorders. Besides the distribution of energies is very flat. Here is the distribution for 600 30s windows drawn from a 20h USB recording. The energy is spanned across 5 orders of magnitude.

In the end, it is not very difficult to switch from one way or another once we have the core pipeline ready.
So from now on, i'll implement the method you suggest, but the recorder-agreement thing will lie outside of the package, because that seems way too specific - though it will use the package to compute the energies.
There is just one thing I need to think about : whether this z-score normalization really fits. I might be overthinking this...


The task mode line size will increase much than necessary when zooming in

What did you expect to happen?
When zooming in, the mode line should grow at approximately the same rate as with font size.
What actually happened?
However, it could be as wide as 3 times text height.
Additional details:

If an error message is involved include a backtrace of it.
How to acquire a backtrace:
https://github.com/hlissner/doom-emacs/blob/develop/docs/getting_started.org#how-to-extract-a-backtrace-from-an-error

Steps to reproduce:
open emacs
command + "+" zooming in
System information:
<details><pre>
SYSTEM  type       darwin
        config     x86_64-apple-darwin19.5.0
        shell      /bin/zsh
        uname      Darwin 19.6.0 Darwin Kernel Version 19.6.0: Mon Aug 31 22:12:52 PDT 2020; root:xnu-6153.141.2~1/RELEASE_X86_64 x86_64
        path       (/opt/intel/compilers_and_libraries_2020.1.216/mac/bin/intel64 /opt/intel/compilers_and_libraries_2020.1.216/mac/bin /usr/local/opt/gettext/bin /usr/local/opt/imagemagick@6/bin /usr/local/sbin /usr/local/opt/ruby/bin /usr/local/opt/llvm/bin /Applications/Julia-1.4.app/Contents/Resources/julia/bin /usr/local/bin /usr/bin /bin /usr/sbin /sbin /Library/TeX/texbin /usr/local/MacGPG2/bin /opt/X11/bin /Library/Apple/usr/bin /Library/Frameworks/Mono.framework/Versions/Current/Commands ~/usr/bin ~/usr/itensor /Applications/Emacs.app/Contents/MacOS/bin-x86_64-10_14 /Applications/Emacs.app/Contents/MacOS/libexec-x86_64-10_14<EMAIL_ADDRESS>EMACS   dir        ~/.emacs.d/
        version    27.1
        build      Aug 27, 2020
        buildopts  --disable-dependency-tracking --disable-silent-rules --enable-locallisppath=/usr/local/share/emacs/site-lisp<EMAIL_ADDRESS><EMAIL_ADDRESS>--with-xml2 --with-gnutls --without-dbus --with-imagemagick --with-modules --with-rsvg --with-ns --disable-ns-self-contained
        features   RSVG IMAGEMAGICK GLIB NOTIFY KQUEUE ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES THREADS JSON PDUMPER LCMS2 GMP
        traits     (daemon server-running envvar-file)
DOOM    dir        ~/.doom.d/
        version    2.0.9
        build      grafted, HEAD -> develop, origin/develop, origin/HEAD 1456108d 2020-09-10 18:03:32 -0400
        elc-files  0
        modules    (:completion company ivy :ui doom doom-dashboard doom-quit hl-todo modeline nav-flash neotree ophints (popup +all +defaults) ligatures treemacs unicode vc-gutter vi-tilde-fringe window-select workspaces :editor (evil +everywhere) file-templates fold multiple-cursors rotate-text snippets :emacs dired electric ibuffer vc :term shell term :checkers syntax spell grammar :tools (eval +overlay) (lookup +docsets) (lsp +peek) :os macos :tools magit make pdf tmux upload :lang (cc +lsp) data (emacs-lisp +lsp) julia latex markdown (org +dragndrop +pandoc +pomodoro +present) (python +lsp) sh :email (mu4e +gmail) :app (rss +org) :config (default +bindings +smartparens))
        packages   ((command-log-mode) (sx) (helm-descbinds :recipe (:host github :repo emacs-helm/helm-descbinds)) (lsp-julia :recipe (:host github :repo non-Jedi/lsp-julia)))
        unpin      (n/a)
        elpa       (n/a)

still there.


ci!: add support of testing with python 3.10

Signed-off-by: ktro2828<EMAIL_ADDRESS>Category

[ ] Perception

[ ] Detection
[ ] Tracking
[ ] Prediction

[ ] Sensing
[x] Other

What

Add test with Python3.10
Remove requirements.txt and update pyproject.toml
Remove test with Python3.7.11

Type of change

[ ] New feature
[ ] Bug fix
[ ] Breaking change
[ ] Refactoring
[ ] Change code style
[x] Update test
[ ] Update document
[ ] Chore

Test performed

[ ] test.sensing_lsim

[ ] test.perception_lsim

Reference

Notes for reviewer

This PR will be merged after https://github.com/tier4/autoware_perception_evaluation/pull/26


Euclidean distance transform: fix bad choice of block parameters

closes #392
This PR fixes #392 and also makes it more friendly for use with user-provided block_params. In general, most users should not be providing that argument, but it can be used to compare different settings for performance optimization. In case of user-provided block_params, the implementation now automatically pad the shape to an appropriate least common multiple of the warp_size and the m1, m2 and m3 block parameters.
More extensive unit tests over a range of image sizes and block_params settings are now implemented.

Thanks for reviewing, I think I have addressed the comments.


Change atol for test of sum

This test often fails.

Please rebase or merge the master branch

LGTM :+1:


[MBO-1611] Get rid of ramsey/uuid

Fixes https://github.com/PrestaShopCorp/ps_mbo/issues/735

Awesome !


new open-source alternative to GitHub

Gitly is a new open-source alternative to GitHub written in V. It is currently in pre-alpha, but may be something we should consider in the intermediate to long-term future for increased focus on open source and potential performance improvements/flexibility.

closing due to inactivity


Add weave launch-proxy

This adds a docker remote API proxy to the weaveexec image. The proxy is
auto-launched when running a container with weave cli.
The proxy currently has hooks for:

Hook
Action

Pre Container Create
Adjusts the entrypoint of a container to wait for the ethwe interface.

Post Container Start
Attaches a weave interface to a container given a WEAVE_CIDR environment entry.

docs need updating

docs need updating

Off the top of my head:

Usage of weave start, if it appears, should be updated (in readme, possibly; in site/features.md)
Any examples that assume containers will run in the background will need changing

I think it'd be worth having a brief description of how weave run goes through the proxy, and how one can use docker directly to do the same thing.

As per f2f discussion with @rade, let's not change bash script commands to use proxy, or autolaunch. Just provide launch-proxy as a "beta feature" and document how to use it with the docker cli tool.

Closed in favour of #655


Self-adjustment in the Dice Loss

I read the ACL2020 paper and it suggests self-adjustment in the Dice Loss with Figure 1, which explains the derivative approaches zero right after p exceeds 0.5. This is the case when the alpha is 1.0. However, the script for OntoNotes5 data use alpha=0.01, which is very small adjustment and gives almost same performance with just squared form of Dice. When I use alpha=1.0 and learn the model with the script and CoNLL2003 data, the model does not learn well (the F1 was about 28.96). I wonder why the self-adjustment does not affect well. Could you explain which value of alpha is best in general?

Hi, thanks for asking!
Take binary classification as an example. Setting alpha reduces the relative loss for well-classified examples (p_t > 0.5), putting more focus on hard, misclassified examples. We tune alpha on [0.1, 0.01, 0.001] and select the best according to the validation set.

Thanks for the range of alpha value.
In my case of BIO scheme-based NER model (which is multi-label sequence classification), the alpha values of [0.05, 0.1] range were good for learning, but still does not give better performance than crf or cross-entropy losses.


Changing verbiage to sectors

This document talks about creating a partition that is offset by 2048 sectors, but several places in the doc its listed as 2048 KB (which is not right).
My commit clarifies this in several sections.

@recklessop : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@recklessop : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@iqshahmicrosoft Could you review the proposed changes to your article? Thanks.

@iqshahmicrosoft Could you review the proposed changes to your article? Thanks.

@iqshahmicrosoft Could you review the proposed changes to your article? Thanks

We are working on updating the document. Thanks for pointing out the issues.

@iqshahmicrosoft Could you review the proposed changes to your article? Thanks

We are working on updating the document. Thanks for pointing out the issues.

@iqshahmicrosoft
        Iqbal Shahid
        FTE Could you review the proposed changes to your article? Thanks

We are working on updating the document. Thanks for pointing out the issues.

Hi @iqshahmicrosoft - This is a community contributor-created pull request to merge into the current documentation on the live site. Could you indicate what action the PR review team should take by adding one of these: #sign-off, #hold-off, or #please-close? Also, if you have any feedback for the contributor, you could add that here. Many thanks.

@iqshahmicrosoft
        Iqbal Shahid
        FTE Could you review the proposed changes to your article? Thanks

We are working on updating the document. Thanks for pointing out the issues.

Hi @iqshahmicrosoft - This is a community contributor-created pull request to merge into the current documentation on the live site. Could you indicate what action the PR review team should take by adding one of these: #sign-off, #hold-off, or #please-close? Also, if you have any feedback for the contributor, you could add that here. Many thanks.

Adding @Kriti Shahmailto:Kriti.Shah@microsoft.com/@Mayank <EMAIL_ADDRESS>who are updating the doc.
@Kriti<EMAIL_ADDRESS>can you please answer the question below?
From: Kristine Toliver<EMAIL_ADDRESS>Sent: Monday, January 11, 2021 12:23 PM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Iqbal Shahid<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] Changing verbiage to sectors (#68627)
@iqshahmicrosofthttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fiqshahmicrosoft&data=04|01|iqshah%40microsoft.com|37ba59d6ed594689176d08d8b66ea1c7|72f988bf86f141af91ab2d7cd011db47|1|0|637459933571075314|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=HROiwG4X%2FOp7Rf6N78%2Bq0H22ChVBZW9nnAzrP%2BTItaU%3D&reserved=0
    Iqbal Shahid

    FTE Could you review the proposed changes to your article? Thanks

We are working on updating the document. Thanks for pointing out the issues.
Hi @iqshahmicrosofthttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fiqshahmicrosoft&data=04|01|iqshah%40microsoft.com|37ba59d6ed594689176d08d8b66ea1c7|72f988bf86f141af91ab2d7cd011db47|1|0|637459933571075314|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=HROiwG4X%2FOp7Rf6N78%2Bq0H22ChVBZW9nnAzrP%2BTItaU%3D&reserved=0 - This is a community contributor-created pull request to merge into the current documentation on the live site. Could you indicate what action the PR review team should take by adding one of these: #sign-off, #hold-off, or #please-close? Also, if you have any feedback for the contributor, you could add that here. Many thanks.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fpull%2F68627%23issuecomment-758200660&data=04|01|iqshah%40microsoft.com|37ba59d6ed594689176d08d8b66ea1c7|72f988bf86f141af91ab2d7cd011db47|1|0|637459933571085308|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=kn%2Ft97DZoCRsW7Fl6aHTXacXTH5dNLajbLUwmmac6wM%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FANUC2LOZT5HJQ5X3F2VXPULSZNMYVANCNFSM4V277BSA&data=04|01|iqshah%40microsoft.com|37ba59d6ed594689176d08d8b66ea1c7|72f988bf86f141af91ab2d7cd011db47|1|0|637459933571085308|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=klzKC3riLkGgH5p7nTwiIb9HkR9M2PKMjFzhg6BuXes%3D&reserved=0.

Adding @Kriti Shahmailto:Kriti.Shah@microsoft.com/@Mayank <EMAIL_ADDRESS>who are updating the doc.
@Kriti<EMAIL_ADDRESS>can you please answer the question below?
From: Kristine Toliver<EMAIL_ADDRESS>Sent: Monday, January 11, 2021 12:23 PM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Iqbal Shahid<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] Changing verbiage to sectors (#68627)
@iqshahmicrosofthttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fiqshahmicrosoft&data=04|01|iqshah%40microsoft.com|37ba59d6ed594689176d08d8b66ea1c7|72f988bf86f141af91ab2d7cd011db47|1|0|637459933571075314|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=HROiwG4X%2FOp7Rf6N78%2Bq0H22ChVBZW9nnAzrP%2BTItaU%3D&reserved=0
    Iqbal Shahid

    FTE Could you review the proposed changes to your article? Thanks

We are working on updating the document. Thanks for pointing out the issues.
Hi @iqshahmicrosofthttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fiqshahmicrosoft&data=04|01|iqshah%40microsoft.com|37ba59d6ed594689176d08d8b66ea1c7|72f988bf86f141af91ab2d7cd011db47|1|0|637459933571075314|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=HROiwG4X%2FOp7Rf6N78%2Bq0H22ChVBZW9nnAzrP%2BTItaU%3D&reserved=0 - This is a community contributor-created pull request to merge into the current documentation on the live site. Could you indicate what action the PR review team should take by adding one of these: #sign-off, #hold-off, or #please-close? Also, if you have any feedback for the contributor, you could add that here. Many thanks.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fpull%2F68627%23issuecomment-758200660&data=04|01|iqshah%40microsoft.com|37ba59d6ed594689176d08d8b66ea1c7|72f988bf86f141af91ab2d7cd011db47|1|0|637459933571085308|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=kn%2Ft97DZoCRsW7Fl6aHTXacXTH5dNLajbLUwmmac6wM%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FANUC2LOZT5HJQ5X3F2VXPULSZNMYVANCNFSM4V277BSA&data=04|01|iqshah%40microsoft.com|37ba59d6ed594689176d08d8b66ea1c7|72f988bf86f141af91ab2d7cd011db47|1|0|637459933571085308|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=klzKC3riLkGgH5p7nTwiIb9HkR9M2PKMjFzhg6BuXes%3D&reserved=0.

You cannot sign off and hold off at the same time.

You cannot sign off and hold off at the same time.

This correction is reflected in recent topic updates. If this does not resolve your question, please provide additional information, or submit a support ticket at https://docs.microsoft.com/en-us/azure/marketplace/support. Thank you for contributing! #please-close

This correction is reflected in recent topic updates. If this does not resolve your question, please provide additional information, or submit a support ticket at https://docs.microsoft.com/en-us/azure/marketplace/support. Thank you for contributing! #please-close


Unable to profile tf.keras Model. Am I missing something or is it a known issue?

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): RHEL 7
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: NA
TensorFlow installed from (source or binary): No
TensorFlow version (use command below): 1.9
Python version: 2.7
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version:
GPU model and memory: NA
Exact command to reproduce: Below code

Describe the problem
tf.contrib.tfprof does not profile tf.keras Model. Am I missing something or is it a known issue?
Source code / logs
The goal is to find what % of total time is spent in the input pipeline (mostly IO) and what % of total time is spent on model training – ideally a chart like the one presented in the Training Performance session at tf dev summit 2018.
Model Training:
training_set = tfdata_generator_with_interleave([“f1.avro”, “f2.avro”, …], is_training=True, batch_size=512, preprocess_fn=preprocess_fn_dense)
validation_set = tfdata_generator_with_interleave([“f1_val.avro”, “f2_val.avro”, …], is_training=False, batch_size=512, preprocess_fn=preprocess_fn_dense)
model = my_tf_keras_dense_deep_model()
model.compile(loss='categorical_crossentropy', optimizer=”adam”, metrics=['accuracy'])

with tf.contrib.tfprof.ProfileContext( './profiles/dense_model’) ) as pctx:
   model.fit(
                training_set.make_one_shot_iterator(),
                steps_per_epoch=TOTAL_TRAIN_RECORDS // _BATCH_SIZE, # need this as we are feeding data using a generator
                epochs=_EPOCHS,
                validation_data= validation_set.make_one_shot_iterator(),
                validation_steps=TOTAL_TEST_RECORDS // _BATCH_SIZE,
                callbacks=[tensorboard])

Input Pipeline:
def tfdata_generator_with_interleave(data_files, is_training, batch_size=128, preprocess_fn=preprocess_fn_dense):
    def wrap_generator(filename):
        return tf.data.Dataset.from_generator(read_local_avro_data_gen, (tf.float32, tf.float64),
                                              args=[filename, batch_size / 4])

    files = tf.data.Dataset.from_tensor_slices(data_files)
    dataset = files.apply(tf.contrib.data.parallel_interleave(wrap_generator, cycle_length=4, sloppy=True))
    dataset = dataset.flat_map(lambda *x: tf.data.Dataset.from_tensor_slices(x))

    if is_training:
        dataset = dataset.apply(tf.contrib.data.shuffle_and_repeat(1000, -1, 42))

    dataset = dataset.apply(tf.contrib.data.map_and_batch(preprocess_fn, batch_size,
                                                          num_parallel_batches=num_parallel_data_fetch,
                                                          drop_remainder=True if is_training else False)
                            )

    dataset = dataset.prefetch(tf.contrib.data.AUTOTUNE)
    return dataset

But I do not see any files to load into tensorboard or chrome in ./profiles directory. Does the profile not work with tf.keras models? Or Am I missing any setup?
Also tried contacting the email address mentioned on the Profiler README -<EMAIL_ADDRESS>but message sending failed.

@Nithanaroy just a comment, because I am wondering about the same thing, is that if you include the trace_steps and dump_steps parameters with ProfileContext initialization then you can get some output. I also saw no output without them.
also, there is a report of no output for the later versions of keras: https://github.com/keras-team/keras/issues/10880#issuecomment-419377716

Nagging Assignee @cy89: It has been 18 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @cy89: It has been 33 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @cy89: It has been 48 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @cy89: It has been 63 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @cy89: It has been 78 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

I had the same problem, but it actually created the profile after the epoch was done. If this does not work you can also use the python API entirely. Something like this might work for you:
run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
run_metadata = tf.RunMetadata()
ProfileOptionBuilder = tf.profiler.ProfileOptionBuilder
opts = ProfileOptionBuilder(ProfileOptionBuilder.time_and_memory()
                                    ).with_node_names(show_name_regexes=['.*']).build()
## model is some keras.models.Model instance
model.compile(
            ...,
            options=run_options,
            run_metadata=run_metadata
        )
### train model, or something else which calls tf.Session.run()
tf.profiler.profile(keras.backend.get_session().graph, run_metadata, cmd="code", options=opts)

or if you want to have multiple steps and save the profiling data (for example to open it with the ProfilerUI):
prof = tf.profiler.Profiler(graph=keras.backend.get_session().graph)
### train model, or something else which calls tf.Session.run()
prof.add_step(1, run_metadata)
### train model, or something else which calls tf.Session.run()
prof.add_step(1, run_metadata)
### continue as long as you want
with open('./profile', 'wb') as f:
    f.write(prof.serialize_to_string())

ImportError                               Traceback (most recent call last)
C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py in
57
---> 58   from tensorflow.python.pywrap_tensorflow_internal import *
59   from tensorflow.python.pywrap_tensorflow_internal import version
C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py in
27             return _mod
---> 28     _pywrap_tensorflow_internal = swig_import_helper()
29     del swig_import_helper
C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py in swig_import_helper()
23             try:
---> 24                 _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
25             finally:
C:\ProgramData\Anaconda3\lib\imp.py in load_module(name, file, filename, details)
242         else:
--> 243             return load_dynamic(name, filename, file)
244     elif type_ == PKG_DIRECTORY:
C:\ProgramData\Anaconda3\lib\imp.py in load_dynamic(name, path, file)
342             name=name, loader=loader, origin=path)
--> 343         return _load(spec)
344
ImportError: DLL load failed: The specified module could not be found.
During handling of the above exception, another exception occurred:
ImportError                               Traceback (most recent call last)
 in
----> 1 from keras import layers, models, optimizers
C:\ProgramData\Anaconda3\lib\site-packages\keras_init_.py in
1 from future import absolute_import
2
----> 3 from . import utils
4 from . import activations
5 from . import applications
C:\ProgramData\Anaconda3\lib\site-packages\keras\utils_init_.py in
4 from . import data_utils
5 from . import io_utils
----> 6 from . import conv_utils
7
8 # Globally-importable utils.
C:\ProgramData\Anaconda3\lib\site-packages\keras\utils\conv_utils.py in
7 from six.moves import range
8 import numpy as np
----> 9 from .. import backend as K
10
11
C:\ProgramData\Anaconda3\lib\site-packages\keras\backend_init_.py in
87 elif _BACKEND == 'tensorflow':
88     sys.stderr.write('Using TensorFlow backend.\n')
---> 89     from .tensorflow_backend import *
90 else:
91     # Try and load external backend.
C:\ProgramData\Anaconda3\lib\site-packages\keras\backend\tensorflow_backend.py in
3 from future import print_function
4
----> 5 import tensorflow as tf
6 from tensorflow.python.framework import ops as tf_ops
7 from tensorflow.python.training import moving_averages
C:\ProgramData\Anaconda3\lib\site-packages\tensorflow_init_.py in
22
23 # pylint: disable=g-bad-import-order
---> 24 from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
25
26 try:
C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python_init_.py in
47 import numpy as np
48
---> 49 from tensorflow.python import pywrap_tensorflow
50
51 from tensorflow.python.tools import component_api_helper
C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py in
72 for some common reasons and solutions.  Include the entire stack trace
73 above this error message when asking for help.""" % traceback.format_exc()
---> 74   raise ImportError(msg)
75
76 # pylint: enable=wildcard-import,g-import-not-at-top,unused-import,line-too-long
ImportError: Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in
from tensorflow.python.pywrap_tensorflow_internal import *
File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in
_pywrap_tensorflow_internal = swig_import_helper()
File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "C:\ProgramData\Anaconda3\lib\imp.py", line 243, in load_module
return load_dynamic(name, filename, file)
File "C:\ProgramData\Anaconda3\lib\imp.py", line 343, in load_dynamic
return _load(spec)
ImportError: DLL load failed: The specified module could not be found.
Failed to load the native TensorFlow runtime.
See https://www.tensorflow.org/install/errors
for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.


feat: all-in-one mirror configs function

Includes:

pypi index
conda channel
apt source

LGTM!

I have an idea of this issue:
We provide
mirror_pip(source='tuna')

equals to
config.pip_index(url="https://pypi.tuna.tsinghua.edu.cn/simple")

and
mirror_apt(source = "sjtu", os = "20.04")

equals to
config.apt_source(source="""
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb https://mirror.sjtu.edu.cn/ubuntu focal main restricted
# deb-src https://mirror.sjtu.edu.cn/ubuntu focal main restricted
deb https://mirror.sjtu.edu.cn/ubuntu focal-updates main restricted
# deb-src https://mirror.sjtu.edu.cn/ubuntu focal-updates main restricted
deb https://mirror.sjtu.edu.cn/ubuntu focal universe
# deb-src https://mirror.sjtu.edu.cn/ubuntu focal universe
deb https://mirror.sjtu.edu.cn/ubuntu focal-updates universe
# deb-src https://mirror.sjtu.edu.cn/ubuntu focal-updates universe
deb https://mirror.sjtu.edu.cn/ubuntu focal multiverse
# deb-src https://mirror.sjtu.edu.cn/ubuntu focal multiverse
deb https://mirror.sjtu.edu.cn/ubuntu focal-updates multiverse
# deb-src https://mirror.sjtu.edu.cn/ubuntu focal-updates multiverse
deb https://mirror.sjtu.edu.cn/ubuntu focal-backports main restricted universe multiverse
# deb-src https://mirror.sjtu.edu.cn/ubuntu focal-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu focal partner
# deb-src http://archive.canonical.com/ubuntu focal partner
deb https://mirror.sjtu.edu.cn/ubuntu focal-security main restricted universe multiverse
# deb-src ht

and
mirror_conda(source = "tuna")

equals to
config.conda_channel(channel="""
channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
""")

And the all-in-one mirror configs function:
mirror(pip="tuna", apt= "sjtu", os = "20.04", conda="tuna")

equals to above.

The approach works for me, but I prefer not to flatten the arguments:
mirror(pip="tuna", apt={source="tuna", os="20.04"})

Or we can infer the os version from the base.
/cc @kemingy @VoVAllen

We can start exposing some internal graph information like OS, Cuda version, and CUDNN version.
Then the interface will be clean: mirror(pip="tuna", apt="tuna", conda="tuna").

I would create a issue and PR of envd first about exposed starlark interface.
This issue will continue after that.

I think you can work on this one without knowing about the OS. Since the current implementation cannot change the base image. It's always Ubuntu20.04.
https://github.com/tensorchord/envd/issues/1267 may take some time to discuss.

/assign


Widget version

Release the app as a widget instead of an app.

Closing this for the grilling, keeping it open for the smoking/baking mode.


Entities are not escaped

When enabling HOEDOWN_HTML_ESCAPE, people usually expects that all the special HTML symbols are treated as literal text. So this:
<pack> moved <pack>

Renders as:

<pack> moved <pack>

However, that's not the case with entities. This:
pack … pack

Renders as:

pack … pack

Is that correct behaviour?
Should we treat entities just like we treat regular text and HTML, when ESCAPE is enabled?

New code has a smarter way to do all this. :D


Getting error when trying to run pngdefry

I've installed this and tried to run it, but I keep getting this error:

Hi, coming from your reddit post.
Unfortunately, I haven't used this project, but I might have some idea why it's not working for you.
Can you check whether you have a file named pngdefry under the underlined path?

I think this is the problem - the code looks for a pngdefry binary under this path, but I think this package is no longer installing it for you at this path.
Not sure how to fix this, maybe you need to find the original binary and put it into said path.

Hi, coming from your reddit post.
Unfortunately, I haven't used this project, but I might have some idea why it's not working for you.
Can you check whether you have a file named pngdefry under the underlined path?
I think this is the problem - the code looks for a pngdefry binary under this path, but I think this package is no longer installing it for you at this path.
Not sure how to fix this, maybe you need to find the original binary and put it into said path.

ohh hm i actually dont. i only have C:\Users\Admin\AppData\Roaming\npm\node_modules\pngdefry\lib\pngdefry\bin\osx\pngdefry
no \bin\windows\pngdefry

Hi, coming from your reddit post.
Unfortunately, I haven't used this project, but I might have some idea why it's not working for you.
Can you check whether you have a file named pngdefry under the underlined path?
I think this is the problem - the code looks for a pngdefry binary under this path, but I think this package is no longer installing it for you at this path.
Not sure how to fix this, maybe you need to find the original binary and put it into said path.

ohh hm i actually dont. i only have C:\Users\Admin\AppData\Roaming\npm\node_modules\pngdefry\lib\pngdefry\bin\osx\pngdefry no \bin\windows\pngdefry
so i created \windows and copied the pngdefry binary from the osx folder in there, but when i run the command again, it says this now:

Well, OSX binary won't work on Windows, they're not compatible.
I think the only way is to compile the binary on windows and put the executable in the mentioned path.
I think this is using this binary: https://github.com/esjeon/pngdefry

Hi, coming from your reddit post.
Unfortunately, I haven't used this project, but I might have some idea why it's not working for you.
Can you check whether you have a file named pngdefry under the underlined path?
I think this is the problem - the code looks for a pngdefry binary under this path, but I think this package is no longer installing it for you at this path.
Not sure how to fix this, maybe you need to find the original binary and put it into said path.

ohh hm i actually dont. i only have C:\Users\Admin\AppData\Roaming\npm\node_modules\pngdefry\lib\pngdefry\bin\osx\pngdefry no \bin\windows\pngdefry
so i created \windows and copied the pngdefry binary from the osx folder in there, but when i run the command again, it says this now:

Well, OSX binary won't work on Windows, they're not compatible.
I think the only way is to compile the binary on windows and put the executable in the mentioned path.
I think this is using this binary: https://github.com/esjeon/pngdefry

I don't understand this one too hahah, how do I compile the binary for this one? I tried cc pngdefry.c and pngdefry.c with no luck

@korboybeats I had no problem compiling the pngdefry, but I'm on macOS.
Running cc pngdefry.c created an executable a.out (default name if not provided) which responds with such usage message

Do you have a C compiler installed on your machine?
Maybe this tutorial will help: https://www.wikihow.com/Run-C-Program-in-Command-Prompt

Alright so I installed a C compiler and just tried it again, but it just outputted a wall of errors

Will the binary you compiled work for me?

@korboybeats I had no problem compiling the pngdefry, but I'm on macOS.
Running cc pngdefry.c created an executable a.out (default name if not provided) which responds with such usage message

Do you have a C compiler installed on your machine?
Maybe this tutorial will help: https://www.wikihow.com/Run-C-Program-in-Command-Prompt

Alright so I installed a C compiler and just tried it again, but it just outputted a wall of errors

Will the binary you compiled work for me?

@korboybeats No, as mentioned above, I'm on macOS - the binary is not compatible with Windows.
Did you try running another program with a similar purpose, e.g. https://axelbrz.com/?mod=iphone-png-images-normalizer or https://gist.github.com/urielka/3609051

@arkus7 so I tried the ipin.py thing but getting an error for that as well. I will just give up on it lol, I really appreciate your help man

@korboybeats I might try to compile it on Windows when I get a chance to work on such platform, but cannot guarantee when

@korboybeats ok, I think good news, I managed to compile it on Windows.
It wasn't as straightforward as on macOS, but it works :P
Steps to fix:

Download the newest version of miniz from here as a zip package
Replace the original miniz.c file with the miniz.c file from the zip above
Try to compile (gcc -o pngdefry.exe pngdefry.c). If it works, great! DONE! Otherwise, continue.
If you have an error like undefined reference to '_ftelli64', open the miniz.c file and replace all occurrences (there were 2 for me for each word) of _ftelli64 with ftell and _fseeki64 with fseek (found it here)
It should compile now.

Here's the updated pngdefry repo contents with the changes above and compiled binary. You're running the prebuilt binary at your own risk. I'm not a harmful person, but should you trust a random guy on the internet?
Try to build it yourself with the steps above, then you have the most chance it would work on your machine.
pngdefry-master-compiled.zip

@arkus7 Damnnnn you're a god. I managed to get the binary compiled, but.. lmao now when I try pngdefry -i icon.png -o icon.new.png I get this error:

@korboybeats Check the help message of pngdefry, the -i option for pngdefry has a different meaning than -i for node-pngdefry
In node-pngdefry the -i option means input file, but in pngdefry it specifies max IDAT chunk size in bytes (whatever this means 😅)

PNGdefry version 1.1 by [Jongware], 21-Jan-2012
Removes -iphone specific data chunk, reverses colors from BGRA to RGBA, and de-multiplies alpha
usage: pngdefry [-soaplvid] file.png [...]
Options:
-    use this if your first input file starts with an '-'
-s(suffix) append suffix to output file name
-o(path)   write output file(s) to path
Note: without -s or -o, NO output will be created.
-a         do NOT de-multiply alpha
-l         list all chunks
-v         verbose processing
-i(value)  max IDAT chunk size in bytes (minimum: 1024; default: 524288)
-p         process all files, not just -iphone ones (for debugging purposed only)
-d         very verbose processing (for debugging purposes only)

If you're calling pngdefry directly, you should call it like this
pngdefry -o new.png icon.png

@arkus7 ahh i see, my bad. But now getting yet again, another issue lmao

I don't think it wants to work for me lol

@korboybeats Ok, I think I misunderstood how this works, maybe create a new folder where the outputs should land like out and instead new.png pass out
pngdefry -o out icon.png

Unfortunately, I don't have any file that is crushed, so I can't test it on my setup.

@korboybeats Ok, I think I misunderstood how this works, maybe create a new folder where the outputs should land like out and instead new.png pass out
pngdefry -o out icon.png

Unfortunately, I don't have any file that is crushed, so I can't test it on my setup.

YESSSS IT WORKED

Thank you so much man. I really appreciate it 🙏🙏

No problem, happy it worked!


Support install via brew install

As we discussed previously, this would be very useful for macOS users.

I've decided to give it a shot and hacked this:
https://github.com/ilammy/homebrew-themis
And Ruby turned out to be not that hard 😌
The formulas are not ideal but that's at least something to start with. They hardcode the current stable version of Themis: 0.10. It works for me and for Travis, and will hopefully work for somebody else. Please test.
Themis requires some crypto backend and Homebrew insists on using Homebrew-installed WhateverSSL for other Homebrew-installed packages. It seems that only OpenSSL and LibreSSL are available via Homebrew by default, so I've added (mutually excluding) formulas for both. The users will have to make the choice explicitly, but developers should be smart enough for that.
Here's also a funny side note. Homebrew's documentation suggests writing some tests to verify the installation. So I did, adding a test which builds a simple C program using themis_version() to verify that we have installed the correct version of Themis. And it turned out that there's a minor bug in this function: it insists that Themis' version is 0.9 when in fact it should be 0.10. (Here are the culprits: themis.h, soter.h.)

Thank you, @ilammy! You're right, formulas look quite easy. Give us some time to take a deep look.
I think it would be useful to merge homebrew formulas into the main repo.
I've created #324 separately to update hardcoded versions.

@vixentael

I think it would be useful to merge homebrew formulas into the main repo.

I agree. It's better to have the formulas in the same cossacklabs namespace as the library itself.
I've looked through some repos on GitHub and it seems to be much more common to keep Homebrew formulas in a separate repository from the main project source code. This is due to the fact that Homebrew clones the repo with formulas when it's added to the system. In this case the formula repository needs to be updated only when a new version of the software is released, not every time something is pushed to the master branch (and consumes way less disk space).
Thus I believe the formulas should be placed into some new repository like cossacklabs/homebrew-themis rather than directly into this one. Other projects like Arca (which uses Themis) may also benefit from Homebrew packaging, so you may want to have a single repository for all Cossack Labs projects in one place for the ease of maintenance.

Hooraay, it's happened!
https://github.com/cossacklabs/homebrew-tap/
Docs and readme to be updated


Update VsShellVersion to 15.0.26606

Depends on Microsoft.VisualStudio.Threading <IP_ADDRESS>, which matches version used by Roslyn 2.3.0

@mikeharder,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

:shipit:

@rynowak: Please review latest changes which fix all build warnings.

:shipit:


Adding all notifications

Overview
Merging all notifications (bookmark listing, requests, discounts) into main. Worked on individually by Daniel and I.
Changes Made
Had worked on a singular branch and merged our changes into the notifs branch. This pr should merge notifs to main.
Test Coverage
Test suites updated.

lgtm


Capture forecast function failure in pipeline

          noting there isn't enough detail here to interact with this issue (i.e this numerical instability - so the issue is numerical stability!)

Originally posted by @seabbs in https://github.com/CDCgov/Rt-without-renewal/issues/433#issuecomment-2391320224

Closed by #475


Reminder: WebAudio activation on Chrome Android stopped working

On my Pixel 4 in Chrome the 'touch activation' for the sokol-audio WebAudio context doesn't seem to work anymore (it should happen in the 'touchstart' event):
https://github.com/floooh/sokol/blob/dbeee9454a61d57c6274e9dc8068602c8da3d5e8/sokol_audio.h#L1842-L1852
...need to figure out what's going on there. In any case, sokol_audio.h should offer a saudio_resume() function to allow an app to do the activation by other means.

The reason was simply that the resume must happen in the touchend event, not touchstart. This will land in master when branch https://github.com/floooh/sokol/tree/saudio-aaudio is merged.


[Question] Massive messages expired at same time cause Redis server halting when using DelayedQueue

RBlockingQueue<EmployeeWaitDTO> blockingFairQueue = redissonClient.getBlockingQueue(queueName);
        redissonClient.getDelayedQueue(blockingFairQueue);
        Thread thread = new Thread(() -> {
            log.info("");
            while (true) {
                EmployeeWaitDTO employeeWaitDTO = null;
                try {
                    employeeWaitDTO = blockingFairQueue.take();
                    assignmentService.push(employeeWaitDTO);
                    TimeUnit.MILLISECONDS.sleep(interval);
                } catch (Exception e) {
                    log.error("");
                    delayedQueueHelper.addQueueSeconds(employeeWaitDTO, 120L, queueName);
                }
            }
        });
        thread.setName(queueName);
        thread.start();

When banchmark, we've push 100000 messages into delayed queue in about 4 minutes, and all have the exact same expire time, we observed that our redis server node's cpu usage up to 100% after messages start expiring and last for about 5 minuts.
My guess is the problem may caused by RedissonDelayedQueue.pushTaskAsync(), since the lua script seems pretty complex and cpu consuming.
Is there any way to confirm this, and is this behavior expected for DelayedQueue? and is there any way to reduce the CPU usage since the server almost has no response for any request.

Is there any way to confirm this, and is this behavior expected for DelayedQueue?

That's correct. Let me know if you want to suggest a better way.

Sorry, I have no idea. Finally I use zset, and do with transaction by myself. In new banchmark, redis cpu usage down to 10%.

Can you share the code of your solution?

We change to manually lock/unlock instead relying Lua script, though the overall throughput drops.
Would you like to elaborate which part of the DelayedQueue cause the starvation of Redis server? or why this is an expected behavior? or If we misunderstand the usage of it? It is very unreasonable to call this behavior "correct" IMO

@mrniko ping~

Would you like to elaborate which part of the DelayedQueue cause the starvation of Redis server? or why this is an expected behavior?

usage of zrangebyscore, lrem, zrange commands is cpu consuming if there are 1M+ objects.

We change to manually lock/unlock instead relying Lua script, though the overall throughput drops.

There is always tradeoffs with different approaches. Let me know if you know any better solution.

We sleep 50ms between each zrangebyscore, so cpu usage goes down. But it's just a solution for us. I think it's fine if others have more expensive ECS.

We change to manually lock/unlock instead relying Lua script, though the overall throughput drops.

There is always tradeoffs with different approaches. Let me know if you know any better solution.

We sleep 50ms between each zrangebyscore, so cpu usage goes down. But it's just a solution for us. I think it's fine if others have more expensive ECS.


APEXMALHAR-2508 Add null check while calling cancel() for Timer instance in CacheManager

@bhupeshchawda Kindly review

LGTM


docs.docker.com/engine/reference/commandline/cli/ missing engine commands

The new engine commands in 18.09 are not showing up in the main CLI reference docs yet.

Working on it here: https://github.com/docker/docker.github.io/pull/7753

Merged https://github.com/docker/docker.github.io/pull/7753.


BREAKING CHANGE: upgrade to graphql v14

Opps, leaving a console.log in place is embarrassing. I've pushed a new fix without it.


[T2A2][C01]ChandraanshuGarg

Ready for Review

@Chandraanshu you have the wrong format for the PR title. please enter
[ACTIVITY ID][TEAM ID] NAME

Where team ID is in the format of T09-AX, where X is 1, 2, 3 or 4. T09 means Thursday 9am.

Hi @Chandraanshu, your pull request title is invalid. It should be in the format of [Activity ID][Team ID] Your name, where [Activity Id] has no dashes or spaces (e.g. [T2A3] stands for Tutorial 2 Activity 3) and [Team ID] has one dash only and no spaces (e.g. [W14-A2] means Wednesday 2pm (14 hrs), Phase A, Team 2). Please follow the instructions given strictly and edit your title for reprocessing.
Note that this comment is posted by a bot sorting all the pull request submissions.


fix copy to "." from s3

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 71.86%. Comparing base (116b3da) to head (4e94535).
Report is 2 commits behind head on develop.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop      #57   +/-   ##
========================================
  Coverage    71.86%   71.86%
========================================
  Files            7        7
  Lines          263      263
========================================
  Hits           189      189
  Misses          74       74

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


How to override a Haskell package set of a specific compiler version

How can I override a Haskell package in a specific ghc version package set?
I can do
haskellPackages = pkgs.haskell.packages.ghc822.override { ... }

and it works, but how do I do something like
haskell.packages.ghc822 = pkgs.haskell.packages.ghc822.override { ... }

?

{
  pkgs = import <nixpkgs> {
    config.packageOverrides = pkgs: {

      haskell = pkgs.haskell // {
        packages = pkgs.haskell.packages // {
          ghc822 = pkgs.haskell.packages.ghc822.extend (self: super: {
            # my overridden Haskell packages here
          });
        };
      };

    };
  };
}

Thanks to @Infinisil

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/working-with-haskell-broken-packages/30126/4


Use utils helpers + fix double default value in StringSlice

This PR adds changes in order to use https://github.com/projectdiscovery/utils/ and fix an error referenced in https://github.com/projectdiscovery/goflags/issues/95 (double default values in stringslice).
This PR closes #96.

partially solves https://github.com/projectdiscovery/goflags/issues/95


Close connection method?

I want to close connection after create instance and perform read/write. I cannot find Close method on the document. If connection is open on another tab on the same browser, IndexedDB will not response after created a new store and its state is Pending

Did someone find a solution for this yet?

There was a kind of similar discussion in #179 and you can achieve that by doing localforage._dbInfo.db.close() for indexeddb. I'm not sure whether we do want a method for this though. @tofumatt ?

this would be good, dbContext.forages can end up with lots of entries

With localForage the IndexedDB is often getting stuck where nothing can be read from the DB. Even Chrome Dev tools show empty tables or cannot even open the DB itself.
Maybe this is related to localForage not closing connections.


pronto-brakeman and pronto-rails_best_practices not playing nicely with each other

When pronto-brakeman is included with pronto-rails_best_practices, pronto-rails_best_practices is unable to find any violations it finds when pronto-brakeman isn't present. Interestingly pronto-brakeman does not appear to bother any other pronto runners, at least not the ones I'm using.  I confirmed it was pronto-brakeman that was causing the issue with pronto-rails_best_practices.
Here is my setup
# Gemfile
group :development do
  gem 'pronto',                      '~> 0.7',  require: false     # Runs analysis by checking only the relevant changes
  gem 'pronto-brakeman',             '~> 0.7',  require: false     # Runs brakeman through pronto
  gem 'pronto-fasterer',             '~> 0.7',  require: false     # Runs fasterer through pronto
  gem 'pronto-flay',                 '~> 0.7',  require: false     # Runs flay through pronto
  gem 'pronto-rails_best_practices', '~> 0.7',  require: false     # Runs rails_best_practices through pronto
  gem 'pronto-reek',                 '~> 0.7',  require: false     # Runs reek through pronto
  gem 'pronto-rubocop',              '~> 0.7',  require: false     # Runs rubocop through pronto
end

# .pronto.yml
all:
  exclude:
    - 'config/**/*'
    - 'vendor/**/*'
    - 'spec/**/*'
max_warnings: 150
github:
  slug: owner/repo

With both pronto-brakeman and pronto-rails_best_practices  with my comments on which runner is creating each violation
$ pronto run -c origin/develop
app/controllers/pronto_controller.rb:8 F: Possible security vuln...  # pronto-brakeman
app/proto/test_wrapper.rb:14 W: Using each_with_index is slower...   # pronto-fasterer
app/controllers/pronto_controller.rb:12 W: Similar code found in ... # pronto-flay
app/controllers/pronto_controller.rb:1 I: Has no descriptive comm... # pronto-reek
app/proto/test_wrapper.rb:8 I: Use `&&` instead of `and`.            # pronto-rubocop

Now without pronto-brakeman in Gemfile
$ pronto run -c origin/develop
app/proto/test_wrapper.rb:14 W: Using each_with_index is slower...   # pronto-fasterer
app/controllers/pronto_controller.rb:12 W: Similar code found in ... # pronto-flay
app/controllers/pronto_controller.rb:2 W: Remove unused methods...   # pronto-rails_best_practices
app/controllers/pronto_controller.rb:1 I: Has no descriptive comm... # pronto-reek
app/proto/test_wrapper.rb:8 I: Use `&&` instead of `and`.            # pronto-rubocop

Interestingly, when I ran the pronto gem locally reversing the order of the runners execution with the following change:
# lib/pronto/runners.rb
module Pronto
  class Runners
    def initialize(runners = Runner.runners, config = Config.new)
      # @runners = runners  -- Original Line
      @runners = runners.reverse!  # My new line
      @config = config
    end
  end
end

I was able to get both pronto-brakeman and pronto-rails_best_practices to create violations, as shown below.
$ pronto run -c origin/develop
app/proto/test_wrapper.rb:8 I: Use `&&` instead of `and`.            # pronto-rubocop
app/controllers/pronto_controller.rb:1 I: Has no descriptive comm... # pronto-reek
app/controllers/pronto_controller.rb:2 W: Remove unused methods...   # pronto-rails_best_practices
app/controllers/pronto_controller.rb:12 W: Similar code found in ... # pronto-flay
app/proto/test_wrapper.rb:14 W: Using each_with_index is slower...   # pronto-fasterer
app/controllers/pronto_controller.rb:8 F: Possible security vuln...  # pronto-brakeman

So it appears that there is something that pronto-brakeman is doing that doesn't affect the other runners, but does affect pronto-rails_best_practices for some reason.  I tried figuring out a fix, but there doesn't appear to be anything noticeably different between the other runners and either pronto-brakeman or pronto-rails_best_practices.
See referenced issues on pronto-brakeman and pronto-rails_best_practices as well:
mmozuras/pronto-brakeman#11
mmozuras/pronto-rails_best_practices#4

Is this related to #80?

 Yes, I can't believe I missed that, I could have sworn I read them all, and its right there in the title.  Feel free to mark as a duplicate and close.

@nbekirov it certainly appears so.  Feel free to close as duplicate, I could have sworn I looked through the issues, but


Update README.md

Hi,
This small PR adds two buttons to get your app on F-Droid and Google Play, and a link to get the APK from the Releases Section 👍
You can now eventually add the fdroid and/or f-droid tags that will appear on the right side of the repo.

Thanks!


[Bugfix] Sticky : Anchored element's not following the flow when resi…

Fixes anchored element not following the flow when resizing the window and going over/behind other elements.
See https://github.com/zurb/foundation-sites/issues/8587
and video
http://sendvid.com/52a7xxmg

Looks good


Simplify app so that it does not depend on scs.

Fixes spring-cloud/spring-cloud-stream-modules#233

Closing, working on a PR against https://github.com/spring-cloud/spring-cloud-deployer


Computed string literal can't be used as generic argument

🔎 Search Terms
"string literal is not assignable to parameter of type", "generic string literal argument"
🕗 Version & Regression Information

This changed between versions 5.1.6 and 5.2.2

⏯ Playground Link
https://www.typescriptlang.org/play/?#code/GYVwdgxgLglg9mABMMAeAKgPgBQEMBOA5gFyLoCUp6iA3gFCKOL4CmUI+SBhA3HQL506EBAGcoiXIgC8iAOQBGOXxFhxiAEYzJiANTzEAJmVCU2AAYASGhv6IAzOfI8gA
💻 Code
function fn<T>(arg: T): T {
    return arg;
}

const a = '1';
const b = a + ' 2';

fn(`${b} 3`);

🙁 Actual behavior
Argument of type '`${string} 3`' is not assignable to parameter of type '"1 2 3"'.

🙂 Expected behavior
No errors are expected
Additional information about the issue
No response

That’s bizarre - it’s inferring "1 2 3" from the argument, but then deciding the same argument isn’t assignable to the type it just inferred.

I... what?! Somehow TS is #44905 magically almost kind of happening? What gives?
const x = "w" + "t" + "f";
// const x: string
const y = `${x}`
// const y: "wtf"

Playground link

The OP's repro is quite bizarre 😱

Did https://github.com/microsoft/TypeScript/pull/53907 do this somehow?

That was meant to be my guess but - obviously - you are already one step ahead :D

My PR is definitely related but it's not the whole story. I'll bisect the other bit more later but I wouldn't be surprised if that would point to some other PR of mine 😅
The OP's case changed between 5.1 and 5.2. https://github.com/microsoft/TypeScript/pull/53907 was included as part of 5.1 already and it accidentally changed @jcalz's examples and things like this:
const a = "1";
const b = a + " 2";

enum E {
  A = b, // "1 2", wat
}

Oh, somehow I misinterpreted some things at first. https://github.com/microsoft/TypeScript/pull/53907 was actually included in 5.2 and is responsible for @DimaIT's and @jcalz's issues. It reused the evaluation strategy that was already in place. It was introduced in https://github.com/microsoft/TypeScript/pull/50528 and is responsible for the enum example from my post above.

The issue with #53907 is that it only performs constant evaluation when the criteria for creating a template literal type are not satisfied (i.e. constant evaluation only occurs in situations where the type would otherwise have been string). That's a bit backwards. We need to first check if the template literal expression can be evaluated as a constant, and, if so, return a string literal type. I will put up a PR that fixes.

Another example of the strangeness:
const a = '1';                // "1"
const b = a + ' 2';           // string
const c = `${b} 3`;           // "1 2 3"
const d = `${b} 3` as const;  // `${string} 3`

It definitely doesn't make sense for d to be a less specific type than c, and that, combined with the phasing of type inference and argument type checking in the call fn(`${b} 3`), is what causes the issue.

Apart from that, it's a bit odd that b is considered to have type string, yet the compiler "knows" it has type "1 2" in the evaluation of c.

Yeah, that threw me for a loop too.  I know TS has a concept of "widening" types where a literal type can be widened to its base primitive type, but this is the first time I've ever seen a "narrowing" type!


Adding command line input instead of hardcoded values

It could be nice if you could run the script and then input the angles in the program itself instead of having to edit the source file.
Some ideas:

Four "input()" each taking one of the numbers:
start[0] = input("Start latitude: ")
start[1] = input("Start longitude: ")
end[0] = input("End latitude: ")
end[1] = input("End longitude: ")

Two "input()" each taking two numbers separeted by "," and then splitting the string:
start = input("Start coordinates: ") (ex input: "20, 45")
end = input("End coordinates")

One "input()" like the above for start/end coordinates and the start and end is separated by a symbol (ex: $):
coordinates = input("Start and end coordinates separated by '$'") (ex input: "20, 45 $ 10, 70")

Do you have any other alternatives you think is a better option?

Yes, that would be a nice addition to the script.
I think the second alternative is great, because coordinates could just be copied from eg google maps, and the user does not have to wory about seperating the first and second coordinates with a delimiter.


Bug | Crash when highlighted text empty

If you leave the string of text that is meant to be highlighted in the config menu, the game will freeze when attempting to open chat or if there is a chat message already on screen.

could you please send me the crash report file

could you please send me the crash report file

I phrased it badly, it causes the game to freeze instead of crash, so it doesn't create a crash report. Best I can do is a latest.log, but it doesn't really provide anything. Only mods in this are Fabric API, ukuLib, and ChatHighlighter, so it's not due to a collision of another mod.
[21:01:52] [main/INFO]: Loading Minecraft 1.19.3 with Fabric Loader 0.14.12
[21:01:52] [main/INFO]: Loading 57 mods:
	- borderlessmining 1.1.6+1.19.3
	- chathighlighter 1.0.1+mc1.19.3
	- com_moandjiezana_toml_toml4j 0.7.2 via ukulib
	- fabric-api 0.71.0+1.19.3
	- fabric-api-base 0.4.20+afca2f3e85 via fabric-api
	- fabric-api-lookup-api-v1 1.6.19+49abcf7e85 via fabric-api
	- fabric-biome-api-v1 12.1.0+b5d379b085 via fabric-api
	- fabric-block-api-v1 1.0.4+e022e5d185 via fabric-api
	- fabric-blockrenderlayer-v1 1.1.29+c6af733c85 via fabric-api
	- fabric-client-tags-api-v1 1.0.10+99f9db8085 via fabric-api
	- fabric-command-api-v1 1.2.20+f71b366f85 via fabric-api
	- fabric-command-api-v2 2.1.16+99f9db8085 via fabric-api
	- fabric-commands-v0 0.2.37+df3654b385 via fabric-api
	- fabric-containers-v0 0.1.46+df3654b385 via fabric-api
	- fabric-content-registries-v0 3.5.0+1d37d50285 via fabric-api
	- fabric-convention-tags-v1 1.2.1+8e4e694f85 via fabric-api
	- fabric-crash-report-info-v1 0.2.13+aeb40ebe85 via fabric-api
	- fabric-data-generation-api-v1 11.1.3+87855a7085 via fabric-api
	- fabric-dimensions-v1 2.1.40+48349a3f85 via fabric-api
	- fabric-entity-events-v1 1.5.6+b83334a085 via fabric-api
	- fabric-events-interaction-v0 0.4.39+3baeb27a85 via fabric-api
	- fabric-events-lifecycle-v0 0.2.41+df3654b385 via fabric-api
	- fabric-game-rule-api-v1 1.0.29+99f9db8085 via fabric-api
	- fabric-item-api-v1 2.1.7+e498f5f085 via fabric-api
	- fabric-item-group-api-v1 2.1.10+0a2a0d0b85 via fabric-api
	- fabric-key-binding-api-v1 1.0.30+bc01e09785 via fabric-api
	- fabric-keybindings-v0 0.2.28+df3654b385 via fabric-api
	- fabric-lifecycle-events-v1 2.2.9+23a79c8a85 via fabric-api
	- fabric-loot-api-v2 1.1.19+75e9821185 via fabric-api
	- fabric-loot-tables-v1 1.1.23+9e7660c685 via fabric-api
	- fabric-message-api-v1 5.0.13+6ede1da985 via fabric-api
	- fabric-mining-level-api-v1 2.1.30+49abcf7e85 via fabric-api
	- fabric-models-v0 0.3.26+11ba9c3b85 via fabric-api
	- fabric-networking-api-v1 1.2.16+4017a8cb85 via fabric-api
	- fabric-networking-v0 0.3.33+df3654b385 via fabric-api
	- fabric-object-builder-api-v1 5.3.0+85f102ee85 via fabric-api
	- fabric-particles-v1 1.0.19+f1e4495b85 via fabric-api
	- fabric-registry-sync-v0 2.0.3+2608564685 via fabric-api
	- fabric-renderer-api-v1 2.2.0+9f179aa185 via fabric-api
	- fabric-renderer-indigo 0.7.0+9f179aa185 via fabric-api
	- fabric-renderer-registries-v1 3.2.29+df3654b385 via fabric-api
	- fabric-rendering-data-attachment-v1 0.3.24+afca2f3e85 via fabric-api
	- fabric-rendering-fluids-v1 3.0.17+f1e4495b85 via fabric-api
	- fabric-rendering-v0 1.1.32+df3654b385 via fabric-api
	- fabric-rendering-v1 1.12.0+6dc0edd785 via fabric-api
	- fabric-resource-conditions-api-v1 2.2.1+280be3ab85 via fabric-api
	- fabric-resource-loader-v0 0.10.4+a91e48b785 via fabric-api
	- fabric-screen-api-v1 1.0.40+f1e4495b85 via fabric-api
	- fabric-screen-handler-api-v1 1.3.12+99f9db8085 via fabric-api
	- fabric-sound-api-v1 1.0.7+75e9821185 via fabric-api
	- fabric-transfer-api-v1 2.1.13+f1e4495b85 via fabric-api
	- fabric-transitive-access-wideners-v1 2.3.0+5b9a588b85 via fabric-api
	- fabricloader 0.14.12
	- gs_mclo_java_mclogs-java 2.1.1 via ukulib
	- java 17
	- minecraft 1.19.3
	- ukulib 0.6.1+1.19.3
[21:01:52] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=file:/C:/Users/Matthew/AppData/Roaming/.minecraft/libraries/net/fabricmc/sponge-mixin/0.11.4+mixin.0.8.5/sponge-mixin-0.11.4+mixin.0.8.5.jar Service=Knot/Fabric Env=CLIENT
[21:01:53] [main/INFO]: Compatibility level set to JAVA_17
[21:01:54] [main/WARN]: Invalid registry value type detected for PerfOS counters. Should be REG_DWORD. Ignoring: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfOS\Performance\Disable Performance Counters.
[21:01:57] [main/INFO]: Building optimized datafixer
[21:02:02] [Render thread/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[21:02:02] [Render thread/INFO]: Setting user: Owehttamy
[21:02:03] [Render thread/WARN]: A corrupted configuration file was found, overwriting it with the default config
java.lang.RuntimeException: java.lang.IllegalStateException: Invalid value on line 1: text = (?i)(^|\b)(?!<Owehttamy>\s)(Owehttamy|Oweh|Owe)('s|'|\b|\B)
	at com.moandjiezana.toml.Toml.read(Toml.java:74) ~[com_moandjiezana_toml_toml4j-0.7.2-9bb2686e7f16b32f.jar:?]
	at net.uku3lig.ukulib.config.serialization.DefaultConfigSerializer.deserialize(DefaultConfigSerializer.java:56) ~[%5B1.19.3%5D%20UkuLib-0.6.1.jar:?]
	at net.uku3lig.ukulib.config.serialization.DefaultConfigSerializer.deserialize(DefaultConfigSerializer.java:18) ~[%5B1.19.3%5D%20UkuLib-0.6.1.jar:?]
	at net.uku3lig.ukulib.config.ConfigManager.<init>(ConfigManager.java:41) ~[%5B1.19.3%5D%20UkuLib-0.6.1.jar:?]
	at net.uku3lig.ukulib.config.ConfigManager.create(ConfigManager.java:56) ~[%5B1.19.3%5D%20UkuLib-0.6.1.jar:?]
	at net.uku3lig.chathighlighter.ChatHighlighter.<clinit>(ChatHighlighter.java:13) ~[%5B1.19.3%5D%20ChatHighlighter-1.0.1.jar:?]
	at java.lang.Class.forName0(Native Method) ~[?:?]
	at java.lang.Class.forName(Class.java:467) ~[?:?]
	at net.fabricmc.loader.impl.util.DefaultLanguageAdapter.create(DefaultLanguageAdapter.java:50) ~[fabric-loader-0.14.12.jar:?]
	at net.fabricmc.loader.impl.entrypoint.EntrypointStorage$NewEntry.getOrCreate(EntrypointStorage.java:117) ~[fabric-loader-0.14.12.jar:?]
	at net.fabricmc.loader.impl.entrypoint.EntrypointContainerImpl.getEntrypoint(EntrypointContainerImpl.java:53) ~[fabric-loader-0.14.12.jar:?]
	at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47) ~[fabric-loader-0.14.12.jar:?]
	at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:35) ~[fabric-loader-0.14.12.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.Hooks.startClient(Hooks.java:53) ~[fabric-loader-0.14.12.jar:?]
	at net.minecraft.class_310.<init>(class_310.java:465) ~[client-intermediary.jar:?]
	at net.minecraft.client.main.Main.method_44604(Main.java:205) ~[fabric-loader-0.14.12-1.19.3.jar:?]
	at net.minecraft.client.main.Main.main(Main.java:51) ~[fabric-loader-0.14.12-1.19.3.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:461) ~[fabric-loader-0.14.12.jar:?]
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.14.12.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.14.12.jar:?]
Caused by: java.lang.IllegalStateException: Invalid value on line 1: text = (?i)(^|\b)(?!<Owehttamy>\s)(Owehttamy|Oweh|Owe)('s|'|\b|\B)
	at com.moandjiezana.toml.Toml.read(Toml.java:140) ~[com_moandjiezana_toml_toml4j-0.7.2-9bb2686e7f16b32f.jar:?]
	at com.moandjiezana.toml.Toml.read(Toml.java:107) ~[com_moandjiezana_toml_toml4j-0.7.2-9bb2686e7f16b32f.jar:?]
	at com.moandjiezana.toml.Toml.read(Toml.java:72) ~[com_moandjiezana_toml_toml4j-0.7.2-9bb2686e7f16b32f.jar:?]
	... 19 more
[21:02:03] [Render thread/INFO]: [Indigo] Registering Indigo renderer!
[21:02:04] [Render thread/INFO]: Backend library: LWJGL version 3.3.1 SNAPSHOT
[21:02:05] [Render thread/INFO]: Found non-pack entry 'C:\Users\Matthew\AppData\Roaming\.minecraft\resourcepacks\### Archee's Texture Packs', ignoring
[21:02:05] [Render thread/INFO]: Found non-pack entry 'C:\Users\Matthew\AppData\Roaming\.minecraft\resourcepacks\### Out of date', ignoring
[21:02:05] [Render thread/WARN]: Missing metadata in pack file/LO Texture Pack-20221220T232515Z-001.zip
[21:02:05] [Render thread/WARN]: Removed resource pack minecraft:supporteatinganimation from options because it doesn't seem to exist anymore
[21:02:07] [Render thread/INFO]: Narrator library for x64 successfully loaded
[21:02:07] [Render thread/INFO]: Reloading ResourceManager: vanilla, file/[1] 1.19.3 VanillaTweaks.zip, file/[2] FreshAnimations_v1.7_S9.zip, file/[3] EBE_v1.1_1.19.x.zip, file/[4] §2§lVisual§0-§a§lLeaf§0-§2§lDecay§0-§7§o1.3§0-§8.zip, file/[5] §6§lVisual§0-§e§lBee§0-§6§lItems§0-§7§o1.0§0-§8, file/[6] 1.0.1v_VisualGoatHorns, file/[7] 3D-Breaking.zip, file/[8] Capitalisation-Fixes-v2.16.zip, Fabric Mods (Borderless Mining, ChatHighlighter, Fabric API, Fabric API Base, Fabric API Lookup API (v1), Fabric Biome API (v1), Fabric Block API (v1), Fabric BlockRenderLayer Registration (v1), Fabric Client Tags, Fabric Command API (v1), Fabric Command API (v2), Fabric Commands (v0), Fabric Containers (v0), Fabric Content Registries (v0), Fabric Convention Tags, Fabric Crash Report Info (v1), Fabric Data Generation API (v1), Fabric Dimensions API (v1), Fabric Entity Events (v1), Fabric Events Interaction (v0), Fabric Events Lifecycle (v0), Fabric Game Rule API (v1), Fabric Item API (v1), Fabric Item Group API (v1), Fabric Key Binding API (v1), Fabric Key Bindings (v0), Fabric Lifecycle Events (v1), Fabric Loot API (v2), Fabric Loot Tables (v1), Fabric Message API (v1), Fabric Mining Level API (v1), Fabric Models (v0), Fabric Networking API (v1), Fabric Networking (v0), Fabric Object Builder API (v1), Fabric Particles (v1), Fabric Registry Sync (v0), Fabric Renderer API (v1), Fabric Renderer - Indigo, Fabric Renderer Registries (v1), Fabric Rendering Data Attachment (v1), Fabric Rendering Fluids (v1), Fabric Rendering (v0), Fabric Rendering (v1), Fabric Resource Conditions API (v1), Fabric Resource Loader (v0), Fabric Screen API (v1), Fabric Screen Handler API (v1), Fabric Sound API (v1), Fabric Transfer API (v1), Fabric Transitive Access Wideners (v1), Fabric Loader, ukulib)
[21:02:10] [Worker-Main-21/WARN]: Missing textures in model minecraft:stone_stairs#facing=south,half=top,shape=outer_right,waterlogged=false:
    minecraft:textures/atlas/blocks.png:minecraft:block/block/variated/stone/15
[21:02:10] [Worker-Main-21/WARN]: Missing textures in model minecraft:stone_stairs#facing=east,half=bottom,shape=outer_right,waterlogged=true:
    minecraft:textures/atlas/blocks.png:minecraft:block/block/variated/stone/15
[21:02:10] [Worker-Main-21/WARN]: Missing textures in model minecraft:stone_stairs#facing=east,half=bottom,shape=outer_left,waterlogged=false:
    minecraft:textures/atlas/blocks.png:minecraft:block/block/variated/stone/15
[21:02:10] [Worker-Main-21/WARN]: Missing textures in model minecraft:stone_stairs#facing=east,half=top,shape=outer_left,waterlogged=false:
    minecraft:textures/atlas/blocks.png:minecraft:block/block/variated/stone/15
[21:02:10] [Worker-Main-21/WARN]: Missing textures in model minecraft:stone_stairs#facing=south,half=bottom,shape=outer_right,waterlogged=false:
    minecraft:textures/atlas/blocks.png:minecraft:block/block/variated/stone/15
[21:02:10] [Worker-Main-21/WARN]: Missing textures in model minecraft:stone_stairs#facing=north,half=top,shape=outer_left,waterlogged=true:
    minecraft:textures/atlas/blocks.png:minecraft:block/block/variated/stone/15
[21:02:10] [Worker-Main-21/WARN]: Missing textures in model minecraft:stone_stairs#facing=south,half=top,shape=outer_left,waterlogged=true:
    minecraft:textures/atlas/blocks.png:minecraft:block/block/variated/stone/15
[21:02:10] [Worker-Main-21/WARN]: Missing textures in model minecraft:stone_stairs#facing=west,half=bottom,shape=outer_right,waterlogged=false:
    minecraft:textures/atlas/blocks.png:minecraft:block/block/variated/stone/15
[21:02:10] [Render thread/WARN]: Missing sound for event: minecraft:item.goat_horn.play
[21:02:10] [Render thread/WARN]: Missing sound for event: minecraft:entity.goat.screaming.horn_break
[21:02:10] [Render thread/INFO]: OpenAL initialized on device OpenAL Soft on Headphones (WH-1000XM5)
[21:02:10] [Render thread/INFO]: Sound engine started
[21:02:10] [Render thread/INFO]: Created: 2048x1024x4 minecraft:textures/atlas/blocks.png-atlas
[21:02:10] [Render thread/INFO]: Created: 512x256x4 minecraft:textures/atlas/signs.png-atlas
[21:02:10] [Render thread/INFO]: Created: 1024x512x4 minecraft:textures/atlas/banner_patterns.png-atlas
[21:02:10] [Render thread/INFO]: Created: 1024x512x4 minecraft:textures/atlas/shield_patterns.png-atlas
[21:02:10] [Render thread/INFO]: Created: 256x256x4 minecraft:textures/atlas/chest.png-atlas
[21:02:10] [Render thread/INFO]: Created: 512x256x4 minecraft:textures/atlas/shulker_boxes.png-atlas
[21:02:10] [Render thread/INFO]: Created: 512x256x4 minecraft:textures/atlas/beds.png-atlas
[21:02:11] [Render thread/WARN]: Shader rendertype_entity_translucent_emissive could not find sampler named Sampler2 in the specified shader program.
[21:02:11] [Render thread/WARN]: Shader rendertype_crumbling could not find uniform named ColorModulator in the specified shader program.
[21:02:11] [Render thread/WARN]: Shader rendertype_crumbling could not find uniform named ScreenSize in the specified shader program.
[21:02:11] [Render thread/INFO]: Created: 512x256x0 minecraft:textures/atlas/particles.png-atlas
[21:02:11] [Render thread/INFO]: Created: 256x256x0 minecraft:textures/atlas/paintings.png-atlas
[21:02:11] [Render thread/INFO]: Created: 256x128x0 minecraft:textures/atlas/mob_effects.png-atlas
[21:02:18] [Worker-Main-28/ERROR]: Exception reading C:\Users\Matthew\AppData\Roaming\.minecraft\saves\Hollow Caverns\level.dat
java.util.zip.ZipException: Not in GZIP format
	at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:165) ~[?:?]
	at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:79) ~[?:?]
	at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:91) ~[?:?]
	at net.minecraft.class_2507.method_40059(class_2507.java:31) ~[client-intermediary.jar:?]
	at net.minecraft.class_2507.method_40058(class_2507.java:47) ~[client-intermediary.jar:?]
	at net.minecraft.class_2507.method_40057(class_2507.java:42) ~[client-intermediary.jar:?]
	at net.minecraft.class_32.method_40035(class_32.java:309) ~[client-intermediary.jar:?]
	at net.minecraft.class_32.method_29015(class_32.java:266) ~[client-intermediary.jar:?]
	at net.minecraft.class_32.method_26998(class_32.java:211) ~[client-intermediary.jar:?]
	at net.minecraft.class_32.method_43418(class_32.java:172) ~[client-intermediary.jar:?]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
	at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) ~[?:?]
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?]
	at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?]
	at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?]
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?]
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?]
[21:02:18] [Render thread/ERROR]: Invalid icon for world desolate_gully
java.lang.IllegalStateException: Must be 64 pixels wide
	at org.apache.commons.lang3.Validate.validState(Validate.java:816) ~[commons-lang3-3.12.0.jar:?]
	at net.minecraft.class_528$class_4272.method_20175(class_528.java:544) ~[client-intermediary.jar:?]
	at net.minecraft.class_528$class_4272.<init>(class_528.java:275) ~[client-intermediary.jar:?]
	at net.minecraft.class_528.method_43454(class_528.java:163) ~[client-intermediary.jar:?]
	at net.minecraft.class_528.method_44678(class_528.java:124) ~[client-intermediary.jar:?]
	at net.minecraft.class_528.method_25394(class_528.java:115) ~[client-intermediary.jar:?]
	at net.minecraft.class_526.method_25394(class_526.java:118) ~[client-intermediary.jar:?]
	at net.minecraft.class_437.method_47413(class_437.java:113) ~[client-intermediary.jar:?]
	at net.minecraft.class_757.method_3192(class_757.java:929) ~[client-intermediary.jar:?]
	at net.minecraft.class_310.method_1523(class_310.java:1193) ~[client-intermediary.jar:?]
	at net.minecraft.class_310.method_1514(class_310.java:781) ~[client-intermediary.jar:?]
	at net.minecraft.client.main.Main.method_44604(Main.java:244) ~[fabric-loader-0.14.12-1.19.3.jar:?]
	at net.minecraft.client.main.Main.main(Main.java:51) ~[fabric-loader-0.14.12-1.19.3.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:461) ~[fabric-loader-0.14.12.jar:?]
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.14.12.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.14.12.jar:?]
[21:02:18] [Render thread/ERROR]: Invalid icon for world Restless Haven
java.lang.IllegalStateException: Must be 64 pixels wide
	at org.apache.commons.lang3.Validate.validState(Validate.java:816) ~[commons-lang3-3.12.0.jar:?]
	at net.minecraft.class_528$class_4272.method_20175(class_528.java:544) ~[client-intermediary.jar:?]
	at net.minecraft.class_528$class_4272.<init>(class_528.java:275) ~[client-intermediary.jar:?]
	at net.minecraft.class_528.method_43454(class_528.java:163) ~[client-intermediary.jar:?]
	at net.minecraft.class_528.method_44678(class_528.java:124) ~[client-intermediary.jar:?]
	at net.minecraft.class_528.method_25394(class_528.java:115) ~[client-intermediary.jar:?]
	at net.minecraft.class_526.method_25394(class_526.java:118) ~[client-intermediary.jar:?]
	at net.minecraft.class_437.method_47413(class_437.java:113) ~[client-intermediary.jar:?]
	at net.minecraft.class_757.method_3192(class_757.java:929) ~[client-intermediary.jar:?]
	at net.minecraft.class_310.method_1523(class_310.java:1193) ~[client-intermediary.jar:?]
	at net.minecraft.class_310.method_1514(class_310.java:781) ~[client-intermediary.jar:?]
	at net.minecraft.client.main.Main.method_44604(Main.java:244) ~[fabric-loader-0.14.12-1.19.3.jar:?]
	at net.minecraft.client.main.Main.main(Main.java:51) ~[fabric-loader-0.14.12-1.19.3.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:461) ~[fabric-loader-0.14.12.jar:?]
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.14.12.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.14.12.jar:?]
[21:02:19] [Render thread/INFO]: Found new data pack fabric, loading it automatically
[21:02:21] [Worker-Main-27/ERROR]: Couldn't load tag minecraft:dirt as it is missing following references: minecraft:string (from file/Tallgrass)
[21:02:21] [Worker-Main-27/ERROR]: Couldn't load tag minecraft:azalea_root_replaceable as it is missing following references: #minecraft:dirt (from vanilla)
[21:02:21] [Worker-Main-27/ERROR]: Couldn't load tag minecraft:azalea_grows_on as it is missing following references: #minecraft:dirt (from vanilla)
[21:02:21] [Worker-Main-27/ERROR]: Couldn't load tag minecraft:sculk_replaceable as it is missing following references: #minecraft:dirt (from vanilla)
[21:02:21] [Worker-Main-27/ERROR]: Couldn't load tag minecraft:sculk_replaceable_world_gen as it is missing following references: #minecraft:sculk_replaceable (from vanilla)
[21:02:21] [Worker-Main-27/ERROR]: Couldn't load tag minecraft:moss_replaceable as it is missing following references: #minecraft:dirt (from vanilla)
[21:02:21] [Worker-Main-27/ERROR]: Couldn't load tag minecraft:lush_ground_replaceable as it is missing following references: #minecraft:moss_replaceable (from vanilla)
[21:02:21] [Worker-Main-27/ERROR]: Couldn't load tag minecraft:enderman_holdable as it is missing following references: #minecraft:dirt (from vanilla)
[21:02:21] [Worker-Main-27/ERROR]: Couldn't load tag minecraft:bamboo_plantable_on as it is missing following references: #minecraft:dirt (from vanilla)
[21:02:21] [Worker-Main-27/ERROR]: Couldn't load tag minecraft:big_dripleaf_placeable as it is missing following references: #minecraft:dirt (from vanilla)
[21:02:21] [Worker-Main-27/ERROR]: Couldn't load tag minecraft:overworld_carver_replaceables as it is missing following references: #minecraft:dirt (from vanilla)
[21:02:21] [Worker-Main-27/ERROR]: Couldn't load tag minecraft:dead_bush_may_place_on as it is missing following references: #minecraft:dirt (from vanilla)
[21:02:21] [Worker-Main-27/ERROR]: Couldn't load tag minecraft:nether_carver_replaceables as it is missing following references: #minecraft:dirt (from vanilla)
[21:02:21] [Render thread/INFO]: Loaded 7 recipes
[21:02:22] [Render thread/ERROR]: Failed to load function rick:roll
java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Whilst parsing command on line 1: Incorrect argument for command at position 49: ... run item <--[HERE]
	at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
	at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) ~[?:?]
	at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) ~[?:?]
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?]
	at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?]
	at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?]
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?]
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?]
Caused by: java.lang.IllegalArgumentException: Whilst parsing command on line 1: Incorrect argument for command at position 49: ... run item <--[HERE]
	at net.minecraft.class_2158.method_9195(class_2158.java:63) ~[client-intermediary.jar:?]
	at net.minecraft.class_5349.method_29451(class_5349.java:83) ~[client-intermediary.jar:?]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
	... 6 more
[21:02:22] [Render thread/ERROR]: Couldn't load tag minecraft:tick as it is missing following references: rick:roll (from file/rick)
[21:02:22] [Render thread/INFO]: Loaded 1179 advancements
[21:02:22] [Render thread/WARN]: Not all defined tags for registry ResourceKey[minecraft:root / minecraft:block] are present in data pack: minecraft:nether_carver_replaceables, minecraft:overworld_carver_replaceables
[21:02:23] [Render thread/INFO]: Applied 0 biome modifications to 0 of 63 new biomes in 2.738 ms
[21:02:23] [Server thread/INFO]: Starting integrated minecraft server version 1.19.3
[21:02:23] [Server thread/INFO]: Generating keypair
[21:02:23] [Server thread/INFO]: Preparing start region for dimension minecraft:overworld
[21:02:25] [Worker-Bootstrap-7/INFO]: 4445 Datafixer optimizations took 27796 milliseconds
[21:02:26] [Render thread/INFO]: Preparing spawn area: 0%
[21:02:26] [Render thread/INFO]: Preparing spawn area: 0%
[21:02:26] [Render thread/INFO]: Preparing spawn area: 0%
[21:02:26] [Render thread/INFO]: Preparing spawn area: 0%
[21:02:26] [Render thread/INFO]: Preparing spawn area: 0%
[21:02:26] [Render thread/INFO]: Preparing spawn area: 0%
[21:02:26] [Render thread/INFO]: Preparing spawn area: 33%
[21:02:27] [Render thread/INFO]: Preparing spawn area: 55%
[21:02:27] [Render thread/INFO]: Time elapsed: 3894 ms
[21:02:27] [Server thread/INFO]: Changing view distance to 12, from 10
[21:02:27] [Server thread/INFO]: Changing simulation distance to 12, from 0
[21:02:28] [Server thread/INFO]: Owehttamy[local:E:62b1a30c] logged in with entity id 249 at<PHONE_NUMBER>6328964, 41.316412906730434,<PHONE_NUMBER>69927)
[21:02:28] [Server thread/INFO]: Owehttamy joined the game
[21:02:28] [Render thread/INFO]: Loaded 837 advancements
[21:02:29] [Server thread/INFO]: Saving and pausing game...
[21:02:29] [Server thread/INFO]: Saving chunks for level 'ServerLevel[temp]'/minecraft:overworld
[21:02:29] [Server thread/INFO]: Saving chunks for level 'ServerLevel[temp]'/minecraft:the_nether
[21:02:29] [Server thread/INFO]: Saving chunks for level 'ServerLevel[temp]'/minecraft:the_end
[21:02:31] [Server thread/INFO]: Saving and pausing game...
[21:02:31] [Server thread/INFO]: Saving chunks for level 'ServerLevel[temp]'/minecraft:overworld
[21:02:31] [Server thread/INFO]: Saving chunks for level 'ServerLevel[temp]'/minecraft:the_nether
[21:02:31] [Server thread/INFO]: Saving chunks for level 'ServerLevel[temp]'/minecraft:the_end
[21:02:39] [Server thread/INFO]: [Not Secure] <Owehttamy> a
[21:02:39] [Render thread/INFO]: [CHAT] <Owehttamy> a
[21:02:51] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 2240ms or 44 ticks behind```


Bugreport / Proposalranklist

Proposal:
Proposal written by Dadi
What is the title of your proposal?: Bugreport / Proposalranklist
Is it a suggestion for the website or for the bot?: Bugbot and Proposalbot
Explain your proposal more accurately (It's best to give as much information as possible, so that we can implement the proposal better): Two new commands, that allows you to see the proposal/bugreportpoints of all users
Why should we add this feature?: Why not, everyone loves ranklists :joy:
ReportID: 95

➤ LenoxBot commented:
Approve:
good idea
Denarioyt#3352

➤ LenoxBot commented:
Approve:
Not bad idea
SaVaGeCrEePeR28 || Furkan🍪🎲#3532

➤ LenoxBot commented:
Approve:
good idea
Monkeyyy11#0001


AttributeError: 'Namespace' object has no attribute 'arch' in main_mlc.py

thank for your job.
I find:
[05/31 10:42:36.162]: 0 | Set best mAP 70.74814334530387 in ep 0 [05/31 10:42:36.162]:    | best regular mAP 70.74814334530387 in ep 0 Traceback (most recent call last):   File "main_mlc.py", line 727, in <module>     main()   File "main_mlc.py", line 224, in main     return main_worker(args, logger)   File "main_mlc.py", line 407, in main_worker     'arch': args.arch, AttributeError: 'Namespace' object has no attribute 'arch'
there is no arch in main_mlc.py and input argparse
but it could be found in  q2l_infer.py
so, is that some code error in this commit when I retrain this model in coco-dataset
(by the way, there is another error:     training with Q2L-SwinL-384 has position error in transformer part,
resnet101 is fine)

add in main_mlc.py
available_models = ['Q2L-R101-448', 'Q2L-R101-576', 'Q2L-TResL-448', 'Q2L-TResL_22k-448', 'Q2L-SwinL-384', 'Q2L-CvT_w24-384']
    parser.add_argument('-a', '--arch', metavar='ARCH', default='Q2L-R101-448',                         choices=available_models,                         help='model architecture: ' +' | '.join(available_models) +                             ' (default: Q2L-R101-448)')


Allow disabling black overlay for hero background

I added some custom CSS to this effect:
.cover .bg-black-60 {
    background-color: rgba(0,0,0,0);
}

This is an undocumented feature which should be improved: #468


Document how encoder defines "preserves value" for encoding floating-point to smaller size

CBOR encoder in this library will encode floating-point values to smaller sizes like float16 if the conversion preserves its value.
This library currently defines "preserves its value" for encoding option ShortestFloatMode = ShortestFloat16 as:

For generic encoders and floating-point numbers, "preserves its value" means being able to round-trip back to the original floating-point value with all underlying bits unchanged using IEEE 754 default rounding. For example, encode float32 values as float16 only if a round-trip of float32->float16->float32 using IEEE 754 default rounding produces the original float32 with all 32 underlying bits unchanged. This includes 2046 subnormal float32 values that can successfully round-trip in the manner described. IEEE 754 default rounding is "Round-to-Nearest RoundTiesToEven" which is the most accurate and statistically unbiased estimate of the true result.

This definition was proposed to 7049bis at https://github.com/cbor-wg/CBORbis/issues/153 and it may or may not be accepted.
See commit 37883304a0890980f88158c3f579fa0fa040d517 for implementation.

Second try:

For generic encoders and floating-point numbers, "preserves its value" means being able to round-trip back to the original floating-point value with all underlying bits unchanged. For example, encode float32 values as float16 only if a round-trip of float32->float16->float32 produces the original float32 with all 32 underlying bits unchanged. This includes 2046 subnormal float32 values that can successfully round-trip in the manner described.  Rounding for float64->float32 and float32->float16 use IEEE 754 default rounding ("Round-to-Nearest RoundTiesToEven") which is the most accurate and statistically unbiased estimate of the true result.  Conversions from smaller sizes to larger sizes are lossless and don't require rounding.  Conversions from float64->float16 must produce the same result as float64->float32->float16.

Protocols may specify may specify different rules but they MUST NOT (imho) refer to the modified configuration as "preferred serialization".

Latest RFC 7049bis says,

If NaN is an allowed value and there is no intent to support NaN payloads or signaling NaNs, the protocol needs to pick a single representation, for example 0xf97e00. If that simple choice is not possible, specific attention will be needed for NaN handling.
Subnormal numbers (nonzero numbers with the lowest possible exponent of a given IEEE 754 number format) may be flushed to zero outputs or be treated as zero inputs in some floating-point implementations. A protocol’s deterministic encoding may want to exclude them from interchange, interchanging zero instead.

Encoders can handle subnormal numbers in at least three ways:

avoid converting to shorter forms of floating-point even if value can round-trip
encode to shortest form of floating-point (IEEE binary16) when value can round-trip
always encode to IEEE binary16 zero.

The first way would needlessly waste space.
The last way prevents subnormal values from providing a cushion for values that would drop to 0.
The middle way (encode to shortest form of floating-point that can round-trip) is what this library currently does. It also has the advantage of being consistent with non-subnormal values.
PR https://github.com/fxamacker/cbor/pull/103 updates README.md and includes this:

With ShortestFloat16, each floating-point value (including subnormals) can encode float64 -> float32 -> float16 when values can round-trip.  Conversions for infinity and NaN use InfConvert and NaNConvert settings.


Exits sometimes go back to 'Registered' state after being Reset

I've noticed that sometimes when I reset an exit that I've successfully registered for, the state will go to "New" for a moment but then go back to "Registered' after a few seconds. If I try resetting again, sometimes 2 or 3 times, I can eventually get it to work and the exit will stay in the GotInfo state.

We had this discussion before in the forum- the exit doesn't know that you have reset it, resetting is purely done on your router. You are in fact still registered with the exit. What's puzzling to me is that it does go back to GotInfo at all.


P1: 019B - Integrate Universal React with HERO Micro App

[ ] Integrated Universal React with Hero micro app suing micro-app loader.
[ ] Dynamic Import in SSG, SSR rendering in SSR arch type.
[ ] Create/Integrate a mock page/component content Service
[ ] Update Unit Test with React-Testing-Library
[ ] Update storybook

Note: - 100% functional component, No Class Components

Not required