constant generate with iota

const declaration to create a sequence values without spelling out each one explicitly .

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: UrNas sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Improve README

I have streamlined the readme a bit and changed some not-incorrect-but-rather-weird parts.

Merged in 9cf0afdef84314c539cbc28d9e7484b5cac334ad. Thanks!


Add support for expanding the list of organisms

Hi,
Love the package, great work!
It would be nice to enable expansion of the model to organisms not on the list. Or maybe this can be done via the fine-tuning script?  Thanks!

Hello!
Thank you for opening an issue.
You can use the finetuning guide on readme and finetune.py to finetune the model on any new datasets.
To add new organisms, you need to use both pretrain.py and finetune.py to train the model from scratch.

Please reopen the issue if you get into any problems during training!

Hi,
Having some difficulties in training a new model and hoping might be able to help?
I prepared a new csv pretraining dataset by combining your original dataset with some additional organisms.
Then I used the prepare_training_data function to generate a json from the new dataset.
I'm working in a docker container which has access to the hosts GPU, so I did an initial test of running the first script form the README and I get the expected output.
Then I tried running the following from inside the container:
python pretrain.py \
    --tokenizer_path /CodonTransformer/src/CodonTransformerTokenizer.json \
    --train_data_path path/to/new_training_data.json \
    --checkpoint_dir path/to/checkpoints_dir \
    --batch_size 6 \
    --max_epochs 5 \
    --num_workers 5 \
    --accumulate_grad_batches 1 \
    --num_gpus 16 \
    --learning_rate 0.00005 \
    --warmup_fraction 0.1 \
    --save_interval 5 \
    --seed 123

But it fails with the following output (Last error is blank):
/usr/local/lib/python3.12/site-packages/transformers/tokenization_utils_base.py:1617: FutureWarning: `clean_up_tokenization_spaces` was not set. It will be set to `True` by default. This behavior will be deprecated in transformers v4.45, and will be then set to `False` by default. For more details check this issue: https://github.com/huggingface/transformers/issues/31884
  warnings.warn(
BigBirdForMaskedLM has generative capabilities, as `prepare_inputs_for_generation` is explicitly overwritten. However, it doesn't directly inherit from `GenerationMixin`. From 👉v4.50👈 onwards, `PreTrainedModel` will NOT inherit from `GenerationMixin`, and this model will lose the ability to call `generate` and other related functions.
  - If you're using `trust_remote_code=True`, you can get rid of this warning by loading the model with an auto class. See https://huggingface.co/docs/transformers/en/model_doc/auto#auto-classes
  - If you are the owner of the model architecture code, please modify your model class such that it inherits from `GenerationMixin` (after `PreTrainedModel`, otherwise you'll get an exception).
  - If you are not the owner of the model architecture class, please contact the model code owner to update it.
Using 16bit Automatic Mixed Precision (AMP)
GPU available: True (cuda), used: True
TPU available: False, using: 0 TPU cores
HPU available: False, using: 0 HPUs
/usr/local/lib/python3.12/site-packages/pytorch_lightning/trainer/connectors/logger_connector/logger_connector.py:75: Starting from v1.9.0, `tensorboardX` has been removed as a dependency of the `pytorch_lightning` package, due to potential conflicts with other packages in the ML ecosystem. For this reason, `logger=True` will use `CSVLogger` as the default logger, unless the `tensorboard` or `tensorboardX` packages are found. Please `pip install lightning[extra]` or one of them to enable TensorBoard support by default
Initializing distributed: GLOBAL_RANK: 0, MEMBER: 1/1
----------------------------------------------------------------------------------------------------
distributed_backend=nccl
All distributed processes registered. Starting with 1 processes
----------------------------------------------------------------------------------------------------

[rank0]: Traceback (most recent call last):
[rank0]:   File "/codont_worker/CodonTransformer/pretrain.py", line 239, in <module>
[rank0]:     main(args)
[rank0]:   File "/codont_worker/CodonTransformer/pretrain.py", line 178, in main
[rank0]:     trainer.fit(harnessed_model, data_loader)
[rank0]:   File "/usr/local/lib/python3.12/site-packages/pytorch_lightning/trainer/trainer.py", line 538, in fit
[rank0]:     call._call_and_handle_interrupt(
[rank0]:   File "/usr/local/lib/python3.12/site-packages/pytorch_lightning/trainer/call.py", line 46, in _call_and_handle_interrupt
[rank0]:     return trainer.strategy.launcher.launch(trainer_fn, *args, trainer=trainer, **kwargs)
[rank0]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[rank0]:   File "/usr/local/lib/python3.12/site-packages/pytorch_lightning/strategies/launchers/subprocess_script.py", line 105, in launch
[rank0]:     return function(*args, **kwargs)
[rank0]:            ^^^^^^^^^^^^^^^^^^^^^^^^^
[rank0]:   File "/usr/local/lib/python3.12/site-packages/pytorch_lightning/trainer/trainer.py", line 574, in _fit_impl
[rank0]:     self._run(model, ckpt_path=ckpt_path)
[rank0]:   File "/usr/local/lib/python3.12/site-packages/pytorch_lightning/trainer/trainer.py", line 938, in _run
[rank0]:     self.__setup_profiler()
[rank0]:   File "/usr/local/lib/python3.12/site-packages/pytorch_lightning/trainer/trainer.py", line 1071, in __setup_profiler
[rank0]:     self.profiler.setup(stage=self.state.fn, local_rank=local_rank, log_dir=self.log_dir)
[rank0]:                                                                             ^^^^^^^^^^^^
[rank0]:   File "/usr/local/lib/python3.12/site-packages/pytorch_lightning/trainer/trainer.py", line 1233, in log_dir
[rank0]:     dirpath = self.strategy.broadcast(dirpath)
[rank0]:               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[rank0]:   File "/usr/local/lib/python3.12/site-packages/pytorch_lightning/strategies/ddp.py", line 307, in broadcast
[rank0]:     torch.distributed.broadcast_object_list(obj, src, group=_group.WORLD)
[rank0]:   File "/usr/local/lib/python3.12/site-packages/torch/distributed/c10d_logger.py", line 79, in wrapper
[rank0]:     return func(*args, **kwargs)
[rank0]:            ^^^^^^^^^^^^^^^^^^^^^
[rank0]:   File "/usr/local/lib/python3.12/site-packages/torch/distributed/distributed_c10d.py", line 2901, in broadcast_object_list
[rank0]:     broadcast(object_sizes_tensor, src=src, group=group)
[rank0]:   File "/usr/local/lib/python3.12/site-packages/torch/distributed/c10d_logger.py", line 79, in wrapper
[rank0]:     return func(*args, **kwargs)
[rank0]:            ^^^^^^^^^^^^^^^^^^^^^
[rank0]:   File "/usr/local/lib/python3.12/site-packages/torch/distributed/distributed_c10d.py", line 2205, in broadcast
[rank0]:     work = default_pg.broadcast([tensor], opts)
[rank0]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[rank0]: torch.distributed.DistBackendError: NCCL error in: ../torch/csrc/distributed/c10d/NCCLUtils.hpp:275, unhandled system error (run with NCCL_DEBUG=INFO for details), NCCL version 2.20.5
[rank0]: ncclSystemError: System call (e.g. socket, malloc) or external library call failed or device error.
[rank0]: Last error:

The output of nvidia-smi from within the container is below:
Tue Oct  1 16:06:26 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 545.29.06              Driver Version: 545.29.06    CUDA Version: 12.3     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 4060 Ti     Off | 00000000:01:00.0 Off |                  N/A |
|  0%   42C    P8              13W / 165W |     20MiB / 16380MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
+---------------------------------------------------------------------------------------+

Would really appreciate any advice on this.
Thanks!

Hi @JackKay404 and thanks for your interest in CodonTransformer! It is hard to diagnose the problem. All we have is NCCL error in: ../torch/csrc/distributed/c10d/NCCLUtils.hpp:275, unhandled system error, which may be a GPU configuration issue. Would you know if the machine can run other training loops using Pytorch Lightning?

Not sure about Pytorch Lightning but I have been able to perform other GPU enabled tasks using a similar containerised setup. Is there a test case I could try?

Thanks for all the help!
after running nvcc --version it seems that it is not installed:
bash: nvcc: command not found
This seems strange because I am able to run nvidia-smi from within the container but I guess I need to install nvidia container-toolkit, maybe I'm missing something...

@gui11aume Could the issue be that the custom slurm json loader we used doesn't support only a single GPU?

The reason is certainly because the code is strongly "addicted" to a SLURM environment and it was not tested on so many machines. Here the issue is obvious: os.environ.get(self.world_size_handle) does not find the proper environment variable and return None, which cannot be turned into an int. The code should be os.environ.get(self.world_size_handle, 1) so that it makes a world size 1 by default. That may fix this issue, but the code is highly non-portable so I suspect that other issues will arise.

Theoretically, if my system had another cuda GPU would that be a fix? Alternatively, could you suggest some code edits for a single-GPU workaround? @Adibvafa

I will open a PR to add support for non-SLURM environments this weekend.


"M" turned "H"

It seems that the letter "M" has been substituted in the 5x8_font with the letter "H".
The cause seems to be that the following data appears twice in each #ifndef or #else section in 5x8_font.h,  once for "H" (as it should) and again for "M":
        0x7c,
        0x10,
        0x10,
        0x7c,
        0x0,

Note that the 'ndef' SSD1306_ASCII_FULL entries have trailing whitespace but the SSD1306_ASCII_FULL entries don't, which can screw with non-regexp file contents searches.

It's an issue with the font width itself. in a 5 (width) x 8(height) pixels font one pixel of width is reserved for spacing between letters (and for drawing special characters). So you are left with 4 pixels of usable width so there is no way of distinguishing M from H as there is no way of creating a V shape with 2 pixels. You would need to create a 6x8 font to solve this issue
As for trailing whitespaces seems that this file got never formatted. will fix


Newline in edit:prompt eats first line of output from after-readline hook

 ▲ ~/vid  elvish -norc
~/vid> ls
 2018-11-28_13-56-21.mkv  'League Replays'   animu   clips   das   movies
~/vid> edit:after-readline = [[_]{ ls >/dev/tty }]
~/vid>  2018-11-28_13-56-21.mkv  'League Replays'   animu   clips   das   movies
~/vid>
~/vid> edit:prompt = { print "\n"(tilde-abbr $pwd)"> " } 2018-11-28_13-56-21.mkv
~/vid> edit:prompt = { print "\n"(tilde-abbr $pwd)"> " }

~/vid>

~/vid>

fixed in new editor


Disabling the Password

Is there a way/option to disable the password completely?
I have been modifying /usr/lib/python3.8/site-packages/steam_buddy/config.py and changing the password length, but that makes it a little easier to remember when I have to go to the other room.
It would be nice to remove the password completely.

There is currently no way to disable the password, but you can set your own persistent password in the settings. Does that help?

No, it cannot be set via CLI.


🐞[Bug]:  Absence of Navbar and Footer in Terms and Conditions

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
Hey @Anishkagupta04 and @varshith257
On this website, the terms and conditions page does not have a navbar and footer.
I want to add a navbar and footer in the terms and conditions page for consistency across the website.

Expected behavior
It should have navbar and footer.
Add ScreenShots
No response
What browsers are you seeing the problem on?
No response
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

I think there is an open PR for it. Check it once

Integrated with recent PR merge


Citation 39

Need to fix citation 39 below.
The proliferation of web-based resources transformed access to bioinformatics tools, democratizing their availability and usability for researchers worldwide. Through the development of web platforms, bioinformatics tools became more user-friendly and accessible. This shift enabled researchers to interact with sophisticated analytical tools without needing extensive computational expertise or access to specialized hardware. Consequently, the widespread adoption of web-based bioinformatics resources facilitated broader participation in genomic and molecular research, accelerating scientific discovery and collaboration on a global scale. Graphical web servers emerged as a convenient alternative to traditional UNIX-based systems, simplifying data analysis without the need for complex installations. The continued relevance of servers for scientific purposes is exemplified by the AlphaFold Server which uses the latest AlphaFold 3 model [39, J. et al. Accurate structure prediction of biomolecular interactions with AlphaFold 3. Nature 1–3 (2024) doi:10.1038/s41586-024-07487-w], released in 2024, to provide highly accurate biomolecular structure predictions in a unified platform.

fixed ✅


Textbox not working

The textboxes work again if I disable Mixlab. I've this issue since I uploaded the node from commit 1c767b5 to commit db8d468.

+1

已经修复 v0.27.1

Fixed by: https://github.com/shadowcz007/comfyui-mixlab-nodes/commit/d4181ea67cbdf58a25b5bc5b09f4ded064329326


Command hangs when autoMemoryReclaim=gradual with distro systemd enabled

Windows Version
Microsoft Windows [Version 10.0.22621.2428]
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>-1
Distro Version
Debian 12
Other Software
No response
Repro Steps

Update to latest WSL pre-release version by running wsl --update --pre-release
Enable systemd support in wsl.conf
Set autoMemoryReclaim=gradual in .wslconfig
Shutdown WSL and start to apply settings
Place WSL distro command line windows aside for several minutes, to avoid WSL terminating distro automatically, and to allow WSL to reclaim memory
Then, execute sudo apt update.

Expected Behavior
This command will be executed instantly.
Actual Behavior
You will find that this command hangs for a very long time. Terminating and relaunching distro will make everything work again. Disabling systemd support also works.
Diagnostic Logs
No response

Thank you for reporting this @AzureZeng. Could you capture logs of the entire sequence, and then capture /dumps when the command hangs so we can see what's happening ?

What specifically do you mean by ". After kernel allocating buff/cache memory, everything works again." ?

What specifically do you mean by ". After kernel allocating buff/cache memory, everything works again." ?

The buff/cache memory allocated by WSL when starting distro is gradually dropped by WSL mechanism (autoMemoryReclaim=gradual). When buff/cache memory is fully dropped, execute any commands in WSL may cause hanging. When hanging, I found that kernel is trying to re-allocate buff/cache memory, and after the full kernel buff/cache memory re-allocation, everything works again.

I was wondering why running apt update was hanging on my laptop and this seems to make sense, as the steps for reproducing aligned with what I experienced.
WSL version: <IP_ADDRESS>
Kernel version: <IP_ADDRESS>-1
Ubuntu 22.04.3
running systemd and autoMemoryReclaim=gradual


Scope and Requirements

Story+Examples+Conversation=Requirement

Definitions

http://qahiccupps.blogspot.pt/2016/11/the-anatomy-of-definition-of-testing.html
https://dojo.ministryoftesting.com/lessons/so-what-is-software-testing
https://testingfromthehip.wordpress.com/2016/06/14/what-is-the-main-purpose-of-our-testing/
Concepts: Checking vs Testing http://www.satisfice.com/blog/archives/856

Also http://blog.getcorrello.com/2015/11/20/how-much-automated-testing-is-enough-automated-testing/#

“How much testing is enough?” is “It depends!”
(see “The Complete Guide to Software Testing”).

It depends on risk: the probablity of something going wrong and the impact of it. We should use risk to determine where to place the emphasis when testing by prioritizing our test cases. here's also the risk of over-testing (doing ineffective testing) and leaving the real needed testing behind.


v1 release should be anthenea but is athenea

Describe the bug
We have named the branch etc. athenea but it should be anthenea with an n after the a.
To Reproduce
N/A
Expected behavior
Things should be named and labeled anthenea.
Screenshots
N/A
Additional context
N/A

Root Cause Analysis
N/A

Resolution Proposal
Rename the branch and change names in other places. As for file downloads, we can simply provide a symlink for athenea for a while.
Affected Components
VarFish Server
Affected Modules/Files
docs_manual/admin_install.rst
docs_manual/admin_upgrade.rst
docs_manual/developer_data_builds.rst
docs_manual/release_cycle.rst
HISTORY.rst

Required Architectural Changes
None
Resolution Sketch

use search and replace to adjust documentation
rename branch


NPC natural weapon/equipment differentiation

This update adds a tag to weapon items to indicate whether they are equipment or not, and filters the NPC inventory tab to remove items not tagged as equipment. This removes natural weapons and unarmed strikes from thhe inventory tab, while still leaving them accessible for editing and use. By default in template.json, the IsEquipment value is true, and should introduce no breaking changes from a data entry standpoint.
The checkbox for determining this property is added only to item sheets whose type is "weapon".

For weapons that are marked as "Weapon is Equipment" (default), they appear in the NPC "Features" and "Inventory" tabs, as normal. For weapons with this box unchecked, they only appear in the "Features" tab.

On PC sheets, no changes are made. All weapons appear on the inventory tab, still.

This tag should also allow better interaction with modules like ItemPiles that allow players to "loot" equipment from fallen enemies.

What's the change in the picture of the armor sheet?

Could you also take some screenshots of the new tabs on equipment? Not really able to crack open your branch and test myself rn.

What's the change in the picture of the armor sheet?

There's no change, just included it to show that the new checkbox only appears on weapon sheets.

Could you also take some screenshots of the new tabs on equipment? Not really able to crack open your branch and test myself rn.

I haven't added the new tabs yet. This was something else I was working on at the same time that was basically done, so I broke it out into a separate pull request to keep everything segmented. I'll open a draft PR for the new tabs thing.

Could you also take some screenshots of the new tabs on equipment? Not really able to crack open your branch and test myself rn.

I haven't added the new tabs yet. This was something else I was working on at the same time that was basically done, so I broke it out into a separate pull request to keep everything segmented. I'll open a draft PR for the new tabs thing.

The tabs look to be in this PR, see the changes to weapon.hbs

Could you also take some screenshots of the new tabs on equipment? Not really able to crack open your branch and test myself rn.

I haven't added the new tabs yet. This was something else I was working on at the same time that was basically done, so I broke it out into a separate pull request to keep everything segmented. I'll open a draft PR for the new tabs thing.

The tabs look to be in this PR, see the changes to weapon.hbs

Yep you're correct. I branched this off the subtabs branch instead of off development like I should have, so it's a bit messy. I'll try to clean this up to keep the subtabs separated, as they're not necessary for this.

Could you also update the other localisations while you're at it?

Could you also update the other localisations while you're at it?

You mean add tooltips to the other equipment statuses?

Could you also update the other localisations while you're at it?

You mean add tooltips to the other equipment statuses?

No just copy the one you added to English to the others

Could you also update the other localisations while you're at it?

You mean add tooltips to the other equipment statuses?

No just copy the one you added to English to the others

Ahhh gotcha. Done.


Does not remove extraneous brackets

mo-black is a simple patch to avoid formatting simple structures.  This means (x) is not simplified to x.  Add some logic to test if reformatting simple structures results in less code; either less lines or less characters in a single line.

This appears to be a problem with Black.  It is not related to the avoid-formatting-simple-structures: https://github.com/psf/black/issues/1689


Svelte updates the tab's title only if  is a direct child of svelte:head

Describe the bug
When you navigate a website, the tab's title should be replaced by the title of the new page. It is simple :
<svelte:head>
  <title>Some page</title>
</svelte:head>

Some page

This works fine, if I navigate to other pages, the tab's title will be updated accordingly. However... let's put <title> in a component called Head.svelte :

<title>{title}</title>

And then use this component inside of <svelte:head> on all pages :

<svelte:head>

</svelte:head>

This time, when you navigate the pages of the website, the tab's title doesn't get updated. It sticks with the first one. Reload the page to see the right title.
Reproduction
Here a repo that reproduces the issue : https://github.com/ThomasGysemans/sveltekit-title-issue
The issue is very simple to describe. It took me 5 minutes to make this repo. Clone it and run npm run dev. You'll see that when you navigate through the site, the tab's title remains "Main Page". However, replace the Head.svelte component on all pages by <title> and try again. You'll see that the tab's title gets updated accordingly (which is the right behaviour).
Logs
No response
System Info
System:
  OS: macOS 12.6
  CPU: (8) arm64 Apple M1
  Memory: 80.13 MB / 8.00 GB
  Shell: Unknown
Binaries:
  Node: 16.15.0 - /usr/local/bin/node
  npm: 8.5.5 - /usr/local/bin/npm
Browsers:
  Brave Browser: <IP_ADDRESS>
  Chrome: 114.0.5735.133
  Safari: 16.0
npmPackages:
  @sveltejs/adapter-auto: ^2.0.0 => 2.1.0
  @sveltejs/kit: ^1.20.4 => 1.20.5
  svelte: ^4.0.0 => 4.0.0
  vite: ^4.3.6 => 4.3.9

Severity
annoyance
Additional Information
The simple work around is to just put <title> as a direct child of <svelte:head> but it is a little annoying and not really intuitive.

I don't think I'd consider this a bug. The <title> element is supposed to go in the  in regular HTML, so it's definitely intuitive that it needs to go in <svelte:head>. I'm not sure what browsers do if you try to put the <title> in the  - probably it tries to be helpful and move it to the  - but you shouldn't be trying to write apps that require that.

I don't think I'd consider this a bug. The <title> element is supposed to go in the  in regular HTML, so it's definitely intuitive that it needs to go in <svelte:head>

Even though <title> is in a component, the component itself is used in <svelte:head>. Why would there be a difference?


Fedora 27+ include Podman packages

Good catch, LGTM

@davidstrauss I think you need to sign your commit - git commit --amend -s and force-push should be enough.

I'll need to get my GPG house in order to sign the commit. I mostly use my GPG hardware tokens for SSH, so I don't have the proper subkey signing stuff configured yet. I've been meaning to fix things, though, so I'll do that and re-push.

@davidstrauss Oh, sorry, not a fully GPG signature, just a Signed-off-by line, should have been more clear

Docs for the missing Signed-off-by are here.

@davidstrauss Thanks for the update and the catch.  We need to get this in sooner rather than later so I've just spun up #779 stealing your update.  Hope you can contribute again in the future!

Closing for #779
Thanks @davidstrauss

Thanks for the update and the catch. We need to get this in sooner rather than later so I've just spun up #779 stealing your update. Hope you can contribute again in the future!

No worries. For what it's worth, removing the Signed-Off-By requirement would make drive-by contributions (like those from clicking "Edit" on GitHub) easier.


Too slowly

Windows 11 X64
64GB RAM
GPU：2070S 8GB VRAM
I dont know Why.
flux1-dev-Q4_0.gguf
flux1-dev-Q4_1.gguf
Please explain the difference between the two models. How to increase speed?
My generation speed for NF4 v2 model is about 1 minute per image.

For me the fastest by far are flux1-dev-bnb-nf4.safetensors & flux1-dev-bnb-nf4-v2.safetensors.
followed by default flux1-dev.safetensors and the slower ones the whole range of flux1-dev-F16.gguf , flux1-dev-Q5_1.gguf , flux1-dev-Q8_0.gguf....

almost the same trouble with gguf, searching for any fix or explanation
specs
win 11x64
64gb ram
3070 laptop gpu 8 gb vram

The simple explanation is that GGUF is a more complicated quantization format, and needs more compute to turn it back into FP16 (which is needed to do the actual inference). Also, all the quantization code is in python, while bitsandbytes and torch (for FP8) both most likely have optimized cpp/cuda kernels in place.
You can try mess with the advanced loader and see if it helps, there's an open issue about two or more LoRAs causing slowdown, that thread explains a bit more about the options.


bug@v2: Dismissing loading too fast triggers error "Cannot read property 'nativeElement' of undefined"

Short description of the problem:
If we dismiss a Loading too fast after presenting it, an error is thrown.
What behavior are you expecting?
It should be dismissed without any issue.
Steps to reproduce:

Validate the Prompt
The Loading... should disappear

Which Ionic Version? 2.0.0-beta10
Plunker that shows an example of your issue
http://plnkr.co/edit/cgY4qMpyGGaiVNbtFu2N?p=preview
Run ionic info from terminal/cmd prompt: (paste output below)
Your system information:
You have been opted out of telemetry. To change this, run: cordova telemetry on.
6.2.0
Gulp version:  CLI version 3.9.0
Gulp local:   Local version 3.9.1
Ionic Framework Version: 2.0.0-beta.10
Ionic CLI Version: 2.0.0-beta.32
Ionic App Lib Version: 2.0.0-beta.18
OS: Windows 7 SP1
Node Version: v6.2.2

Dependency warning - for the CLI to run correctly,
it is highly recommended to install/upgrade the following:
Please install your Cordova CLI to version  >=4.2.0 npm install -g cordova

Hello, thanks for opening this issue! I can reproduce this issue and will be taking a look into it. Thanks!

Shouldn't you wait for the loading to be displayed before dismissing it?
If you use this, it works:
this.nav.present(loading).then(() => {
    this.asynchronous().then(() => {
        loading.dismiss();
    });
});

Ahh, thanks for looking at this again @Kobzol, don't know why i didn't notice that yesterday. @HugoHeneault I have made a plunker here that shows the correct way to do this. Thanks for using Ionic!


IntroJs is broken

On latest master (58ed6e9d1f59e55478c252dbd1dbb2e5c5c50eac) the intro js is not shown. Since it is not shown, it cannot be cancelled and the app cannot be used as all interaction with the page are disabled.
Firefox 102.0 (64-bit):

Chrome Version 103.0.5060.53 (Official Build) (x86_64):

To reproduce:

checkout latest master,
run yarn dev or yarn build in taker-ui
start taker
make sure to clear browser storage/cookies

resolved with https://github.com/itchysats/itchysats/pull/2356


Forcibly skip tests for publishing

It looks like the CF/MN plugin still pulls in the test dep when trying to run on Angelica - forcibly skip it

Example failed run - https://github.com/GTNewHorizons/Angelica/actions/runs/8529836755/job/23366425653#step:11:1752


Carla 0.9.3 pedestrians control

Hello!
As I saw in the new version video in Carla 0.9.3, I can see the pedestrian is crossing the street when the car just arrived.
So I want to know how to realize this? That not only the pedestrian but also the other NPC cars can emerge at the right time I want.

Hi there!
As I understand the question, one possible way to spawn pedestrian when car arrives can be to connect multiple clients to the carla server. When the player car arrives, spawn NPC or pedestrian using another client (a separate thread/process). Would be easier if you could re-frame your question. What precisely do you want to do?

Hello!
You have got what I mean, and I thanks for your idea of using multiple clients, and I also want to know how to control the right time,how can the pedestrian client know when to start as the player car arrives?

Hi @fty0724
You might want to use a distance-based pedestrian starter. You can get the autonomous car's position by using world.get_actors().
Then,
 if magnitude(npc.get_location() - av.get_location()) < threshold:
   npc.start_moving()

Dixant

Thanks for your reply! I will try it later~


DESeq2 class

Adds the DESeq2 class - implementation of DESeq2 in R/Bioconductor ported using rpy2.

fit() creates a DESeq2 model with a given design matrix, var names from adata.var_names, and expression data from adata.X

_test_single_contrast performs DGE analysis based on factors from the contrast dictionary

I'm still in deep R set-up in actions purgatory here 😢
What I tried so far:

Setting extra-dependencies in actions/setup-r, but this doesn't install if you don't use actions/setup-r-dependencies
Setting extra-packages in  setup-r-dependencies, but this complains that there are no packages in DESCRIPTION. It might be fixable by changing the dependencies parameter, but I couldn't quite figure how to make it work.
Setting basic setup-r and installing packages with an extra step running Rscript, but again this didn't allow me to install pak from CRAN.


Implement evaluation mode for model evaluations

Summary
In PART 1 of the tutorial, the classification and regression models use the model.train() setting but not the model.eval() setting with torch.no_grad().
Details and comments
The model.eval() setting with torch.no_grad() is used in PART 2, which makes sense as no test data is used in PART 1, but for the overall understanding and the PyTorch alignment, shouldn't it be there, too?

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1851

Relevant Lines:
1997

💛  - Coveralls

You're right. It is otherwise explained twice.


cam.grab_images() buffer

On a similar vein to #14 I'm trying to do something real time. I've noticed that there is a very smooth output but there is ~3 second lag almost like a buffer of sorts.
I can eliminate it by re initializing grab_images constantly but that significantly drops the frame rate.
Am I missing some switch or setting regarding some sort of buffer?
Thanks,
Aaron

If you take a look at my as yet unmerged  PR (https://github.com/mabl/PyPylon/pull/23) I've exposed configuration of different grab strategies.  Have a read up in the Basler docs. then give a LatestImageOnly grab strategy a go.


Align devfile titles in registry viewer

/kind bug
Which area this bug is related to?
/area registry
Bug Summary
Describe the bug:
This is minor, but the titles of each devfile should be aligned at the same vertical position. Having them unaligned looks sloppy and is slightly harder to scan.
See screen cap:

Expected behavior
Devfile titles are aligned.
Additional context
Suggestion on how to fix the bug
Likely a fixed height/area for the icon so that the label is always at the same vertical position.

two ways to fix the issue:

restrict the source icons to be with same size

modify css
I'm able to make display name align if remove the max-width limitation for icon image. but the icon size is not guaranteed to be the same. it won't overflow, but some icons may be bigger than others. for instance, vertx:

duplicate of https://github.com/devfile/api/issues/605


use mutator with formula transform, add d3.format to formula list.

Thanks! Merged into v1.5.0 branch.


Server Error: The path attribute is missing for entity with slug /blog/node-title

I raised issue with missing documentation and modified code accordingly.
import { Experiment_DrupalClient as DrupalClient } from "next-drupal"

export const drupal = new DrupalClient(
  process.env.NEXT_PUBLIC_DRUPAL_BASE_URL,
  {
    previewSecret: process.env.DRUPAL_PREVIEW_SECRET,
    auth: () =>
      "Basic " +
      Buffer.from(
        `${process.env.BASIC_AUTH_USERNAME}:${process.env.BASIC_AUTH_PASSWORD}`
      ).toString("base64"),
  }
)

For a node with a title of "node-title" this results in an error on the node preview iframe:
Server Error
Error: The path attribute is missing for entity with slug /blog/node-title

This error happened while generating the page. Any console logs will be displayed in the terminal window.
Source
(api)/pages/api/preview.tsx (9:9) @ async handler

   7 |   response: NextApiResponse
   8 | ) {
>  9 |   return await drupal.preview(request, response)
     |         ^
  10 | }
  11 |

where preview.ts is unchanged from the default installed code:
import { NextApiRequest, NextApiResponse } from "next"

import { drupal } from "lib/drupal"

export default async function handler(
  request: NextApiRequest,
  response: NextApiResponse
) {
  return await drupal.preview(request, response)
}

Looking at the network call I see:
Request URL: https://nextdrupal.syntapse.co.uk/api/preview?secret=nextdrupal1234&slug=/blog/drupal-and-next-js-working&locale=en&defaultLocale=en&resourceVersion=rel%3Alatest-version
Request Method: GET
Status Code: 500
Remote Address: <IP_ADDRESS>:443
Referrer Policy: strict-origin-when-cross-origin
Obsevration: The secret isnt hashed so visible to public.

The raw JSON:API request contains a path attribute/alias:
https://cmsnext.syntapse.co.uk/jsonapi/node/article/bc799b09-586a-4994-820a-47ac808096c8
returns
attributes": {
"drupal_internal__nid": 1,
"drupal_internal__vid": 5,
"langcode": "en",
"revision_timestamp": "2022-05-31T12:08:40+00:00",
"revision_log": null,
"status": true,
"title": "Drupal and Next JS is working",
"created": "2022-05-31T11:46:41+00:00",
"changed": "2022-05-31T12:08:40+00:00",
"promote": true,
"sticky": false,
"default_langcode": true,
"revision_translation_affected": true,
"path": {
"alias": "/blog/drupal-and-next-js-working",
"pid": 1,
"langcode": "en"
},
"body": {
...
}

alpine linux. im serving both drupal and nextjs from a docker container.
bash-5.1# cat /etc/os-release
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.15.0
PRETTY_NAME="Alpine Linux v3.15"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://bugs.alpinelinux.org/"

Also running php 8
bash-5.1# php -v
PHP 8.1.3 (cli) (built: Feb 18 2022 20:33:47) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.3, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.3, Copyright (c), by Zend Technologies

Moving this to https://github.com/chapter-three/next-drupal/issues/220


[Bug] PySpark job in PENDING state forever

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Search before asking

[X] I have searched in the issues and found no similar issues.

Describe the bug
I'm trying to submit a pyspark batch job using the REST endpoint. I can see the spark job to be completed, but Kyuubi shows the job is in pending state.

Setup:

Spark running on docker with a master and worker, using bitnami/spark image
Kyuubi running in its own docker container built with provided script with base image from bitnami/spark

Sample pyspark code:
from pyspark.sql import SparkSession

spark = SparkSession.builder \
    .appName("Sample PySpark Code") \
    .getOrCreate()

data = [
    (1, "Alice", 28),
    (2, "Bob", 24),
    (3, "Cathy", 29),
    (4, "David", 30),
    (5, "Eve", 22)
]

columns = ["id", "name", "age"]

df = spark.createDataFrame(data, columns)

# Show the schema and some rows of the DataFrame
df.printSchema()
df.show()

df_selected = df.select("name", "age")

# Filter rows based on a condition
df_filtered = df_selected.filter(df_selected["age"] > 25)

# Show the transformed DataFrame
df_filtered.show()

spark.stop()

curl --location --request POST 'http://localhost:10099/api/v1/batches' \
--form 'batchRequest="{\"batchType\":\"pyspark\",\"name\":\"PySpark Pi App\", \"conf\": {\"spark.master\":\"spark://spark-master:7077\"}}";type=application/json' \
--form<EMAIL_ADDRESS>
Spark job log
Spark Executor Command: "/opt/bitnami/java/bin/java" "-cp" "/opt/bitnami/spark/conf/:/opt/bitnami/spark/jars/*" "-Xmx1024M" "-Dspark.driver.port=44035" "-Djava.net.preferIPv6Addresses=false" "-XX:+IgnoreUnrecognizedVMOptions" "--add-opens=java.base/java.lang=ALL-UNNAMED" "--add-opens=java.base/java.lang.invoke=ALL-UNNAMED" "--add-opens=java.base/java.lang.reflect=ALL-UNNAMED" "--add-opens=java.base/java.io=ALL-UNNAMED" "--add-opens=java.base/java.net=ALL-UNNAMED" "--add-opens=java.base/java.nio=ALL-UNNAMED" "--add-opens=java.base/java.util=ALL-UNNAMED" "--add-opens=java.base/java.util.concurrent=ALL-UNNAMED" "--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED" "--add-opens=java.base/jdk.internal.ref=ALL-UNNAMED" "--add-opens=java.base/sun.nio.ch=ALL-UNNAMED" "--add-opens=java.base/sun.nio.cs=ALL-UNNAMED" "--add-opens=java.base/sun.security.action=ALL-UNNAMED" "--add-opens=java.base/sun.util.calendar=ALL-UNNAMED" "--add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED" "-Djdk.reflect.useDirectMethodHandle=false" "org.apache.spark.executor.CoarseGrainedExecutorBackend" "--driver-url" "spark://CoarseGrainedScheduler@7e5c53b23aa7:44035" "--executor-id" "0" "--hostname" "<IP_ADDRESS>" "--cores" "1" "--app-id" "app-20240716160002-0003" "--worker-url" "spark://Worker@<IP_ADDRESS>:44167" "--resourceProfileId" "0"
========================================

Picked up _JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.cs=ALL-UNNAMED --add-opens=java.base/sun.security.action=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED
Using Spark's default log4j profile: org/apache/spark/log4j2-defaults.properties
24/07/16 16:00:03 INFO CoarseGrainedExecutorBackend: Started daemon with process name: 394@73aecc79e3f8
24/07/16 16:00:03 INFO SignalUtils: Registering signal handler for TERM
24/07/16 16:00:03 INFO SignalUtils: Registering signal handler for HUP
24/07/16 16:00:03 INFO SignalUtils: Registering signal handler for INT
24/07/16 16:00:03 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
24/07/16 16:00:03 INFO SecurityManager: Changing view acls to: spark
24/07/16 16:00:03 INFO SecurityManager: Changing modify acls to: spark
24/07/16 16:00:03 INFO SecurityManager: Changing view acls groups to:
24/07/16 16:00:03 INFO SecurityManager: Changing modify acls groups to:
24/07/16 16:00:03 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: spark; groups with view permissions: EMPTY; users with modify permissions: spark; groups with modify permissions: EMPTY
24/07/16 16:00:03 INFO TransportClientFactory: Successfully created connection to 7e5c53b23aa7/<IP_ADDRESS>:44035 after 35 ms (0 ms spent in bootstraps)
24/07/16 16:00:03 INFO SecurityManager: Changing view acls to: spark
24/07/16 16:00:03 INFO SecurityManager: Changing modify acls to: spark
24/07/16 16:00:03 INFO SecurityManager: Changing view acls groups to:
24/07/16 16:00:03 INFO SecurityManager: Changing modify acls groups to:
24/07/16 16:00:03 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: spark; groups with view permissions: EMPTY; users with modify permissions: spark; groups with modify permissions: EMPTY
24/07/16 16:00:03 INFO TransportClientFactory: Successfully created connection to 7e5c53b23aa7/<IP_ADDRESS>:44035 after 6 ms (0 ms spent in bootstraps)
24/07/16 16:00:04 INFO DiskBlockManager: Created local directory at /tmp/spark-e30bc5b9-d9f6-4658-be36-98af0238de03/executor-f988152e-b542-4f1d-a816-fc8b29e72ed3/blockmgr-9aad88fe-77ab-487e-a24b-070e0b84e696
24/07/16 16:00:04 INFO MemoryStore: MemoryStore started with capacity 434.4 MiB
24/07/16 16:00:04 INFO WorkerWatcher: Connecting to worker spark://Worker@<IP_ADDRESS>:44167
24/07/16 16:00:04 INFO CoarseGrainedExecutorBackend: Connecting to driver: spark://CoarseGrainedScheduler@7e5c53b23aa7:44035
24/07/16 16:00:04 INFO TransportClientFactory: Successfully created connection to /<IP_ADDRESS>:44167 after 1 ms (0 ms spent in bootstraps)
24/07/16 16:00:04 INFO ResourceUtils: ==============================================================
24/07/16 16:00:04 INFO ResourceUtils: No custom resources configured for spark.executor.
24/07/16 16:00:04 INFO ResourceUtils: ==============================================================
24/07/16 16:00:04 INFO WorkerWatcher: Successfully connected to spark://Worker@<IP_ADDRESS>:44167
24/07/16 16:00:04 INFO CoarseGrainedExecutorBackend: Successfully registered with driver
24/07/16 16:00:04 INFO Executor: Starting executor ID 0 on host <IP_ADDRESS>
24/07/16 16:00:04 INFO Executor: OS info Linux, 5.10.104-linuxkit, aarch64
24/07/16 16:00:04 INFO Executor: Java version 17.0.11
24/07/16 16:00:04 INFO Utils: Successfully started service 'org.apache.spark.network.netty.NettyBlockTransferService' on port 38653.
24/07/16 16:00:04 INFO NettyBlockTransferService: Server created on <IP_ADDRESS>:38653
24/07/16 16:00:04 INFO BlockManager: Using org.apache.spark.storage.RandomBlockReplicationPolicy for block replication policy
24/07/16 16:00:04 INFO BlockManagerMaster: Registering BlockManager BlockManagerId(0, <IP_ADDRESS>, 38653, None)
24/07/16 16:00:04 INFO BlockManagerMaster: Registered BlockManager BlockManagerId(0, <IP_ADDRESS>, 38653, None)
24/07/16 16:00:04 INFO BlockManager: Initialized BlockManager: BlockManagerId(0, <IP_ADDRESS>, 38653, None)
24/07/16 16:00:04 INFO Executor: Starting executor with user classpath (userClassPathFirst = false): ''
24/07/16 16:00:04 INFO Executor: Created or updated repl class loader org.apache.spark.util.MutableURLClassLoader@153e2660 for default.
24/07/16 16:00:04 INFO CoarseGrainedExecutorBackend: Got assigned task 0
24/07/16 16:00:04 INFO Executor: Running task 0.0 in stage 0.0 (TID 0)
24/07/16 16:00:04 INFO TorrentBroadcast: Started reading broadcast variable 0 with 1 pieces (estimated total size 4.0 MiB)
24/07/16 16:00:04 INFO TransportClientFactory: Successfully created connection to 7e5c53b23aa7/<IP_ADDRESS>:34119 after 1 ms (0 ms spent in bootstraps)
24/07/16 16:00:04 INFO MemoryStore: Block broadcast_0_piece0 stored as bytes in memory (estimated size 6.7 KiB, free 434.4 MiB)
24/07/16 16:00:04 INFO TorrentBroadcast: Reading broadcast variable 0 took 81 ms
24/07/16 16:00:04 INFO MemoryStore: Block broadcast_0 stored as values in memory (estimated size 13.0 KiB, free 434.4 MiB)
24/07/16 16:00:05 INFO CodeGenerator: Code generated in 108.676333 ms
24/07/16 16:00:05 INFO PythonRunner: Times: total = 411, boot = 323, init = 87, finish = 1
24/07/16 16:00:05 INFO Executor: Finished task 0.0 in stage 0.0 (TID 0). 2004 bytes result sent to driver
24/07/16 16:00:05 INFO CoarseGrainedExecutorBackend: Got assigned task 1
24/07/16 16:00:05 INFO Executor: Running task 0.0 in stage 1.0 (TID 1)
24/07/16 16:00:05 INFO TorrentBroadcast: Started reading broadcast variable 1 with 1 pieces (estimated total size 4.0 MiB)
24/07/16 16:00:05 INFO MemoryStore: Block broadcast_1_piece0 stored as bytes in memory (estimated size 6.7 KiB, free 434.4 MiB)
24/07/16 16:00:05 INFO TorrentBroadcast: Reading broadcast variable 1 took 7 ms
24/07/16 16:00:05 INFO MemoryStore: Block broadcast_1 stored as values in memory (estimated size 13.0 KiB, free 434.4 MiB)
24/07/16 16:00:05 INFO PythonRunner: Times: total = 50, boot = -163, init = 213, finish = 0
24/07/16 16:00:05 INFO Executor: Finished task 0.0 in stage 1.0 (TID 1). 2031 bytes result sent to driver
24/07/16 16:00:06 INFO CoarseGrainedExecutorBackend: Got assigned task 2
24/07/16 16:00:06 INFO Executor: Running task 0.0 in stage 2.0 (TID 2)
24/07/16 16:00:06 INFO TorrentBroadcast: Started reading broadcast variable 2 with 1 pieces (estimated total size 4.0 MiB)
24/07/16 16:00:06 INFO MemoryStore: Block broadcast_2_piece0 stored as bytes in memory (estimated size 6.8 KiB, free 434.4 MiB)
24/07/16 16:00:06 INFO TorrentBroadcast: Reading broadcast variable 2 took 6 ms
24/07/16 16:00:06 INFO MemoryStore: Block broadcast_2 stored as values in memory (estimated size 13.1 KiB, free 434.4 MiB)
24/07/16 16:00:06 INFO CodeGenerator: Code generated in 9.61425 ms
24/07/16 16:00:06 INFO PythonRunner: Times: total = 47, boot = -618, init = 665, finish = 0
24/07/16 16:00:06 INFO Executor: Finished task 0.0 in stage 2.0 (TID 2). 2027 bytes result sent to driver
24/07/16 16:00:06 INFO CoarseGrainedExecutorBackend: Got assigned task 3
24/07/16 16:00:06 INFO Executor: Running task 0.0 in stage 3.0 (TID 3)
24/07/16 16:00:06 INFO TorrentBroadcast: Started reading broadcast variable 3 with 1 pieces (estimated total size 4.0 MiB)
24/07/16 16:00:06 INFO MemoryStore: Block broadcast_3_piece0 stored as bytes in memory (estimated size 6.8 KiB, free 434.4 MiB)
24/07/16 16:00:06 INFO TorrentBroadcast: Reading broadcast variable 3 took 6 ms
24/07/16 16:00:06 INFO MemoryStore: Block broadcast_3 stored as values in memory (estimated size 13.1 KiB, free 434.4 MiB)
24/07/16 16:00:06 INFO PythonRunner: Times: total = 46, boot = -32, init = 78, finish = 0
24/07/16 16:00:06 INFO Executor: Finished task 0.0 in stage 3.0 (TID 3). 1959 bytes result sent to driver
24/07/16 16:00:06 INFO CoarseGrainedExecutorBackend: Driver commanded a shutdown
24/07/16 16:00:06 ERROR CoarseGrainedExecutorBackend: RECEIVED SIGNAL TERM

Conclusion
From the logs it is clear that the job is being executed as expected. But Kyuubi is not able to find the job status and shows in a forever PENDING state
Affects Version(s)
1.9.1
Kyuubi Server Log Output
No logs available

Kyuubi Engine Log Output
24/07/16 16:00:01 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
24/07/16 16:00:02 INFO SparkContext: Running Spark version 3.5.1
24/07/16 16:00:02 INFO SparkContext: OS info Linux, 5.10.104-linuxkit, aarch64
24/07/16 16:00:02 INFO SparkContext: Java version 17.0.11
24/07/16 16:00:02 INFO ResourceUtils: ==============================================================
24/07/16 16:00:02 INFO ResourceUtils: No custom resources configured for spark.driver.
24/07/16 16:00:02 INFO ResourceUtils: ==============================================================
24/07/16 16:00:02 INFO SparkContext: Submitted application: Sample PySpark Code
24/07/16 16:00:02 INFO ResourceProfile: Default ResourceProfile created, executor resources: Map(memory -> name: memory, amount: 1024, script: , vendor: , offHeap -> name: offHeap, amount: 0, script: , vendor: ), task resources: Map(cpus -> name: cpus, amount: 1.0)
24/07/16 16:00:02 INFO ResourceProfile: Limiting resource is cpu
24/07/16 16:00:02 INFO ResourceProfileManager: Added ResourceProfile id: 0
24/07/16 16:00:02 INFO SecurityManager: Changing view acls to: spark
24/07/16 16:00:02 INFO SecurityManager: Changing modify acls to: spark
24/07/16 16:00:02 INFO SecurityManager: Changing view acls groups to:
24/07/16 16:00:02 INFO SecurityManager: Changing modify acls groups to:
24/07/16 16:00:02 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: spark; groups with view permissions: EMPTY; users with modify permissions: spark; groups with modify permissions: EMPTY
24/07/16 16:00:02 INFO Utils: Successfully started service 'sparkDriver' on port 44035.
24/07/16 16:00:02 INFO SparkEnv: Registering MapOutputTracker
24/07/16 16:00:02 INFO SparkEnv: Registering BlockManagerMaster
24/07/16 16:00:02 INFO BlockManagerMasterEndpoint: Using org.apache.spark.storage.DefaultTopologyMapper for getting topology information
24/07/16 16:00:02 INFO BlockManagerMasterEndpoint: BlockManagerMasterEndpoint up
24/07/16 16:00:02 INFO SparkEnv: Registering BlockManagerMasterHeartbeat
24/07/16 16:00:02 INFO DiskBlockManager: Created local directory at /tmp/blockmgr-d6e03fc3-f910-49de-b842-2fdce0701bd8
24/07/16 16:00:02 INFO MemoryStore: MemoryStore started with capacity 434.4 MiB
24/07/16 16:00:02 INFO SparkEnv: Registering OutputCommitCoordinator
24/07/16 16:00:02 INFO JettyUtils: Start Jetty <IP_ADDRESS>:4040 for SparkUI
24/07/16 16:00:02 INFO Utils: Successfully started service 'SparkUI' on port 4040.
24/07/16 16:00:02 INFO StandaloneAppClient$ClientEndpoint: Connecting to master spark://spark-master:7077...
24/07/16 16:00:02 INFO TransportClientFactory: Successfully created connection to spark-master/<IP_ADDRESS>:7077 after 15 ms (0 ms spent in bootstraps)
24/07/16 16:00:02 INFO StandaloneSchedulerBackend: Connected to Spark cluster with app ID app-20240716160002-0003
24/07/16 16:00:02 INFO StandaloneAppClient$ClientEndpoint: Executor added: app-20240716160002-0003/0 on worker-20240716154203-<IP_ADDRESS>-44167 (<IP_ADDRESS>:44167) with 1 core(s)
24/07/16 16:00:02 INFO StandaloneSchedulerBackend: Granted executor ID app-20240716160002-0003/0 on hostPort <IP_ADDRESS>:44167 with 1 core(s), 1024.0 MiB RAM
24/07/16 16:00:02 INFO Utils: Successfully started service 'org.apache.spark.network.netty.NettyBlockTransferService' on port 34119.
24/07/16 16:00:02 INFO NettyBlockTransferService: Server created on 7e5c53b23aa7:34119
24/07/16 16:00:02 INFO BlockManager: Using org.apache.spark.storage.RandomBlockReplicationPolicy for block replication policy
24/07/16 16:00:02 INFO BlockManagerMaster: Registering BlockManager BlockManagerId(driver, 7e5c53b23aa7, 34119, None)
24/07/16 16:00:02 INFO BlockManagerMasterEndpoint: Registering block manager 7e5c53b23aa7:34119 with 434.4 MiB RAM, BlockManagerId(driver, 7e5c53b23aa7, 34119, None)
24/07/16 16:00:02 INFO BlockManagerMaster: Registered BlockManager BlockManagerId(driver, 7e5c53b23aa7, 34119, None)
24/07/16 16:00:02 INFO BlockManager: Initialized BlockManager: BlockManagerId(driver, 7e5c53b23aa7, 34119, None)
24/07/16 16:00:02 INFO StandaloneAppClient$ClientEndpoint: Executor updated: app-20240716160002-0003/0 is now RUNNING
24/07/16 16:00:02 INFO StandaloneSchedulerBackend: SchedulerBackend is ready for scheduling beginning after reached minRegisteredResourcesRatio: 0.0
24/07/16 16:00:02 INFO SharedState: Setting hive.metastore.warehouse.dir ('null') to the value of spark.sql.warehouse.dir.
24/07/16 16:00:02 INFO SharedState: Warehouse path is 'file:/opt/kyuubi/work/anonymous/spark-warehouse'.
root
 |-- id: long (nullable = true)
 |-- name: string (nullable = true)
 |-- age: long (nullable = true)

24/07/16 16:00:04 INFO StandaloneSchedulerBackend$StandaloneDriverEndpoint: Registered executor NettyRpcEndpointRef(spark-client://Executor) (<IP_ADDRESS>:48738) with ID 0,  ResourceProfileId 0
24/07/16 16:00:04 INFO BlockManagerMasterEndpoint: Registering block manager <IP_ADDRESS>:38653 with 434.4 MiB RAM, BlockManagerId(0, <IP_ADDRESS>, 38653, None)
24/07/16 16:00:04 INFO CodeGenerator: Code generated in 96.000666 ms
24/07/16 16:00:04 INFO SparkContext: Starting job: showString at NativeMethodAccessorImpl.java:0
24/07/16 16:00:04 INFO DAGScheduler: Got job 0 (showString at NativeMethodAccessorImpl.java:0) with 1 output partitions
24/07/16 16:00:04 INFO DAGScheduler: Final stage: ResultStage 0 (showString at NativeMethodAccessorImpl.java:0)
24/07/16 16:00:04 INFO DAGScheduler: Parents of final stage: List()
24/07/16 16:00:04 INFO DAGScheduler: Missing parents: List()
24/07/16 16:00:04 INFO DAGScheduler: Submitting ResultStage 0 (MapPartitionsRDD[6] at showString at NativeMethodAccessorImpl.java:0), which has no missing parents
24/07/16 16:00:04 INFO MemoryStore: Block broadcast_0 stored as values in memory (estimated size 13.0 KiB, free 434.4 MiB)
24/07/16 16:00:04 INFO MemoryStore: Block broadcast_0_piece0 stored as bytes in memory (estimated size 6.7 KiB, free 434.4 MiB)
24/07/16 16:00:04 INFO BlockManagerInfo: Added broadcast_0_piece0 in memory on 7e5c53b23aa7:34119 (size: 6.7 KiB, free: 434.4 MiB)
24/07/16 16:00:04 INFO SparkContext: Created broadcast 0 from broadcast at DAGScheduler.scala:1585
24/07/16 16:00:04 INFO DAGScheduler: Submitting 1 missing tasks from ResultStage 0 (MapPartitionsRDD[6] at showString at NativeMethodAccessorImpl.java:0) (first 15 tasks are for partitions Vector(0))
24/07/16 16:00:04 INFO TaskSchedulerImpl: Adding task set 0.0 with 1 tasks resource profile 0
24/07/16 16:00:04 INFO TaskSetManager: Starting task 0.0 in stage 0.0 (TID 0) (<IP_ADDRESS>, executor 0, partition 0, PROCESS_LOCAL, 7651 bytes)
24/07/16 16:00:04 INFO BlockManagerInfo: Added broadcast_0_piece0 in memory on <IP_ADDRESS>:38653 (size: 6.7 KiB, free: 434.4 MiB)
24/07/16 16:00:05 INFO TaskSetManager: Finished task 0.0 in stage 0.0 (TID 0) in 854 ms on <IP_ADDRESS> (executor 0) (1/1)
24/07/16 16:00:05 INFO TaskSchedulerImpl: Removed TaskSet 0.0, whose tasks have all completed, from pool
24/07/16 16:00:05 INFO PythonAccumulatorV2: Connected to AccumulatorServer at host: <IP_ADDRESS> port: 52719
24/07/16 16:00:05 INFO DAGScheduler: ResultStage 0 (showString at NativeMethodAccessorImpl.java:0) finished in 0.933 s
24/07/16 16:00:05 INFO DAGScheduler: Job 0 is finished. Cancelling potential speculative or zombie tasks for this job
24/07/16 16:00:05 INFO TaskSchedulerImpl: Killing all running tasks in stage 0: Stage finished
24/07/16 16:00:05 INFO DAGScheduler: Job 0 finished: showString at NativeMethodAccessorImpl.java:0, took 0.949888 s
24/07/16 16:00:05 INFO SparkContext: Starting job: showString at NativeMethodAccessorImpl.java:0
24/07/16 16:00:05 INFO DAGScheduler: Got job 1 (showString at NativeMethodAccessorImpl.java:0) with 1 output partitions
24/07/16 16:00:05 INFO DAGScheduler: Final stage: ResultStage 1 (showString at NativeMethodAccessorImpl.java:0)
24/07/16 16:00:05 INFO DAGScheduler: Parents of final stage: List()
24/07/16 16:00:05 INFO DAGScheduler: Missing parents: List()
24/07/16 16:00:05 INFO DAGScheduler: Submitting ResultStage 1 (MapPartitionsRDD[6] at showString at NativeMethodAccessorImpl.java:0), which has no missing parents
24/07/16 16:00:05 INFO MemoryStore: Block broadcast_1 stored as values in memory (estimated size 13.0 KiB, free 434.4 MiB)
24/07/16 16:00:05 INFO MemoryStore: Block broadcast_1_piece0 stored as bytes in memory (estimated size 6.7 KiB, free 434.4 MiB)
24/07/16 16:00:05 INFO BlockManagerInfo: Added broadcast_1_piece0 in memory on 7e5c53b23aa7:34119 (size: 6.7 KiB, free: 434.4 MiB)
24/07/16 16:00:05 INFO SparkContext: Created broadcast 1 from broadcast at DAGScheduler.scala:1585
24/07/16 16:00:05 INFO DAGScheduler: Submitting 1 missing tasks from ResultStage 1 (MapPartitionsRDD[6] at showString at NativeMethodAccessorImpl.java:0) (first 15 tasks are for partitions Vector(1))
24/07/16 16:00:05 INFO TaskSchedulerImpl: Adding task set 1.0 with 1 tasks resource profile 0
24/07/16 16:00:05 INFO TaskSetManager: Starting task 0.0 in stage 1.0 (TID 1) (<IP_ADDRESS>, executor 0, partition 1, PROCESS_LOCAL, 7690 bytes)
24/07/16 16:00:05 INFO BlockManagerInfo: Added broadcast_1_piece0 in memory on <IP_ADDRESS>:38653 (size: 6.7 KiB, free: 434.4 MiB)
24/07/16 16:00:05 INFO TaskSetManager: Finished task 0.0 in stage 1.0 (TID 1) in 82 ms on <IP_ADDRESS> (executor 0) (1/1)
24/07/16 16:00:05 INFO TaskSchedulerImpl: Removed TaskSet 1.0, whose tasks have all completed, from pool
24/07/16 16:00:05 INFO DAGScheduler: ResultStage 1 (showString at NativeMethodAccessorImpl.java:0) finished in 0.090 s
24/07/16 16:00:05 INFO DAGScheduler: Job 1 is finished. Cancelling potential speculative or zombie tasks for this job
24/07/16 16:00:05 INFO TaskSchedulerImpl: Killing all running tasks in stage 1: Stage finished
24/07/16 16:00:05 INFO DAGScheduler: Job 1 finished: showString at NativeMethodAccessorImpl.java:0, took 0.092564 s
24/07/16 16:00:05 INFO BlockManagerInfo: Removed broadcast_0_piece0 on 7e5c53b23aa7:34119 in memory (size: 6.7 KiB, free: 434.4 MiB)
24/07/16 16:00:05 INFO BlockManagerInfo: Removed broadcast_0_piece0 on <IP_ADDRESS>:38653 in memory (size: 6.7 KiB, free: 434.4 MiB)
24/07/16 16:00:06 INFO BlockManagerInfo: Removed broadcast_1_piece0 on 7e5c53b23aa7:34119 in memory (size: 6.7 KiB, free: 434.4 MiB)
24/07/16 16:00:06 INFO BlockManagerInfo: Removed broadcast_1_piece0 on <IP_ADDRESS>:38653 in memory (size: 6.7 KiB, free: 434.4 MiB)
24/07/16 16:00:06 INFO CodeGenerator: Code generated in 22.422917 ms
+---+-----+---+
| id| name|age|
+---+-----+---+
|  1|Alice| 28|
|  2|  Bob| 24|
|  3|Cathy| 29|
|  4|David| 30|
|  5|  Eve| 22|
+---+-----+---+

24/07/16 16:00:06 INFO CodeGenerator: Code generated in 7.778417 ms
24/07/16 16:00:06 INFO SparkContext: Starting job: showString at NativeMethodAccessorImpl.java:0
24/07/16 16:00:06 INFO DAGScheduler: Got job 2 (showString at NativeMethodAccessorImpl.java:0) with 1 output partitions
24/07/16 16:00:06 INFO DAGScheduler: Final stage: ResultStage 2 (showString at NativeMethodAccessorImpl.java:0)
24/07/16 16:00:06 INFO DAGScheduler: Parents of final stage: List()
24/07/16 16:00:06 INFO DAGScheduler: Missing parents: List()
24/07/16 16:00:06 INFO DAGScheduler: Submitting ResultStage 2 (MapPartitionsRDD[8] at showString at NativeMethodAccessorImpl.java:0), which has no missing parents
24/07/16 16:00:06 INFO MemoryStore: Block broadcast_2 stored as values in memory (estimated size 13.1 KiB, free 434.4 MiB)
24/07/16 16:00:06 INFO MemoryStore: Block broadcast_2_piece0 stored as bytes in memory (estimated size 6.8 KiB, free 434.4 MiB)
24/07/16 16:00:06 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on 7e5c53b23aa7:34119 (size: 6.8 KiB, free: 434.4 MiB)
24/07/16 16:00:06 INFO SparkContext: Created broadcast 2 from broadcast at DAGScheduler.scala:1585
24/07/16 16:00:06 INFO DAGScheduler: Submitting 1 missing tasks from ResultStage 2 (MapPartitionsRDD[8] at showString at NativeMethodAccessorImpl.java:0) (first 15 tasks are for partitions Vector(0))
24/07/16 16:00:06 INFO TaskSchedulerImpl: Adding task set 2.0 with 1 tasks resource profile 0
24/07/16 16:00:06 INFO TaskSetManager: Starting task 0.0 in stage 2.0 (TID 2) (<IP_ADDRESS>, executor 0, partition 0, PROCESS_LOCAL, 7651 bytes)
24/07/16 16:00:06 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on <IP_ADDRESS>:38653 (size: 6.8 KiB, free: 434.4 MiB)
24/07/16 16:00:06 INFO TaskSetManager: Finished task 0.0 in stage 2.0 (TID 2) in 72 ms on <IP_ADDRESS> (executor 0) (1/1)
24/07/16 16:00:06 INFO TaskSchedulerImpl: Removed TaskSet 2.0, whose tasks have all completed, from pool
24/07/16 16:00:06 INFO DAGScheduler: ResultStage 2 (showString at NativeMethodAccessorImpl.java:0) finished in 0.078 s
24/07/16 16:00:06 INFO DAGScheduler: Job 2 is finished. Cancelling potential speculative or zombie tasks for this job
24/07/16 16:00:06 INFO TaskSchedulerImpl: Killing all running tasks in stage 2: Stage finished
24/07/16 16:00:06 INFO DAGScheduler: Job 2 finished: showString at NativeMethodAccessorImpl.java:0, took 0.080722 s
24/07/16 16:00:06 INFO SparkContext: Starting job: showString at NativeMethodAccessorImpl.java:0
24/07/16 16:00:06 INFO DAGScheduler: Got job 3 (showString at NativeMethodAccessorImpl.java:0) with 1 output partitions
24/07/16 16:00:06 INFO DAGScheduler: Final stage: ResultStage 3 (showString at NativeMethodAccessorImpl.java:0)
24/07/16 16:00:06 INFO DAGScheduler: Parents of final stage: List()
24/07/16 16:00:06 INFO DAGScheduler: Missing parents: List()
24/07/16 16:00:06 INFO DAGScheduler: Submitting ResultStage 3 (MapPartitionsRDD[8] at showString at NativeMethodAccessorImpl.java:0), which has no missing parents
24/07/16 16:00:06 INFO MemoryStore: Block broadcast_3 stored as values in memory (estimated size 13.1 KiB, free 434.4 MiB)
24/07/16 16:00:06 INFO MemoryStore: Block broadcast_3_piece0 stored as bytes in memory (estimated size 6.8 KiB, free 434.4 MiB)
24/07/16 16:00:06 INFO BlockManagerInfo: Added broadcast_3_piece0 in memory on 7e5c53b23aa7:34119 (size: 6.8 KiB, free: 434.4 MiB)
24/07/16 16:00:06 INFO SparkContext: Created broadcast 3 from broadcast at DAGScheduler.scala:1585
24/07/16 16:00:06 INFO DAGScheduler: Submitting 1 missing tasks from ResultStage 3 (MapPartitionsRDD[8] at showString at NativeMethodAccessorImpl.java:0) (first 15 tasks are for partitions Vector(1))
24/07/16 16:00:06 INFO TaskSchedulerImpl: Adding task set 3.0 with 1 tasks resource profile 0
24/07/16 16:00:06 INFO TaskSetManager: Starting task 0.0 in stage 3.0 (TID 3) (<IP_ADDRESS>, executor 0, partition 1, PROCESS_LOCAL, 7690 bytes)
24/07/16 16:00:06 INFO BlockManagerInfo: Added broadcast_3_piece0 in memory on <IP_ADDRESS>:38653 (size: 6.8 KiB, free: 434.4 MiB)
24/07/16 16:00:06 INFO TaskSetManager: Finished task 0.0 in stage 3.0 (TID 3) in 68 ms on <IP_ADDRESS> (executor 0) (1/1)
24/07/16 16:00:06 INFO TaskSchedulerImpl: Removed TaskSet 3.0, whose tasks have all completed, from pool
24/07/16 16:00:06 INFO DAGScheduler: ResultStage 3 (showString at NativeMethodAccessorImpl.java:0) finished in 0.072 s
24/07/16 16:00:06 INFO DAGScheduler: Job 3 is finished. Cancelling potential speculative or zombie tasks for this job
24/07/16 16:00:06 INFO TaskSchedulerImpl: Killing all running tasks in stage 3: Stage finished
24/07/16 16:00:06 INFO DAGScheduler: Job 3 finished: showString at NativeMethodAccessorImpl.java:0, took 0.075610 s
24/07/16 16:00:06 INFO CodeGenerator: Code generated in 5.160208 ms
+-----+---+
| name|age|
+-----+---+
|Alice| 28|
|Cathy| 29|
|David| 30|
+-----+---+

24/07/16 16:00:06 INFO SparkContext: Invoking stop() from shutdown hook
24/07/16 16:00:06 INFO SparkContext: SparkContext is stopping with exitCode 0.
24/07/16 16:00:06 INFO SparkUI: Stopped Spark web UI at http://7e5c53b23aa7:4040
24/07/16 16:00:06 INFO StandaloneSchedulerBackend: Shutting down all executors
24/07/16 16:00:06 INFO StandaloneSchedulerBackend$StandaloneDriverEndpoint: Asking each executor to shut down
24/07/16 16:00:06 INFO MapOutputTrackerMasterEndpoint: MapOutputTrackerMasterEndpoint stopped!
24/07/16 16:00:06 INFO MemoryStore: MemoryStore cleared
24/07/16 16:00:06 INFO BlockManager: BlockManager stopped
24/07/16 16:00:06 INFO BlockManagerMaster: BlockManagerMaster stopped
24/07/16 16:00:06 INFO OutputCommitCoordinator$OutputCommitCoordinatorEndpoint: OutputCommitCoordinator stopped!
24/07/16 16:00:06 INFO SparkContext: Successfully stopped SparkContext
24/07/16 16:00:06 INFO ShutdownHookManager: Shutdown hook called
24/07/16 16:00:06 INFO ShutdownHookManager: Deleting directory /tmp/spark-4156bfce-659a-4d64-b1b2-be7bf15a9ea4
24/07/16 16:00:06 INFO ShutdownHookManager: Deleting directory /tmp/spark-c948551e-35b5-4ab8-8dd5-76db70beddf3
24/07/16 16:00:06 INFO ShutdownHookManager: Deleting directory /tmp/spark-c948551e-35b5-4ab8-8dd5-76db70beddf3/pyspark-3f35a35e-7954-4f6c-83b3-ba67744ec2ba

Kyuubi Server Configurations
kyuubi.authentication=NONE
kyuubi.frontend.bind.host=<IP_ADDRESS>
kyuubi.frontend.protocols=THRIFT_BINARY,REST
kyuubi.frontend.thrift.binary.bind.port=10009
kyuubi.frontend.rest.bind.port=10099
# kyuubi.ha.addresses=zookeeper:2181
kyuubi.session.engine.idle.timeout=PT5M
kyuubi.operation.incremental.collect=true
kyuubi.operation.progress.enabled=true

kyuubi.metrics.reporters=PROMETHEUS
kyuubi.metrics.prometheus.port=10019
kyuubi.batch.conf.spark.spark.master=spark://spark-master:7077
spark.master=spark://spark-master:7077

Kyuubi Engine Configurations
No response
Additional context
I'm new to Kyuubi and Scala, I would still be happy to support.
Are you willing to submit PR?

[X] Yes. I would be willing to submit a PR with guidance from the Kyuubi community to fix.
[ ] No. I cannot submit a PR at this time.

This is because Kyuubi does not implement a Spark Standalone ApplicationOperation yet.
For interactive sessions (this is not your case), Kyuubi submits a custom Spark app that has a built-in RPC Server, so that the Kyuubi server can communicate to the Spark driver directly to know the query status.
For batch Spark jobs(no matter Java/Scala jar or PySpark or R), Kyuubi just assembles the spark-submit command to submit your job to the Resource Manager(Local, Mesos, YARN, K8s, or Standalone), and then uses ApplicationOperation to query the job status. Currently, it only supports Local, YARN, and K8s.

@pan3793 Thanks for the quick response. I will try with k8s which would match closely to a production setup for me.


[Feature]: Codemod for React Query version migration

Package Scope
@suspensive/react-query
Description
A useful idea has come to mind. Currently, @suspensive/react-query differentiates the API usage based on the version of @tanstack/react-query present in the user’s environment. When upgrading from v4, which lacks the Suspense Hook, to v5, the migration instructions are displayed through JSDoc as shown below.
/**
 * This feature is officially supported in @tanstack/react-query@5. You can proceed with the migration.
 * @deprecated Use `useSuspenseQuery` from @tanstack/react-query@5
 * @example
 * ```diff
 * - import { useSuspenseQuery } from '@suspensive/react-query'
 * + import { useSuspenseQuery } from '@tanstack/react-query'
 * ```
 */
export const useSuspenseQuery = original_useSuspenseQuery;

What if we take this further and offer a CLI tool to automate the code migration, similar to @next/codemod? This way, users could easily upgrade the v4 API to the v5 API across their codebase. I believe this would provide a smoother transition. (This is an idea proposal.)
Possible Solution

https://nextjs.org/docs/pages/building-your-application/upgrading/codemods

etc.
No response

I understand that this task is not essential and could even interfere with library maintenance. However, I believe it could become a valuable productivity tool in environments with large codebases, which is why I’m proposing it. What are your thoughts?

I’m currently dealing with a busy schedule. 😥 I promise to complete the PoC for this idea within this month. If you have any good ideas related to this, please feel free to share!


Google Ads reporting "html5 assets are malformed" using Pixi.JS

Hi!
I just found out, that google won't accept playable ads or normal html5 assets which are using pixi.js. By removing the functions the XHR and XDR functions of pixi.js. Maybe you can provide some kind of "XHR/XDR" free version of the plugin?
Thank you already and nice plugin ;)

How do you load assets without XHR in this context? Is everything just bundled together? Also which pieces did you have to remove?

I know that google ads is difficult to make compared to facebook ad. @eXponenta  knows more.

You can build custom pixi version without Loader.
But only v5, for v4 you can do it manualy.

Thank you guys for your help!
@bigtimebuddy yeah I base64 encoded all assets (images and sound) to work with facebook and unity ads. I removed all function bodies which are using the some kind of XHR event handling (_loadXHR, loadXDR ? Can't remember the name :/)
@eXponenta yes i used the Texture.from("") method to pass a base64 encoded image in the texture, that worked without using XHR. Ouh.. that customizer would have been usefull :D Also.. this html validator didn't work. I first uploaded my ad and it said it has to be less than 150KB (google says 1MB?!). Anyways, I uploaded an zip with just an html basic structure inside and it loaded for hours without an result :/

@mbpictures

This is single and recommended validator for Google ADS =).
https://support.google.com/google-ads/answer/7584219
Please, check documentation before creating anything!

My playable files is Through the review of Google tester:https://h5validator.appspot.com/adwords/asset。
and i published the playable,After 24 hours,
I have received from Google ADS mail:
Ads (2) impacted by Google Ads policy
Campaign:
App_Utopia_ID_Android_H5_1122
[8185801180]
Disapproved
Ads (1)
Policy: | Invalid fourth party call, Unacceptable HTML5 ad
Disapproved
Ads (1)
Policy: | Punctuation and symbols
What should I do？thank guys!

So.... Ask a Google what it means.😁
Sent with GitHawk

Hi all! I had an issue that can be related
I have to remove some lines from pixi loader code for my playable to be accepted by google validator 🤦🏻♂
Without that it didn’t accept my playable because of some mysic error, something like “wrong url: data::”
Take a look at line 1548 https://pastebin.com/Wf0368X8

great stuff here, thanks for the pioneering work on demystifying the html5 validators generic errors. I was getting "Missing asset check" and under "More details" this helpful bullet item: "INVALID_URL_REFERENCE: data:" Not a lot to go on and couldn't find anyone talking about it except for this issue. I'm creating playables in a single html file and using @dranitski fix worked for me! great way to start 2020!

I know it may not fit this thread well, but I know no other place to put that information.
Google assets validator (https://h5validator.appspot.com/adwords/asset) now shows strange error
Unsupported creative size 480x320 if you have <meta name="ad.size" content="width=480,height=320"> in your playable ad despite 480x320 is a valid playable ad size according to all documentation I have.
The solution is to change playable size meta-tag to <meta name="ad.size" content="width=300,height=250"> for example.
According to support and docs it really not matters much:

The system will still size the ad frame according to device dimension larger than 320x480, making the unit responsive.

Note on Ad Preview:
Ad preview will only show your ad in one size, depending on the dimension referenced in the header of the HTML file. Don't assume that the ad will always be rendered in that size as explained above.

We realize that the 320x480 label requirement in the header representing portrait interstitial of variable size is confusing. However, it is mandatory in order for UAC to serve the asset in the right dimension. If the asset is responsive, UAC will still serve it accurately according to the screen size (i.e. iPhone 4 vs 7). We hope to remedy this experience in the future, and we appreciate your patience in the meantime.

From google support email

On the top left hand side of H5 Validator, there is an adjustable area but it is nothing more than a preview for advertisers to adjust their assets on their own without affecting the actual asset dimension. Therefore, to answer your question "if the the dimensions of HTML5 asset in H5 validator makes any difference?", the answer is yes. This is because at the time of uploading the asset in H5 validator tool, it requires you to check the box "Select for App Campaigns", which means that only supported dimensions can be uploaded.

Having said that, H5 validator is still not accepting 480x320 and 320x480 ads because of a known internal issue (as we have shared in the last response and the internal details have been shared with AM).

Please note that for the supported dimension for AC, our system will adjust the dimension according to the device/inventory size if the creative's orientation is declared as such. As such, if the size of file playable-v200, will be updated from 480X320 to 300X250 the system allows to upload the asset in H5 Validator and will also be responsive in the actual serving as well.


How Det3D build a model?

I've been studying this for a long time, but i really cannot understand how Det3D build a model.
i am sure that the model is built by class 'Register', but when i look into the class 'Register', i cannot find any line of code which has contributions to build a Model.
could you please give any help to clarify the problem?
thanks so much and always waiting for your reply

https://github.com/poodarchu/Det3D/blob/master/det3d/models/builder.py


Aladdin's lamp is gone

Version: 1.26.1
Commit: 493869ee8e8a846b0855873886fc79d480d342de
Date: 2018-08-16T18:38:57.434Z
Electron: 2.0.5
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
Architecture: x64
Steps to Reproduce:
gif:

There is an x-axis scroll bar, the Aladdin's lamp is gone.

Does this issue occur when all extensions are disabled?: No

That's the design of lightbulb - we have considered different options (and actually had them implemented for a while) but none were better or more easy to use. Currently, no plans to change this.


Return claims in ID Token when return_type is 'id_token'

Fixed an omission. When return_type is id_token and scopes are used to name claims to return, the claims must be returned in the ID Token.

I ran isort before constructing this PR and it lead 'conflicts' according to GitHub.
I might decide to scrap this PR, dial back to before I ran isort and construct a new PR based on that state.


fix trainable attribute to enable embedding layer 'trainable' option

Summary
This pull fix the embedding layer trainable option.
Related Issues
Embedding trainable option does not work since the trainable arg  is not specified in keras/layers/embeddings.py.
To enable the trainable option in Embedding, I did minor fix in the method of add_weights() in base_layer.py.
PR Overview

[ ] This PR requires new unit tests [y/n] (make sure tests are included)
NO
[ ] This PR requires to update the documentation [y/n] (make sure the docs are up-to-date)
No
[ ] This PR is backwards compatible [y/n]
Yes
[ ] This PR changes the current API [y/n] (all API changes need to be approved by fchollet)
No

Thanks for the PR.
The trainable value of a layer has no bearing on the trainable value of a Variable. It only controls whether the layer's trainable variables should be listed in layer.trainable_weights.


HACBS-2319 update source link for builtin rule set

This commit fixes source links for builtin rule collection entries. These source links now point to the correct locations within the ec-cli repository.

Codecov Report

Merging #560 (6f65524) into main (491acbf) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files

@@            Coverage Diff            @@
##              main      #560   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           73        73
  Lines         2232      2232
=========================================
  Hits          2232      2232


How to enable GPU P2P

When I train with several GPUs I get this warning:
src/kvstore/././comm.h:290: only 0 out of 12 GPU pairs are enabled direct access. It may affect the perofmrance. You can set MXNET_ENABLE_GPU_P2P=0 to turn it off

How can I enable the GPUs to have direct access?

Try export MXNET_ENABLE_GPU_P2P=1

I tried that but is not working, I also tried to compile puting this flag in the config.mk but wasn't lucky either.

This means your GPU or motherboard doesn't support P2P

Thanks

[20:45:45] src/kvstore/././comm.h:577: only 4 out of 12 GPU pairs are enabled direct access. It may affect the performance. You can set MXNET_ENABLE_GPU_P2P=0 to turn it off
should I set  MXNET_ENABLE_GPU_P2P=0 ？

I have 8 gpus and I get the message only 32 out of 56 GPU pairs are enabled direct access. It may affect the performance. You can set MXNET_ENABLE_GPU_P2P=0 to turn it off
so what do I do?


dead internal links in README.md resolver

📚 Documentation Issue Report
Describe the bug

when using a snippet in vitepress to load external markdown file and there are some links to internal files starting with ./ - in generated docs it looks like the link in a vitepress context - not a proper link within a specific package:
http://localhost:5173/resources/integrations/payments/src/runtime/server/api/amazon-pay/complete.post.ts

To Reproduce

visit a integration page when readme.md is loaded
check some links pointing to the source code (relative ones)
/resources/integrations/payments/amazon-pay.html points incorretly to the docs' page, not a library that readme comes from

Media prove

Describe the solution you'd like

Additional context

I saw that issue and changed some links in Readme from dynamic to complete URLs. That at least fixed the 404 issues.


The state always contains the complete state of all stores ?

e.g.:
  this.subs.sink = this.auctionsStoreService.stateChanged.subscribe(
         (state: AuctionState) => {

state contains all data from all other stores und not just the data that is related to auctions ? is that the expected behavior ?

There’s only one store no matter how many services you create (which is by design and very important to avoid state being scattered all over - otherwise you could just use a service to store it’s own state). But, stateChanged will only fire when a given service calls setState(). So in your case, when auctionsStoreService calls setState() then auctionStoreService.statechanged will fire and you can grab whatever state you need.

Thanks for the fast reply. Ok if that is the design it's like it is, but please allow me one more question since I just run into this issue. I forgot to assign a state property in one store, but had this property in the interface for that store. The same property was set by another store leading to the fact, that the app used the wrong data. I know it was my fault, but I'm afraid that this error can happen to easely. Any ideas or best practices on how to avoid such mistake ?

Let me clarify a few terms first so we’re talking about the same types of objects. Observable Store has the following characteristics:

Provides a single store and a single interface for that store’s state.
You can have many services that interact with the store. When done properly each service will follow the single responsible rule (see the image at the top of the repository’s readme to visualize this).

It’s goal is to provide a simple way to get data in and out of the store and be notified when the store state changes.
For your scenario, I don’t know that there’s a particular best practice that would help since it sounds like an error was made in the coding. If your services follow the single responsibility rule that should help though. A CustomersService would only work with customers data in the store, OrdersService would only work with orders data in the store, etc.
When subscribing to store state changes you’d also always want to check for nulls in the returned state since a given store value may or may not be available at that time.
Hope that helps some.

Thanks again for the answer. I now started to give the store more structure by having a property for each service (customer, orders and so on). Which that approach I feel much more comfortable. The only problem so far is, that stateWithPropertyChanges does not work for nested properties.

Good deal. That’s typically how I organize the store structure as well.
As far as stateWithPropertyChanges, it fires when setState() is called by the given service (assuming there’s a subscriber) and passes the state that was set as the second parameter. Since you can’t set a nested property directly (due to having to go through the parent property), it won’t be able to pass a nested property that changed when stateWithPropertyChanges fires since there could be several properties that could change all at once.
For example, customer.firstName and customer.lastName could be set together. The customer value would therefore be passed to the subscriber of stateWithPropertyChanges.   If you need to compare nested properties then you’d need to compare before and after values wherever you subscribe to stateWithPropertyChanges.


Better logging. Removed the file logging and prefer the console output.

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

In the file speleOWDL/speleowdl.py:

Line 81:1: W293 blank line contains whitespace
Line 86:1: W293 blank line contains whitespace
Line 88:80: E501 line too long (86 > 79 characters)

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

In the file speleOWDL/speleowdl.py:

Line 81:1: W293 blank line contains whitespace
Line 86:1: W293 blank line contains whitespace
Line 88:80: E501 line too long (86 > 79 characters)


cmd/compile: out of fixed registers

The following program:
package a
var a, b = 0, 0-^^^^^^^^^^a

crashes go tool compile with:
tmp.go:2: internal compiler error: out of fixed registers

go version devel +514014c Thu Jun 18 15:54:35 2015 +0200 linux/amd64

https://go-review.googlesource.com/11308/

CL 13110 fixed this in the dev.ssa branch. It's not worth fixing in the current code.


Feat/nested drf

Purpose
CourseSerializer nested orders to give direct access to
these data from the API call. This avoided the front to
do multiple distinct API calls. Nesting data is convenient
until it's not. To maintain a robust API we have decided to
keep the relations simples as much as possible. Orders will
now need to be called from another endpoint
A course can embed further data. As it implies adding queries,
we don't want them to be executed each time an API call on
courses is made. We add a filtering system that will allow the
front to ask for specific fields. Depending on how the API call
is done, results from the serializer will differ.
Proposal

add logo in the organization serializer.
delete orders from CourseSerializer
enabling filtering on API endpoint

Closing as we have finally decided to not use this library. We may refer to it in the future but it should be closed as a pull request.


Alternative Searchkick repo

Hi @rahul-bluebash
Shouldn't we have forked this repo instead ?
https://github.com/spree-contrib/spree_searchkick
It seems more updated...

@nmella Yes its is more updated and compatible too with spree latest version. Earlier I was thinking to use this repo, while I was upgrading spree and rails.
The reason we chose old repo was because -

That repo was already used in our current project with customisation, I think it was kept it our project directory when it project started by Vishal.
There was lot of customisation made as per the old extension, switching to this new one, might require additional work.

Ideally, we should use this repo and migrate all customisation to this gem. So you can fork this repo too.

OK, thanks. Yes, I prefer to use this repo too. I will fork it.
I think we should focus on the masterbase project as a new product for new projects mainly, without thinking on our current projects (mercadotech, mercadodeportivo). I think we might never switch our current projects to use the masterbase product, as this might be too complex, so we can keep them as it is.
Thanks.
PS: When trying to fork the new repo, it says we already have the other "spree_searchkick" forked so I can't fork it. I need to delete this repo in order to fork the new one. So, should I delete the old repo and for the new one ?

@nmella Yes, please delete this, and add new one.


Warning in HA log: Entity "does not have device_class defined"

I'm just wondering if this bug is getting fixed in a future release of Magic Areas. This is a short extract from the HA log and I got a lot of them:
2021-04-13 09:18:37 WARNING (MainThread) [custom_components.magic_areas.sensor] Entity sensor.aeon_screen_0_height does not have device_class defined 2021-04-13 09:18:37 WARNING (MainThread) [custom_components.magic_areas.sensor] Entity sensor.aeon_battery_remaining_time does not have device_class defined 2021-04-13 09:18:37 WARNING (MainThread) [custom_components.magic_areas.sensor] Entity sensor.aeon_network_0_bytes_sent does not have device_class defined 2021-04-13 09:18:37 WARNING (MainThread) [custom_components.magic_areas.sensor] Entity sensor.aeon_network_1_bytes_sent does not have device_class defined 2021-04-13 09:18:37 WARNING (MainThread) [custom_components.magic_areas.sensor] Entity sensor.aeon_storage_d_available_free_space does not have device_class defined 2021-04-13 09:18:37 WARNING (MainThread) [custom_components.magic_areas.sensor] Entity sensor.aeon_network_1_ipv6 does not have device_class defined 2021-04-13 09:18:37 WARNING (MainThread) [custom_components.magic_areas.sensor] Entity sensor.master_iphone_battery_state does not have unit_of_measurement defined 2021-04-13 09:18:37 WARNING (MainThread) [custom_components.magic_areas.sensor] Entity sensor.aeon_storage_d_format does not have device_class defined
Not a big deal, just would be nice to clean up the logs so that other relevant warnings in the log is more visible.

Being fixed for 3.0.0


Fix: After the game ends, the host prepares a status bug

description
After returning to the room after the game ends, there is a bug with the host's readiness status, and the game cannot be restarted until the browser is refreshed.

moved to https://github.com/Game-as-a-Service/Lobby-Platform-Service/issues/206
close.


feat: user auth

Closes #30

This is looking interesting ^_^ Going to take a closer look tomorrow. Sorry for the early review before you were done, I just finished another PR and yours popped up.

@Hajbo FYI, I changed the description of this PR from "Issue #30" to "Closes #30", following Linking a pull request to an issue using a keyword

This looks really good. I like how you handled the environment variables configuration using TypeBox. The usage is as simple as env.%myEnvironmentVariable% which is typesafe and validated. Lovely!
I also like the clear separation of concerns by placing the auth.ts in its own file.
Finally, I appreciate the error handling that you added as a bonus in this PR, and I think your approach for that is clean and sensible.
Questions
What is the motivation to not use the Elysia JWT Plugin?
Is it because it is cumbersome to set it up for our 3-tier architecture?
Next Steps

Consider using env-schema to make the env validation even cleaner and more out of box. That library works well with typebox.
Consider clarifying the responsibility of auth.ts by making it either one of auth.middleware.ts or auth.service.ts. We should strive to stay true to our separation of concerns approach to avoid leaking responsibilities in the future as much as possible and keep the codebase robust.
See if we can make Swagger work or ditch it.
There's quite a lot going on in the users.schema.ts file, which feels like a betrayal of the RealWorld concept. Sure, it works for a small project to put it all in one file, but in the spirit of a RealWorld application at scale I believe we should break it down into 2 or 3 granular pieces. We should consider putting the pgTable in a .model. or .entity. file, and potentially even move the types to their own files too. RealWorld example here.

The JWT plugin only puts some wrapper object to the request handler, we can't access it in a state or decorate or beforeHandle, which kind of makes it pointless for us. Maybe we could create some kind of guard to use it, but I'm not sure if we should do it, it's much easier to directly use the Jose library (which the JWT plugin is using anyways).
The current auth.js is a bunch of utility functions, it's neither middleware nor service. I'm not sure what's the Nestjs mentality about them though
I wouldn't say that there are a lot going on, it's one place to prepare all the schemas/types for a user. They are super connected. Even if this file was 500 lines long they still are tightly coupled and IMHO should be together. Easier to maintain like this. The example you linked seems like a nightmare to work with with these 10 line files that contain nothing of value

I wouldn't say that there are a lot going on, it's one place to prepare all the schemas/types for a user. They are super connected. Even if this file was 500 lines long they still are tightly coupled and IMHO should be together. Easier to maintain like this. The example you linked seems like a nightmare to work with with these 10 line files that contain nothing of value

I understand where you're coming from, but I'm still quite concerned by putting tables and interfaces under '.schema.' because they're not schema. Can we please call the file *.model.ts?


Only use POST for IPFS v0.5 compat

Should fix #49
Edit: running this as a dependency for a graph-node and tests still not passing... not sure if something else is wrong about IPFS 0.5 compat, so putting this in draft form for now.
Edit 2: graph-node tests pass when using this changeset alongside IPFS v0.4.23. At the very least, this will make the library requests compatible with IPFS v0.5. There is some deeper semantic change that is causing tests to fail downstream, but this is outside the scope of this PR, so therefore, since these changes preserve compatibility with IPFS v0.4.23 but also gets rid of the 405 Method Not Allowed error that pops up when using GET with IPFS v0.5, this is no longer a draft request.

Looks great, thank you!


rg chairs get the "Issue IRSG Ballot"

But when they press it, they get "permission denied".
The button should only show up for the IRTF chair.

It also looks like they can push the button that sends the draft off to the RFC Editor. ???
@csperkins  - what is the desired behavior?

RG chairs should not get access to any of these three buttons. These are all IRTF Chair only actions.


Fix subscript and supscript active at same time.

@tiberiuichim I don't know is it correct but it works.
screencast
https://user-images.githubusercontent.com/33936987/205070416-40aa58ba-f06b-485f-bfd9-f615c074eaba.mov

@iFlameing The fix is good, but let's generalize this behavior (I don't like special cases). We could have a setting for "exclusiveElements", which could looks like:
config.settings.slate.exclusiveElements = [
    ['sup', 'sub']
];

Then you could make the checks by iterating over that list.

@tiberiuichim Done from my side and checked for other values also. Can you please review this once again?


Storybook > Elements >Scrollspy>Default>Small and large mobile view card content and button overlap

Describe the bug
Small and large mobile view card content and button overlap.
To Reproduce
Steps to reproduce the behavior:

Go to 'Elements'
Click on 'Scrollspy'
Click on 'Default'

Screenshots

Desktop (please complete the following information):
-OS: [Windows 10 Enterprise]
-Browser [ edge]
-Version [ 125.0.2535.92]
Smartphone (please complete the following information):NA

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Alignment issue -

Issue still exists on Staging Version 1.1.7

Completed -


inference code

Is there a code for the inference ？especially for the experiment analyzed the average inference time and GFLOPs, Thank you

Thanks for using our code.
You can use the following code for analyzing:
from fvcore.nn import FlopCountAnalysis, parameter_count_table from thop import profile flops = FlopCountAnalysis(model, input) flops, params = profile(model, inputs=(input, ))

Thank you


Uncaught Error: unrecognized character follows /

[Enter steps to reproduce:]

...
...

Atom: 1.52.0 x64
Electron: 6.1.12
OS: Microsoft Windows 10 Enterprise
Thrown From: Atom Core
Stack Trace
Uncaught Error: unrecognized character follows \
At C:\Users\mahesgu\AppData\Local\atom\app-1.52.0\resources\app.asar\node_modules\superstring\index.js:256

Error: unrecognized character follows \
    at TextBuffer.findAllInRangeSync (/app.asar/node_modules/superstring/index.js:256:44)
    at TextBuffer.findAllInRangeSync (~/AppData/Local/atom/app-1.52.0/resources/app/static/<embedded>:11:495949)
    at TextBuffer.scanInRange (~/AppData/Local/atom/app-1.52.0/resources/app/static/<embedded>:11:494854)
    at TextBuffer.scan (~/AppData/Local/atom/app-1.52.0/resources/app/static/<embedded>:11:494617)
    at TextEditor.scan (~/AppData/Local/atom/app-1.52.0/resources/app/static/<embedded>:11:40885)
    at ResultsModel.onContentsModified (~/AppData/Local/atom/app-1.52.0/resources/app/static/<embedded>:11:786135)
    at ~/AppData/Local/atom/app-1.52.0/resources/app/static/<embedded>:11:780434
    at Function.simpleDispatch (~/AppData/Local/atom/app-1.52.0/resources/app/static/<embedded>:11:1190511)
    at Emitter.emit (~/AppData/Local/atom/app-1.52.0/resources/app/static/<embedded>:11:1191952)
    at TextBuffer.emitDidStopChangingEvent (~/AppData/Local/atom/app-1.52.0/resources/app/static/<embedded>:11:505787)
    at later (~/AppData/Local/atom/app-1.52.0/resources/app/static/<embedded>:14:104700)

Commands
     -3:35.2.0 tree-view:show-current-file-in-file-manager (div.line)
     -0:59.9.0 project-find:show (input.hidden-input)
     -0:58.9.0 core:paste (input.hidden-input)
     -0:58.2.0 core:confirm (input.hidden-input)
     -0:54.1.0 editor:move-to-first-character-of-line (input.hidden-input)
     -0:49.4.0 core:cut (input.hidden-input)
     -0:48.7.0 core:undo (input.hidden-input)
     -0:39.7.0 core:cut (input.hidden-input)
  2x -0:39.3.0 core:save (input.hidden-input)
     -0:35.5.0 core:delete (input.hidden-input)
     -0:30.6.0 core:cut (input.hidden-input)
  7x -0:30.1.0 core:save (input.hidden-input)
     -0:12.7.0 core:cut (input.hidden-input)
  2x -0:12.3.0 core:save (input.hidden-input)

Non-Core Packages

Thanks for contributing!
All new issues now require steps to reproduce (also called "repro steps") the problem or the behavior you wish to see in Atom. We do this so we can be certain that we are understanding what it is you're describing and don't prematurely close the issue or implement the wrong feature. If you need help writing detailed repro steps, please see the How Can I Contribute? section of the Atom CONTRTIBUTING guide.


Update Readme Documentation

Not sure I fully understand at this moment but correct me if I'm wrong. The current readme says, "It is inspired by Atom's Project Manager" but from looking at that project link I do not see any of the features it provides included in this package. Everything I currently see:

creating new project
editing project
renaming project
etc.

...can already be done in Sublime Text natively. So does this package just provide another menu in the already existing project menu to do the same things differently? If that's the case is that just the starting point and in the end there are more reasonable features to look forward to?
Either way I would update the readme content to reflect a better understanding of what should be expected new capabilities with this package.
Thanks

The first paragraph already indicates the major functionality of this package is to manage sublime-project files. It was inspired by Atom's Project Manager because Atom's Project Manager is a "package" for Atom and this is also a "package" of Sublime Text, not the build-in project manager.

Perhaps you can help me better understand what NEW feature it provides in comparison to the "out-of-the-box" feature of Sublime Text. Without your package I can already create and save projects and recall them all through the "Project" menu, so I'm not sure what I'm misunderstanding.

You are right, the built-in project manager creates and saves projects as sublime-project files and you have to keep a good record of the locations of the files in order to load the projects. For instance, you can save the sublime-project files under the corresponding project root directory, but still, you have to manage the files by yourself.
This package helps by saving all the sublime-project files in a centralized location.

I see, I didn't realize that was an issue for people. That makes sense now, I typically already put mine within a centralized location manually.


Keys with symbols aren't quoted but they should be

I have a dictionary like so:
var obj = new Dictionary<string, string>()
{
    {"normal-key", "value for normal key"},
    {"key with spaces", "value for key with spaces"},
    {"key!with{}(*%&)random[other+symbols", "value for key with random other symbols"},
    {"key/with/slashes", "value for key with slashes"},
};

And I'm saving it with TomletMain.TomlStringFrom(obj);, but some of the keys in the output are not quoted even though they should be:
normal-key = "value for normal key" # correctly not quoted
"key with spaces" = "value for key with spaces" # correctly quoted
key!with{}(*%&)random[other+symbols = "value for key with random other symbols" # should be quoted but isn't
key/with/slashes = "value for key with slashes" # should be quoted but isn't

Now this isn't actually causing a problem for me currently since the only non-alphanumeric characters in my keys are forward slashes (which Tomlet can read back just fine), but technically this is against the toml spec and would cause issues with other characters.
Also, I get a Tomlet.Exceptions.TomlNoSuchValueException if I try having dictionary keys with full stops in them, but I don't know if that's a problem with this library or if that's against the toml spec.

The dictionary keys with full stops thing actually is a confusing-enough point that there's a paragraph or so on it https://github.com/SamboyCoding/Tomlet#a-word-on-dotted-keys