Bipole Current Propagation Direction

As far as I know, the function "empymod.bipole" can work as a current line source whose result is as a intergration of "nums= scripts" dipoles' results. Does the line current have a propagation direction or can I adjust the propogation by modify the code or any parameters.
My code is below and I wonder whether the part of sources above the surface make sense for final results.
import time

import matplotlib.pyplot as plt
import numpy as np
from scipy.constants import mu_0
from scipy.special import erf

import empymod

stime = time.time()

def calculate_segment_length(end_src):
    # Extract coordinates for line 1
    line1_x1, line2_x1 = end_src[0]
    line1_x2, line2_x2 = end_src[1]
    line1_y1, line2_y1 = end_src[2]
    line1_y2, line2_y2 = end_src[3]
    line1_z1, line2_z1 = end_src[4]
    line1_z2, line2_z2 = end_src[5]

    # Calculate the length of line 1
    segment1_length = np.sqrt(
        (line1_x2 - line1_x1) ** 2
        + (line1_y2 - line1_y1) ** 2
        + (line1_z2 - line1_z1) ** 2
    )

    # Calculate the length of line 2
    segment2_length = np.sqrt(
        (line2_x2 - line2_x1) ** 2
        + (line2_y2 - line2_y1) ** 2
        + (line2_z2 - line2_z1) ** 2
    )

    return segment1_length, segment2_length

def generate_line_segments(base_src, end_src, num_segments):
    # Calculate the increment for each coordinate
    x1_increment = (end_src[1][0] - base_src[1][0]) / num_segments
    x2_increment = (end_src[1][1] - base_src[1][1]) / num_segments
    y1_increment = (end_src[3][0] - base_src[3][0]) / num_segments
    y2_increment = (end_src[3][1] - base_src[3][1]) / num_segments
    z1_increment = (end_src[5][0] - base_src[5][0]) / num_segments
    z2_increment = (end_src[5][1] - base_src[5][1]) / num_segments

    # Generate the line segments
    sources = []
    lengths = []
    for i in range(num_segments + 1):
        src = [
            [base_src[0][0], base_src[0][1]],
            [base_src[1][0] + i * x1_increment, base_src[1][1] + i * x2_increment],
            [base_src[2][0] + i * y1_increment, base_src[2][1] + i * y2_increment],
            [base_src[3][0] + i * y1_increment, base_src[3][1] + i * y2_increment],
            [base_src[4][0], base_src[4][1]],
            [base_src[5][0] + i * z1_increment, base_src[5][1] + i * z2_increment],
        ]
        sources.append(src)

        # Calculate the length of the segment
        length = calculate_segment_length(src)
        lengths.append(length)

    for i in range(num_segments + 1):
        src = [
            [base_src[0][0], base_src[0][1]],
            [base_src[1][0] + i * x1_increment, base_src[1][1] + i * x2_increment],
            [-base_src[2][0] - i * y1_increment, -base_src[2][1] - i * y2_increment],
            [-base_src[3][0] - i * y1_increment, -base_src[3][1] - i * y2_increment],
            [base_src[4][0], base_src[4][1]],
            [base_src[5][0] + i * z1_increment, base_src[5][1] + i * z2_increment],
        ]
        sources.append(src)

        # Calculate the length of the segment
        length = calculate_segment_length(src)
        lengths.append(length)

    y_increment = (end_src[3][1] + end_src[3][1]) / (2 * num_segments)
    for i in range(2 * num_segments):
        src = [
            [end_src[0][0], end_src[0][1]],
            [end_src[1][0], end_src[1][1]],
            [end_src[2][0] - i * y_increment, end_src[2][1] - i * y_increment],
            [end_src[3][0] - i * y_increment, end_src[3][1] - i * y_increment],
            [end_src[4][0], end_src[4][1]],
            [end_src[5][0], end_src[5][1]],
        ]
        sources.append(src)

        # Calculate the length of the segment
        length = calculate_segment_length(src)
        lengths.append(length)

    return sources, lengths
base_src = [
    [0.5, -0.5],
    [0.45, -0.45],
    [0.5, 0.5],
    [0.5, 0.5],
    [0.1, 0.1],
    [-0.1, -0.1],
]

end_src = [
    [0.5, -0.5],
    [0.25, -0.25],
    [0.25, 0.25],
    [0.25, 0.25],
    [0.1, 0.1],
    [-1.00, -1.00],
]

num_segments = 5

sources, lengths = generate_line_segments(base_src, end_src, num_segments)

point_x = np.linspace(-2, 2, 21)
point_y = np.array([0])
point_z = np.linspace(-2, 2, 21)

def mkvc(arr):
    return np.reshape(arr, (-1,))

rec_x, rec_y, rec_z = np.meshgrid(point_x, point_y, point_z)
print(rec_x[0, :, 0], rec_y[:, 0, 0], rec_z[0, 0, :])
rec_loc = np.c_[mkvc(rec_x), mkvc(rec_y), mkvc(rec_z)]
np.savetxt("examples/time_domain/data_horn/rec.dat", rec_loc)

rec_azi = 0
rec_dip = 90
rec_list = [rec_x[0, :, 0], rec_y[:, 0, 0], rec_z[0, 0, :], rec_azi, rec_dip]

time_channel = np.logspace(-5, -2, 31)

np.savetxt("time.dat", time_channel)
depth = [0, np.infty]
# np.savetxt("res.dat", res)
res_high = 2e2
res_low = 1e2
res_list = [1e7, res_low]

parameters = {
    "src": base_src,
    "rec": [],
    "depth": depth,
    "res": res_list,
    "freqtime": time_channel,
    "srcpts": 31,
    "strength": 1,
    "signal": -1,
    "verb": 3,
    "mrec": False,
    "msrc": False,
}

import concurrent.futures

def calculate_bipole(rec_tuple):
    rec_x, rec_y, rec_z, rec_azi, rec_dip = rec_tuple
    parameters["rec"] = [rec_x, rec_y, rec_z, rec_azi, rec_dip]
    # print(parameters["rec"])
    bipole_result = empymod.bipole(**parameters) / 1000  # * mu_0
    rec_xyz = np.array([rec_x, rec_y, rec_z])
    rec_xyz = np.tile(rec_xyz, (31, 1))
    time_channel_reshaped = np.transpose(time_channel).reshape(-1, 1)
    bipole_result_sum = np.sum(bipole_result, axis=1)
    result_point = np.column_stack(
        (
            rec_xyz,
            time_channel_reshaped,
            bipole_result,
            bipole_result_sum,
        )
    )
    return result_point

i = 0
j = 0

with concurrent.futures.ThreadPoolExecutor(max_workers=18) as executor:
    for s in range(len(sources)):
        # 提交任务给线程池
        parameters["src"] = sources[s]
        max_length = max(max(length) for length in lengths)
        parameters["strength"] = max_length / lengths[s][0]
        futures = [
            executor.submit(
                calculate_bipole,
                (
                    rec_list[0][i],
                    rec_list[1],
                    rec_list[2][j],
                    rec_list[3],
                    rec_list[4],
                ),
            )
            for i in range(len(rec_list[0]))
            for j in range(len(rec_list[2]))
        ]

        results = [
            future.result() for future in concurrent.futures.as_completed(futures)
        ]
        merged_result = np.vstack([result for result in results])
        np.savetxt(
            f"examples/time_domain/data_horn/artical_vertical_trapezoid_Ez-_source{s+1}.dat",
            merged_result,
        )

etime = time.time()
print("正演计算时间为:", format(etime - stime, ".2f"), "s")

data_list = []

for i in range(1, len(sources) + 1):
    filename = (
        f"examples/time_domain/data_horn/artical_vertical_trapezoid_Ez-_source{i}.dat"
    )
    data = np.loadtxt(filename)
    data_list.append(data)
print(np.shape(data_list))

sorted_data_list = []
for data in data_list:
    sort_indices = np.lexsort((data[:, 2], data[:, 0]))
    sorted_data = data[sort_indices]
    sorted_data_list.append(sorted_data)

max_rows = max([data.shape[0] for data in sorted_data_list])

sum_last_column = np.zeros(max_rows)
for sorted_data in sorted_data_list:
    last_column = sorted_data[:, -1]
    sum_last_column[: last_column.shape[0]] += last_column

total_result = np.hstack((sorted_data[:, :3], sum_last_column.reshape(-1, 1)))

print(total_result.shape)
split_arrays = [total_result[i :: len(time_channel)] for i in range(len(time_channel))]
for i, arr in enumerate(split_arrays):
    np.savetxt(
        f"examples/time_domain/data_horn/chosen_time/artical_vertical_trapezoid_Ez-_source_time_channel_{i+1}.dat",
        arr,
    )

Hi @XueJingru - apologies, but I am lacking the time right now to look in detail into your long script. I do have the impression though that what you are trying to do could be achieved much simpler.
Could you maybe make a drawing or a sketch of the layout you are trying to model? That would help to understand your setup.

The sources I want to calculate is shown in the png. I just want to know whether these electric line sources have current direction or the result of empymod.bipole function is the just the intergration of  the result of empymod.dipole along the line.

That looks super interesting! Although I fear it might be difficult to model with empymod, but not impossible. But you have to take care that the transforms do not incur any artefacts. Particularly, you use very early times (1e-5 to 1e-2 s), which requires high frequencies for the transforms. You might need a bandpass filter for it to properly work, see, e.g., https://empymod.emsig.xyz/en/stable/gallery/tdomain/tem_walktem.html
empymod.bipole is simply doing a Gaussian Quadrature over empymod.dipole.
However, even a dipole has a direction, and so das bipole. You can test that with the following script:
import empymod

model = {'rec': [1000, 0, 0, 0, 0], 'depth': [0, 100], 'res': [1, 100, 3], 'freqtime': 1, 'verb': 1}

bip1 = empymod.bipole(src=[0, 100, 0, 0, 0, 0], **model)
bip2 = empymod.bipole(src=[100, 0, 0, 0, 0, 0], **model)

print(bip1, bip2)

The result is
(2.0351810723580752e-10-4.254477006114425e-11j) (-2.0351810723580752e-10+4.254477006114425e-11j)

so you see the result differ by a factor -1, which comes from the direction.

Thanks very much for your guidance during your busy time.

I hope it helps. I close this issue, if there are still open points you would like to get help feel free to re-open it.


Update Example Model Used in Documention

📚 Documentation
Overview
This issue serves to track multiple updates to examples provided in PyTorch Lightning and Lightning Fabric documentation.
Examples will be updated to reflect a common model called LightningTransformer. This common model will replace all occurrences of LitAutoEncoder and similar encoder-decoder modules.
The purpose of these updates is to modernize the examples. However, care should be taken to provide examples which will run on most machines i.e. it is not suitable to provide an example of pretraining or finetuning an LLM as the default example, as this would result in issues for new users who do not possess a machine capable of such a task.
Each update should have a PR of its own, or be grouped in a cohesive manner in order to consolidate.
cc @Borda
Additional Resources
Follow the docs/README and documentation guidelines for information on docstring conventions and using doctest.
Tasks
Please comment on this issue to have an example added to the to-do list or to be assigned to a particular task.
PyTorch Lightning
Must look in docs/source-pytorch/.
Priorities

[x] common/trainer #18452
[x] common/lightning_module #18451
[ ] data/datamodule https://github.com/Lightning-AI/lightning/pull/18461

Secondary

[ ] lightning/pytorch/core/module
[ ] lightning/pytorch/trainer/trainer
[ ] README example
[ ] common/evaluation_intermediate
[ ] starter/introduction
[ ] common/evaluation_basic
[ ] common/child_modules

Lightning Fabric
Must look in docs/source-fabric/

[ ] README example

LightningTransformer Demo for PyTorch Lightning
Below is the Transformer that will be used. The model exists in demos, and can be abstracted from the docs in order to keep the example high-level.

[!NOTE]
this is the same demo Transformer used for Lightning Fabric's home page.

import lightning.pytorch as pl
import torch

from lightning.pytorch.demos import Transformer

class LightningTransformer(pl.LightningModule):
    def __init__(self, vocab_size):
        super().__init__()
        self.model = Transformer(vocab_size=vocab_size)

    def forward(self, batch):
        input, target = batch
        return self.model(input.view(1, -1), target.view(1, -1))

    def training_step(self, batch, batch_idx):
        input, target = batch
        output = self.model(input, target)
        loss = torch.nn.functional.nll_loss(output, target.view(-1))
        return loss

    def predict_step(self, batch):
        return self(batch)

    def configure_optimizers(self):
        return torch.optim.SGD(self.model.parameters(), lr=0.1)

if __name__ == "__main__":
    from lightning.pytorch.demos import WikiText2
    from torch.utils.data import DataLoader

    dataset = WikiText2()
    dataloader = DataLoader(dataset)
    model = LightningTransformer(vocab_size=dataset.vocab_size)

    trainer = pl.Trainer(fast_dev_run=True)
    trainer.fit(model=model, train_dataloaders=dataloader)

WikiText2DataModule Demo for PyTorch Lightning
from pathlib import Path

from torch.utils.data import DataLoader, random_split

import lightning.pytorch as pl
from lightning.pytorch.utilities.types import EVAL_DATALOADERS, TRAIN_DATALOADERS
from lightning.pytorch.demos.transformer import WikiText2

class WikiText2DataModule(pl.LightningDataModule):
    def __init__(
        self,
        num_workers: int = 2,
        data_dir: Path = Path("./data"),
        block_size: int = 35,
        download: bool = True,
        train_size: float = 0.8,
    ) -> None:
        super().__init__()
        self.data_dir = data_dir
        self.block_size = block_size
        self.download = download
        self.num_workers = num_workers
        self.train_size = train_size
        self.dataset = None

    def prepare_data(self) -> None:
        self.dataset = WikiText2(data_dir=self.data_dir, block_size=self.block_size, download=self.download)

    def setup(self, stage: str) -> None:
        if stage == "fit" or stage is None:
            train_size = int(len(self.dataset) * self.train_size)
            test_size = len(self.dataset) - train_size
            self.train_data, self.val_data = random_split(self.dataset, lengths=[train_size, test_size])
        if stage == "test" or stage is None:
            self.test_data = self.val_data

    def train_dataloader(self) -> TRAIN_DATALOADERS:
        return DataLoader(self.train_data, num_workers=self.num_workers)

    def val_dataloader(self) -> EVAL_DATALOADERS:
        return DataLoader(self.val_data, num_workers=self.num_workers)

    def test_dataloader(self) -> EVAL_DATALOADERS:
        return DataLoader(self.test_data, num_workers=self.num_workers)

AutoEncoder is a great example for image classification tasks and for beginner to intermediate folks. I'd propose to only replace where we really need a more advanced demo. We can use Stable Diffusion and LitGPT as example for the GenAI models.

Can I pick this up @JustinGoheen?

Hi @Dev-Khant 👋  let's check with @carmocca and @awaelchli where they may like for you to assist.

Hi @JustinGoheen, I don't have context on the objective of this issue, but I can see there's a long list of "secondary" items in the top post. Since you created it I think it's up to you to decide whether they should be changed or not

Hey @JustinGoheen I'd love to contribute but I am a new contributor. Can I add some help?

@sbshah97 would you like to work on lightning/pytorch/core/module?

@Dev-Khant would you like to work on lightning/pytorch/trainer/trainer?

Hello yes I can give it a try.

@Dev-Khant would you like to work on lightning/pytorch/trainer/trainer?

Yes sure @JustinGoheen

@Dev-Khant & @sbshah97: here are some clarifying instructions for you since these each involve docstrings.
The basic steps are:

Fork and clone the Lightning repo.
Create a working branch. If you don't want to use the command line to manage your gitops, GitKraken is a really nice tool to help manage git repos and PRs.
Go to the respective pages for your particular task: LightningModule, Trainer
Read through the API section, scanning for grammar and syntax errors, and errors in the example code snippets.
If there are no errors, that is completely okay – just let me know and I will do one final check before marking off the task and working with you to select your next contribution.
If there are errors, make the changes on your working branch, and push the changes.
If there are errors , and you have pushed the changes to your working branch. Then open a draft PR to submit your changes. Once the changes are submitted, I can help review the changes before changing the PR's status to ready for review.
Once the PR is marked as ready for review, the core maintainers will either approve and merge the PR, or suggest additional changes.

Thank you for your willingness to help, and definitely let me know if you have any questions 🙂

Hey Justin. I wanted to understand how to sort of approach this task. From what I understand there are two parts to it.

Check for any grammatical mistakes. For #1 I just put it through ChatGPT and from the looks of it there don't seem to be any errors.
Check for any function errors in the documentation. - I am not sure how to proceed on this. Any pointers?

@JustinGoheen

@sbshah97  I'll put together a guide for doctest for you.

Thank you Justin. Looking forward to that.

Hey Justin anything on this ?


Websocket driver flagged by Veracode scan — can I disable it?

Hi there — I built an app using CRA and love it, but when I put my app through Veracode's scanner, it flagged Websocket driver as being an out-of-date dependency. It's at 0.6.5, and I need to get it up to the latest version OR simply disable it.
My questions:
(1) Is there a way for me to disable or otherwise remove Websocket driver?
(2) My app makes use of an express.js server and socket.io to let users create little game rooms. Does Websocket driver have anything to do with that functionality? (I don't think it does, but I'm trying to cover all my bases.)
Thanks so much!
b

Could you be more specific? It would be great if you could reproduce this problem with a sample git repository. If it's a problem with socket.io, then you can imagine that this issue should probably be filed with that repository.


UI Enhancement

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the Solution You'd Like
A clear and concise description of what you want to happen.
Describe Alternatives You've Considered
A clear and concise description of any alternative solutions or features you've considered.
Additional Context
Add any other context or screenshots about the feature request here.
Labels
Please add appropriate labels to this issue: enhancement, feature-request, etc.

please mark it as Hacktoberfest so that I can contribute to Hacktoberfest

Hi @Aditya9764 , the header is already available in the project.

please mark it as Hacktoberfest so that I can contribute to Hacktoberfest

No need to raise this issue because the header is already in place. Please create another issue that can enhance the project's UI and contribute to your skill improvement

@Pinaka-Pani-18 OK i will improve the home UI and Contributor page UI with CSS and Bootstrap

@Pinaka-Pani-18 OK i will improve the home UI and Contributor page UI with CSS and Bootstrap

Use tailwindCSS to enhance the pages

ok sure, please accept my issue

Which Type of Project you are looking for so that I sill also contribute in adding project link on project page


metrics job issues

My wishlist; feel free to start on some of these yourself:

[x] fix master with nix 2.3; it works with nix 2.2.2: example  (I had to downgrade that Hydra builder for now)

[ ] investigate avoiding the impurity from the builder's nix version.  It just makes debugging the failures harder, e.g. now people (with nix >= 2.3) will be getting different errors than the Hydra job.

[x] investigate getting better error outputs from the job.  IIRC now isn't an exception when you see

parse error: Invalid numeric literal at line 1, column 6

without a good hint of what's wrong (at least what file is referred to).

I think issues around this are solved now.  Anyway, a freshly open one would be probably better for anything that remains.


Deposit of a submission doesn't work

Deposit of a submission doesn't work due to a full projection issue. Full projection option is used on post to workflowitem endpoint, this cause an error when parsing response because it tries to set workflowactions property to a null object.
A solution should be to disable full projection option when depositing a submission

@atarix83 : As mentioned in #623, I'm not able to reproduce this error.  Here's what I tried:

Ensured I was on the latest master of both REST API and Angular
Started a new Submission, filled out the form.
Clicked "Deposit" and the submission saved without errors.

Did I skip a step or do something wrong in reproducing this?

@tdonohue
I've investigated more on this issue, and the issue is not reproducible with the default workflow configuration, but you can reproduce it using for example the scoreReview workflow configuration.
The error with parser has been resolved with https://github.com/DSpace/dspace-angular/pull/624.
Instead the issue with depositing occurs anyway because the server responds with 403 making the request with the full projection option.
I also realize that editing a workflowitem has the same issue without using the default workflow configuration and unfortunately https://github.com/DSpace/dspace-angular/pull/623 doesn't resolve this last problem

@atarix83 : I'm still not sure how to move it forward.  Submission works for me with the default workflow, and PR #623 doesn't seem to work for the default workflow (see my comments on that PR).  It seems like we either need an update to #623 or another solution.
As a sidenote, is it possible this is related to #581?  I know that the reliance on embedded resources in the Submission/Workflow process has caused issues in the past as well, so I'm wondering if maybe we need to look more closely at how to get the submission/workflow to work better without reliance on embedded content.


refactored to css-grid

Updated CSS with grid and also did a bit of styling for Disaster details information.

merge into develop please

Updated base to develop

Updated base to develop, sorry was away from computer til now.


Document effects of  MBEDTLS_USE_PSA_CRYPTO

Description
The existing documentation contains not detail about what have been done yet and what's still left to do. Curious users would have to grep and read the source, which is sub-optimal. Also, for our own planning it was necessary to know exactly where we stand, so let's make this newly consolidated knowledge available to everyone.
Related to: https://github.com/ARMmbed/mbedtls/issues/4836
Status
READY
Requires Backporting
I'm suggesting to backport to 2.2x as this fills a documentation gap.
No backport for 2.16 as there's no PSA there.
Notes
For people who have access to the old planning documents, it looks like we executed everything from phases 1 to 5 included (with the revised definition of phase 4 from part 2) and nothing from later phases, so this is a pretty clean state with regard to the previous planning.
The current state as documented has been checked by looking at each instance of MBEDTLS_USE_PSA_CRYPTO) in the source code.

A better reason not to backport to 2.16 is that there's no PSA there.

A better reason not to backport to 2.16 is that there's no PSA there.

Right, silly me.

@gilles-peskine-arm Thanks for your review and especially for checking we have tests - that was still on my todo-list, good that you've done it already! Considering there seems to be only two relatively small test gaps, do you think I should try addressing them in this PR, or would that be scope creep?

I'd prefer this PR to be strictly documentation, including the distinction between implemented-but-not-tested and confident-that-it-works. Then if you want make a small follow-up PR to fill the test gaps. Documenting what we have now is also useful to document what we had in previous releases.

Oops, I forgot to check for a backport before merging. So here's the backport: https://github.com/ARMmbed/mbedtls/pull/4979


neovim: fix the xsel path in the clipboard runtime provider

Motivation for this change
Currently the share/nvim/runtime/autoload/provider/clipboard.vim file has the following content:
  elseif exists('$DISPLAY') && executable('/nix/store/rl7q8rr97aasvx0bq3aimd50pf0nf4bk-xsel-unstable-2016-09-02/bin/xsel') && s:cmd_ok('xsel -o -b')
    let s:copy['+'] = '/nix/store/rl7q8rr97aasvx0bq3aimd50pf0nf4bk-xsel-unstable-2016-09-02/bin/xsel --nodetach -i -b'
    let s:paste['+'] = '/nix/store/rl7q8rr97aasvx0bq3aimd50pf0nf4bk-xsel-unstable-2016-09-02/bin/xsel -o -b'
    let s:copy['*'] = '/nix/store/rl7q8rr97aasvx0bq3aimd50pf0nf4bk-xsel-unstable-2016-09-02/bin/xsel --nodetach -i -p'
    let s:paste['*'] = '/nix/store/rl7q8rr97aasvx0bq3aimd50pf0nf4bk-xsel-unstable-2016-09-02/bin/xsel -o -p'
    return '/nix/store/rl7q8rr97aasvx0bq3aimd50pf0nf4bk-xsel-unstable-2016-09-02/bin/xsel'

as you can see, the s:cmd_ok('xsel -o -b') never evaluates to true and the X11 clipboard does not work. This PR changes the sed command to replace all occurrences of 'xsel so the command works. Here's the same snippet after the build:
  elseif exists('$DISPLAY') && executable('/nix/store/rl7q8rr97aasvx0bq3aimd50pf0nf4bk-xsel-unstable-2016-09-02/bin/xsel') && s:cmd_ok('/nix/store/rl7q8rr97aasvx0bq3aimd50pf0nf4bk-xsel-unstable-2016-09-02/bin/xsel -o -b')
    let s:copy['+'] = '/nix/store/rl7q8rr97aasvx0bq3aimd50pf0nf4bk-xsel-unstable-2016-09-02/bin/xsel --nodetach -i -b'
    let s:paste['+'] = '/nix/store/rl7q8rr97aasvx0bq3aimd50pf0nf4bk-xsel-unstable-2016-09-02/bin/xsel -o -b'
    let s:copy['*'] = '/nix/store/rl7q8rr97aasvx0bq3aimd50pf0nf4bk-xsel-unstable-2016-09-02/bin/xsel --nodetach -i -p'
    let s:paste['*'] = '/nix/store/rl7q8rr97aasvx0bq3aimd50pf0nf4bk-xsel-unstable-2016-09-02/bin/xsel -o -p'
    return '/nix/store/rl7q8rr97aasvx0bq3aimd50pf0nf4bk-xsel-unstable-2016-09-02/bin/xsel'

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

closes kalbasit/system#17

Is a backport required here?

@Mic92 probably since it’s a bug fix only.

git backport 5c7c2be709c49408ad26823d2c3099f09e9859d5
[detached HEAD 47afbc70c2b] neovim: fix the xsel path in the clipboard runtime provider
Author: Wael M. Nasreddine<EMAIL_ADDRESS>Date: Sun Jul 22 21:32:16 2018 -0700
1 file changed, 1 insertion(+), 1 deletion(-)


WIP: mongo visitor with new filter api

Add a first draft implementation of the mongo native visitor
fixed name: #1980

I am closing this one since we will setup a new branch structure around filters


A number of improvements

Building:

CMake with out-of-source build support.

Testing:

C++11 random utilities.  Now you can control the
range of the generated random floating point
numbers with --lower=16 --upper=3e16, for example.

Performance (mainly focusing on Errol4):

Fast digits generation.
Replace floating point routines with integer/bits
operations when possible.
Use divmod when compiler does not.

Binary size:

Replace the 4x1024 hash tables with lists
without losing performance by arranging
the elements in binary search tree's level
order.  Our library is now strictly smaller
than double-conversion (even though we
packed 5 algorithms).

** On FreeBSD 11 other compilers perform roughly the same comparing to the stock Clang, very likely because of that compiler-rt is not as optimized as libgcc.
So overall we beat double-conversion by 10%-40%, in the worst ranges we archive 40%-70% performance comparing to double-conversion, in the best ranges we archive up to 2x (from 16 to 3e16, not shown above).

I analyzed your workflow, then locally patched double-conversion's SConstruct & your Makefile to place the headers and the library to the paths that are relatively compatible with my workflow.  Give it a try.

Oops.  Fixed (forced update, please reset your local branch).

Changes merged and everything is working well. Awesome!
On Thu, Mar 16, 2017 at 1:19 PM, Zhihao Yuan<EMAIL_ADDRESS>wrote:

Oops. Fixed (forced update, please reset your local branch).
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/marcandrysco/Errol/pull/7#issuecomment-287178834, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABo-1GF9WVTrlybd9wNAGMooGA-jbH0oks5rmZk4gaJpZM4MZ0l1
.


Improve help.sh texts

Each folder in https://github.com/ArkEcosystem/core-commander/tree/master/menus has a help.sh.
The descriptions there should be improved and the english be corrected, preferably by a native english speaker.

Did the first pass, have a read for any glaring omissions.


Added rule for focused SubMenuItem

Summary
Adds a rule for SubMenuItem (Move to...) under channel header.
Ticket Link
Fixes https://github.com/mattermost/mattermost-server/issues/20070
Related Pull Requests
Screenshots

before
after

<insert after screenshot here

|

Release Note
* Added .app__body .MenuWrapper .SubMenuItem > div:focus under utils.tsx

Hello @lapaz17,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

/release-note-none


Trainer Prep Guide - Course Timing

SC-400T00A-ENU-TrainerPrepGuide.pdf
Hello
The Trainer Prep Guide is dated October 2022 - over a year ago.
The course chapters for the end of Day 1 are duplicated at the start of Day 2. I suspect this has been like this since October 2022.
The exercises are also out of order which is very confusing to all concerned, especially since the students are not provided with the proper order of exercise execution that is detailed in the Trainer Prep Guide.
Can we please address these issues as soon as possible?
Thank you.

Hi @arnoldvilleneuve! Thank you for bringing this to my attention, and I apologize for the confusion these errors have caused. I'll get working on making updates to this ASAP and respond via this issue once the corrected Trainer Prep Guide is published.

Even though I went through the order of the lab/exercises with five students, even though I had them copy my PowerPoint slide in which I detail the order the lab/exercises should be done in (1-3-4-2-5), even though I repeated it two them several times, even though I told them only to do lab/exercise 1 only, two of the 5 still moved to lab/exercise 2!!!
This is what happens when the Instructions and Lab sequence order are not correct.
Arnold Villeneuve<PHONE_NUMBER>
On Tuesday, January 2, 2024 at 10:43:10 a.m. EST, Richelle Swinton<EMAIL_ADDRESS>wrote:

Hi @arnoldvilleneuve! Thank you for bringing this to my attention, and I apologize for the confusion these errors have caused. I'll get working on making updates to this ASAP and respond via this issue once the corrected Trainer Prep Guide is published.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

Hi @arnoldvilleneuve, I apologize for the frustration and confusion the lab sequence has caused. I understand the importance of clear instructions to be able to conduct your class as smoothly as possible. I'm in the process of reordering the Trainer Prep Guide and labs to match the order that's reflected in the learn paths and PowerPoint deck. To minimize disruption, this change will be implemented after hours and may cause a temporary outage with SC-400 labs. My goal is to have this complete by 9pm CST. I'll respond in this issue to let you know once the labs have been successfully reorganized.
Thank you for your patience and understanding.

The lab order within Skillable and GitHub have been updated and this has been reflected in an updated Trainer Prep Guide and documented in the change log.
Please reach out if you have any further issues.

Jan 3, 2024 - Second day of course.
Dear RISWINTO
I would just like you to know that your update to the Trainer Prep Guide on the night of Jan 2, 2024 (first day of course) caused an entire update of all of the labs on Skillable, labs which are very different than the pervious version of the lab instructions, both in sequence and in content.
My question is very simple: For what possible reason would a Course Content  Author trigger a course update in the middle of the week that causes a massive change to a course such that on the second afternoon of the course we need to have students start all of the labs all over again?
The issues I identified were minor compared to the update that was just triggered!
I look forward to your follow-up and explanation but please do not that the update has caused us significant inconvenience and embarrassment to Skillable and the MTP in question, as well as myself.
Sincerely;
Arnold Villeneuve
PS: Note to Microsoft: Please stop updating courses in the middle of the week as you are not helping anyone.


cleaned_epochs_AR

cleaned_epochs_AR = http://prep.AR_local(cleaned_epochs_ICA, verbose=True), verbose does not instead use:
cleaned_epochs_AR = http://prep.AR_local(cleaned_epochs_ICA), and then it works

@phoebsc or @aayrolles  Can you please post the error message?

on my side it doesn't give an error anymore :)

@aayrolles And for you? Shall we close the issue?

The verbose argument has been remove from notebook but it still doesn't work in the getting_started.py, and we also have an error with the new strategy=unionargument

cleaned_epochs_AR, dic_AR = prep.AR_local(cleaned_epochs_ICA, verbose=True)
Running autoreject on ch_type=eeg
TqdmKeyError                              Traceback (most recent call last)
~/DEV/HyPyP/tutorial/getting_started.py in
----> 1 cleaned_epochs_AR, dic_AR = prep.AR_local(cleaned_epochs_ICA, verbose=True)
~/DEV/HyPyP/hypyp/prep.py in AR_local(cleaned_epochs_ICA, strategy, threshold, verbose)
250
251         # fitting AR to get bad epochs
--> 252         ar.fit(clean_epochs)
253         reject_log = ar.get_reject_log(clean_epochs, picks=picks)
254         bad_epochs_AR.append(reject_log)
~/Library/Caches/pypoetry/virtualenvs/hypyp-LcIr35qi-py3.7/lib/python3.7/site-packages/autoreject/autoreject.py in fit(self, epochs)
1004                                      self.n_interpolate, self.cv_,
1005                                      self.consensus, self.dots,
-> 1006                                      self.verbose)
1007             self.threshes_.update(this_local_reject.threshes_)
1008
~/Library/Caches/pypoetry/virtualenvs/hypyp-LcIr35qi-py3.7/lib/python3.7/site-packages/autoreject/autoreject.py in run_local_reject_cv(epochs, thresh_func, picks, n_interpolate, cv, consensus, dots, verbose)
761                                verbose=verbose, picks=picks_,
762                                dots=dots)
--> 763     local_reject.fit(epochs)
764
765     assert len(local_reject.consensus_) == 1  # works with one ch_type
~/Library/Caches/pypoetry/virtualenvs/hypyp-LcIr35qi-py3.7/lib/python3.7/site-packages/autoreject/autoreject.py in fit(self, epochs)
677         self.threshes_ = self.thresh_func(
678             epochs.copy(), dots=self.dots, picks=self.picks_,
--> 679             verbose=self.verbose)
680
681         reject_log = self.get_reject_log(epochs=epochs, picks=self.picks_)
~/Library/Caches/pypoetry/virtualenvs/hypyp-LcIr35qi-py3.7/lib/python3.7/site-packages/autoreject/autoreject.py in _compute_thresholds(epochs, method, random_state, picks, augment, dots, verbose, n_jobs)
442         if augment:
443             epochs_interp = _clean_by_interp(epochs, picks=picks,
--> 444                                              dots=dots, verbose=verbose)
445             # non-data channels will be duplicate
446             data = np.concatenate((epochs.get_data(),
~/Library/Caches/pypoetry/virtualenvs/hypyp-LcIr35qi-py3.7/lib/python3.7/site-packages/autoreject/utils.py in _clean_by_interp(inst, picks, dots, verbose)
237     ch_names = [inst.info['ch_names'][p] for p in picks]
238     for ch_idx, (pick, ch) in enumerate(_pbar(list(zip(picks, ch_names)),
--> 239                                         desc=mesg, verbose=verbose)):
240         inst.info['bads'] = [ch]
241         pick_interp = mne.pick_channels(inst.info['ch_names'], [ch])[0]
~/Library/Caches/pypoetry/virtualenvs/hypyp-LcIr35qi-py3.7/lib/python3.7/site-packages/autoreject/utils.py in _pbar(iterable, desc, leave, position, verbose)
181     if verbose == 'progressbar':
182         from mne.utils import ProgressBar
--> 183         pbar = ProgressBar(iterable, mesg=desc, spinner=True)
184         print('')
185     elif verbose == 'tqdm':
~/Library/Caches/pypoetry/virtualenvs/hypyp-LcIr35qi-py3.7/lib/python3.7/site-packages/mne/utils/progressbar.py in init(self, iterable, initial_value, mesg, max_total_width, max_value, **kwargs)
71             iterable=self.iterable, desc=mesg, total=self.max_value,
72             initial=initial_value, ncols=max_total_width,
---> 73             disable=disable, **kwargs)
74
75     def update(self, cur_value):
~/Library/Caches/pypoetry/virtualenvs/hypyp-LcIr35qi-py3.7/lib/python3.7/site-packages/tqdm/std.py in init(self, iterable, desc, total, leave, file, ncols, mininterval, maxinterval, miniters, ascii, disable, unit, unit_scale, dynamic_ncols, smoothing, bar_format, initial, position, postfix, unit_divisor, write_bytes, lock_args, nrows, gui, **kwargs)
961                     fp_write=getattr(file, 'write', sys.stderr.write))
962                 if "nested" in kwargs else
--> 963                 TqdmKeyError("Unknown argument(s): " + str(kwargs)))
964
965         # Preprocess the arguments
TqdmKeyError: "Unknown argument(s): {'spinner': True}"

In fact this bug is related to the last mne 0.20 release
https://github.com/mne-tools/mne-python/pull/7155 they remove the spinner argument
It should have been fixed in last autoreject version in april (https://github.com/autoreject/autoreject/issues/173),  we should check wich one is specify on poetry requierements

@aayrolles Did autoreject is now working?

Can we change verbose to False until the problem is solved ?

Yes it's working, so I close the issue!


Final Project: cell-wise moving wall boundary condition

Here is how I set the cell-wise U, V, W boundary values for the 'Moving Wall' scenario.
When the boundary cell is like B_N, we set the moving wall direction to the positive direction of next (first nonfixed) coordinate. E.g., if x/y/z is fixed, the wall moving in +y/+z/+x. E.g., the flag is B_N, the moving wall direction is +z.
When the boundary cell is like B_NO, we have only 1 possibility of moving wall direction, e.g., along the z axis in this case. Therefore, we set the moving wall direction to the positive direction of the only possible coordinate. To apply the same reasoning of the B_N case, we choose N instead of O as the moving wall, and hence we only have 1 instead of 2 moving walls.
When the boundary cell is like B_NOU, in my opinion, it is impossible to set a moving wall direction. The reason is no matter which direction I choose, there will be contradiction.
E.g., if the moving wall is O and its direction is +y, then which value is correct about the y velocity, V[i][j][k] = 0 (accordingly to the no slip N boundary condition), or V[i][j][k] = velMW - (V[i+1][j][k] + V[i][j][k+1]) * 0.5 (accordingly to the moving wall O boundary condition)?
Therefore I set moving wall condition same as no-slip when the boundary cell is like B_NOU for now.
I also think velMW does not have to be a vector. The reason is for each of the 3 cases above, there is at most 1 moving wall, not 2 or more.
I am not very sure about it, and your suggestion is welcome.

one question: why taking the B_N,  the moving wall should be +z?
2015-07-09 0:00 GMT+02:00 ni-wei<EMAIL_ADDRESS>
Here is how I set the cell-wise U, V, W boundary values for the 'Moving
Wall' scenario.
When the boundary cell is like B_N, we set the moving wall direction to
the positive direction of next (first nonfixed) coordinate. E.g., if x/y/z
is fixed, the wall moving in +y/+z/+x. E.g., the flag is B_N, the moving
wall direction is +z.
When the boundary cell is like B_NO, we have only 1 possibility of moving
wall direction, e.g., along the z axis in this case. Therefore, we set the
moving wall direction to the positive direction of the only possible
coordinate. To apply the same reasoning of the B_N case, we choose N
instead of O as the moving wall, and hence we only have 1 instead of 2
moving walls.
When the boundary cell is like B_NOU, in my opinion, it is impossible to
set a moving wall direction. The reason is no matter which direction I
choose, there will be contradiction.
E.g., if the moving wall is O and its direction is +y, then which value is
correct about the y velocity, V[i][j][k] = 0 (accordingly to the no slip N
boundary condition), or V[i][j][k] = velMW - (V[i+1][j][k] + V[i][j][k+1])

0.5 (accordingly to the moving wall O boundary condition)?

Therefore I set moving wall condition same as no-slip when the boundary
cell is like B_NOU for now.
I also think velMW does not have to be a vector. The reason is for each of
the 3 cases above, there is at most 1 moving wall, not 2 or more.
I am not very sure about it, and your suggestion is welcome.
—
Reply to this email directly or view it on GitHub
https://github.com/EvaBr/CFD-Lab/issues/7.

Zhibin: because we only input a value for velocity (not a vector). So we can only set one coordinate/axis to a certain velocity. And there are two ways to do it and keep the geometry as arbitrary (and all-covering) as possible: either we set all the directions/axes to this number we read (input velocity), or we chose a way to do it circularly.
And we chose the latter, cs it seems to make more sense.
There is a better way to do it, which is to include reading of the whole velocity vector, not just one value. And that might be done in the later stages; although it will also require some special treatment not to become unphysical.
Wei: you summed it up nicely, I agree with everything. However, I do think there is in some cases more than 1 wall  moving... take for example the step. What if you wanted to have the walls of the step (lets say the top and east wall) to be moving in a 'circular' fashion; so that the east wall is moving downwards (to -z), and the top wall forward (to the +x direction); than this might look at the beginning like two moving walls, but in reality it can be described with a velocity vector v=(1,0,-1); where the condition of stationary obstacles/walls is applied (=obstacles or walls cannot move in the direction of their surface's normal).
So yeah, this might be more arbitrary than what we have now, but its not a very hard extension to make; nevertheless it would be good to think whether this is physically interesting enough to spend time doing it.

Eva: the moving direction is determined by the given arbitrary geometry.
Like you firstly set up the clock-wise circular, it will results in -z and
+x respectively. Did I understand correctly?
2015-07-09 20:04 GMT+02:00 Eva Breznik<EMAIL_ADDRESS>
Zhibin: because we only input a value for velocity (not a vector). So we
can only set one coordinate/axis to a certain velocity. And there are two
ways to do it and keep the geometry as arbitrary (and all-covering) as
possible: either we set all the directions/axes to this number we read
(input velocity), or we chose a way to do it circularly.
And we chose the latter, cs it seems to make more sense.
There is a better way to do it, which is to include reading of the whole
velocity vector, not just one value. And that might be done in the later
stages; although it will also require some special treatment not to become
unphysical.
Wei: you summed it up nicely, I agree with everything. However, I do think
there is in some cases more than 1 wall moving... take for example the
step. What if you wanted to have the walls of the step (lets say the top
and east wall) to be moving in a 'circular' fashion; so that the east wall
is moving downwards (to -z), and the top wall forward (to the +x
direction); than this might look at the beginning like two moving walls,
but in reality it can be described with a velocity vector v=(1,0,-1); where
the condition of stationary obstacles/walls is applied (=obstacles or walls
cannot move in the direction of their surface's normal).
So yeah, this might be more arbitrary than what we have now, but its not a
very hard extension to make; nevertheless it would be good to think whether
this is physically interesting enough to spend time doing it.
—
Reply to this email directly or view it on GitHub
https://github.com/EvaBr/CFD-Lab/issues/7#issuecomment-120088907.

I dont know exactly what you mean. When we input the arbitrary geometry, we input whether a cell is a part of moving wall or not; without any direction or velocity information. Velocity is then read from parameter file, completely independently. So: kind of no. Only from the geometry you cannot know which way the wall will be moving.
you cannot set up the geometry picture so that you get the previously mentioned case (of a step). Its just not possible. you could flag the two walls as moving, but you cannot set to where they are moving.
Did I answer your question?
Also, don't worry about this for now, Wei has it covered. Do your inflow and outflow functions as soon as possible please. It needs to be done before friday noon. Because after friday, I dont have any more time to work on the project, plus we only have three days left.


Strange item...  Recover Password

Ok this is odd.. my mkdocs.yml file and main branch has gone and I am left with just the gh-pages branch... so I cannot view the password I set on this site via the yml. Is there a way to recover the password?

Oh, that's bad. Hope you can recover the branches somehow (maybe try something like this, because git normally doesn't delete anything completely, if it was checked in once).
There is absolutely no way to recover a password from a generated page. However, if the password was not very long, you might be able to brute force it. And, if you didn't encrypt the search index, then all the pages content can be found in the index somewhere.

thanks @unverbuggt  the branches listed is only gh-pages


Select $$restProps on wrong element/required missing.

The Select component currently cannot be made required for form submissions. I intended to create a pull request to fix this, but noticed that this could either be achieved by...

having the $$restProps apply to the <select> element rather than the root wrapper
or add an explicit required property that is then applied to the <select>

Maybe even both. The code seems a bit inconsistent, e.g. TextInput has the props on the input while Checkbox has it on a wrapper element. Personally, I think it makes the most sense to always apply the rest props to the interactive element (input/select/textarea/button).

Released in v0.51.1.


Update dependencies

This raises our MSRV from 1.63.0 to 1.70.0 because of tokio and tower
raising their MSRV. Motivated by #16

Thanks!

I've just published a new version with updated dependencies.


The file should be CODEOWNERS, not what it was.

Sorry about it....
Change-type: patch
Signed-off-by: Gergely Imreh<EMAIL_ADDRESS>

Can one of the admins verify this patch?


Clickable Torrent links

Under the Series page, when you click on a show and open the episode releases for that show, is it possible to remember the download links from other releases? That way if you need to download another episode of a different quality you can just click on the one you want and download the torrent?

I think this is possible...I will have to look into it but i think it's should be doable


systemctl - degraded (failed to start user* services)

Issue description
At boot<EMAIL_ADDRESS>and<EMAIL_ADDRESS>will fail to start randomly.
But after a couple of steps it will work, and not be degraded anymore.
Logs can be found here: https://gist.github.com/eyJhb/55a345d5f5afd29150c03d9c8889298e
My configuration here: https://github.com/eyJhb/dot/blob/master/dotfiles/nixos/configuration.nix
My nixpkgs (tracking stable channel): https://github.com/eyJhb/nixpkgs/tree/release-18.09
Any ideas what the problem might be?
Steps to reproduce
Reboot and see if systemctl fails
Technical details
Please run nix-shell -p nix-info --run "nix-info -m" and paste the
results.
$ nix-shell -p nix-info --run "nix-info -m"
warning: Nix search path entry '/nix/var/nix/profiles/per-user/root/channels/nixos' does not exist, ignoring
warning: Nix search path entry '/nix/var/nix/profiles/per-user/root/channels/nixos' does not exist, ignoring
 - system: `"x86_64-linux"`
 - host os: `Linux 4.14.101, NixOS, 18.09.git.649d462 (Jellyfish)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.1.3`
 - channels(root): `"nixpkgs-18.09, nixos-hardware"`
warning: Nix search path entry '/nix/var/nix/profiles/per-user/root/channels/nixos' does not exist, ignoring
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixpkgs

Trying nixos-unstable for a while, and will see if that fixes the issue.

Still persist on the unstable channel.. Any inputs would be appreciated!

I noticed that for some boots, network-manager won't work and firefox will launch but with a disabled UI ( https://github.com/NixOS/nixpkgs/issues/49039). I usually reboot.

@teto rebooting seems like a windows way of solving things... Something underlying must be wrong :)

I dont see it anymore. Feel free to reopen in the contrary.


Template path configuration

Hi, thanks for the library.
I tried to use it and failed to adopt it for my use case, because currently it seems it intended to work with a single "templates" folder in the root of a crate and it does not allow subfolders correctly.
My target structure:
src
  themes
    blog
      index.stpl
      header.stpl
      mod.rs
    book
      index.stpl
      header.stpl
      mod.rs

Instead of this "dream" structure it forces me to use something like this:
templates
  blog
      index.stpl
      header.stpl
    book
      index.stpl
      header.stpl
src
  themes
    blog.rs
    book.rs

And even this is not working, because two equally-named "index.stpl" cannot co-exist and one overrides another in a target output.
So at the end it would be nice to enable two use-cases:

Allowing to resolve a template relatively to the Rust module which invokes #[derive(TemplateOnce)]

Property replicate folder structure to allow two equal templates to co-exist

Hello, @s-panferov.

Allowing to resolve a template relatively to the Rust module which invokes #[derive(TemplateOnce)]

Unfortunately it is not possible yet.  proc_macro::Span::source_file API is not stabilized yet (https://github.com/rust-lang/rust/issues/54725), so currently there is no way to get the path to Rust module where a procedural macro was invoked.

Property replicate folder structure to allow two equal templates to co-exist

Sailfish properly add a suffix to the generated file like header-5ac5faceb5af2b2b in order to avoid name collision. Therefore it should be possible that template files which have exactly same name co-exist. Could you provide a reproduction of the problem?

currently it seems it intended to work with a single "templates" folder in the root of a crate

Sailfish provides Configuration API which allows specifying the template directory. For example, with the following configuration you can place template files in templates directory and src/themes directory.
escape: true
delimiter: "%"

template_dir:
  - "./templates"
  - "./src/themes"

optimization:
    rm_whitespace: false

Closing because of inactivity


How to open/run Brackets on Windows?

I downloaded Brackets and installed it on Windows 10. It apparently installed correctly, but nothing happened. There is no program icon on my desktop, no hint as to how to open or run this editor.
I see that similar complaints are not being answered, so I guess this product is no longer being maintained. I will keep looking for a good programming editor.
Brackets.Release.1.14.msi, Windows 10 Home, Firefox 69.0.3 (64-bit).

Wrong place. That is not where we post our installers. I would recommend removing the existing installation and getting it from the assets in official release page https://github.com/adobe/brackets/releases

main.CSS_file_not_saving

I don't understand the "wrong place" comment. It doesn't seem to deal with the issue.
Also, I received an email not shown here:
"main.CSS_file_not_saving"
I do not understand this email.

If no one cares enough about Brackets to support it well, then I won't consider as a serious contender among editor programs.


Elevation ruler does not display reduced speed (difficult terrain) or destination elevation

When a region is configured with difficult terrain, and a token is moved over it, the maximum distance is not reduced. A square does not cost double the speed.
Similarly, when a region defines altitude, the rule does not display a change in altitude for the token.

I'm seeing similar. Not sure if it's something wrong with my configuration, but it is similar to what is described here. I've tried messing with various Active Effect settings to no avail.
Dragging the token to/over a difficult region shows the terrain name (ie, "Difficult Terrain") but the effect (movement x 0.5) is not applied.

For me it works when the player (or GM) stops the token in the terrain. The Terrain effects get applied and the speed is modified. Now movement is decreased or increased accordingly. After leaving the area the token has to stop again for the effect to be removed. Just dragging tokens through areas or out of these terrains will not be displayed correctly.

I think this is fixed in v0.4.1. But let me know if you see different.

I now get another error when entering Regions. Is this just me? Or is the ruler/system integration broken, because the API changed?
Uncaught TypeError: undefined. terrainAPI.ElevationHandler._fromPoint3d is not a function
[Detected 2 packages: elevationruler(0.10.4), lib-wrapper(<IP_ADDRESS>)]
    at MovePenalty._cutawayIntersections (MovePenalty.js:209:35)
    at MovePenalty.movementPenaltyForSegment (MovePenalty.js:170:29)
    at Ruler.js:502:41
    at GridlessGrid._measurePath (Grid.js:352:23)
    at 🎁foundry.grid.GridlessGrid.prototype._measurePath#0 (libWrapper-wrapper.js:187:52)
    at GridlessGrid.measurePath (foundry-esm.js:40093:12)
    at Ruler._computeDistance (Ruler.js:446:36)
    at 🎁CONFIG.Canvas.rulerClass.prototype._computeDistance#0 (libWrapper-wrapper.js:187:52)
    at Ruler.measure (foundry.js:36103:10)
    at Ruler._onMouseMove (foundry.js:36719:10)
    at Token._onDragLeftMove (Token.js:159:33)
    at 🎁CONFIG.Token.objectClass.prototype._onDragLeftMove#0 (libWrapper-wrapper.js:187:52)
    at MouseInteractionManager.callback (foundry.js:30834:17)
    at #handleDragMove (foundry.js:31213:26)
    at #handlePointerMove (foundry.js:31178:64)
    at vh.notifyListeners (EventBoundary.ts:1464:33)
    at vh.notifyTarget (EventBoundary.ts:658:14)
    at vh.propagate (EventBoundary.ts:310:18)
    at vh.dispatchEvent (EventBoundary.ts:210:14)
    at vh.mapPointerMove (EventBoundary.ts:815:64)
    at vh.mapEvent (EventBoundary.ts:231:28)
    at ra.onPointerMove (EventSystem.ts:396:31)
    ```

My environment:


I habe a question

Other servers that also use the API remove the name in the tablist faster than usual. Where can I change the value?

There is no method to change that, via some tests the current value is most effective. Also duplicate of #148. Closing issue.


Improve Read output data

I add the option to generate a dataset for a given number of steps.

Fixes #
Reminders

[ ] Run make format and make check to make sure the code follows the style guide.
[ ] Add tests for new features or tests that would have caught the bug that you're fixing.
[ ] Add new public functions/methods/classes to doc/api/index.rst.
[ ] Write detailed docstrings for all functions/methods.
[ ] If adding new functionality, add an example to the examples.
[ ] If new dependency is required, add it to environment.yml, requirements.txt, setup.py and requirements-dev.txt (if it's a development dependency).

@santisoler .... Do you have time to see the code? Can you?


Fix broken link (vault variable test moved in Spin repo)

Signed-off-by: tpmccallum<EMAIL_ADDRESS>

I see that the Spin version in that test is v1 also.
https://github.com/fermyon/spin/blob/main/tests/testcases/vault-variables-test/spin.toml#L1
Is that ok e.g. is that backward compatible or could/should we create a new v2 version?
And also create a vault variable test application in the examples folder using Spin 2 template?

This has been updated at
https://github.com/fermyon/spin/pull/2241/
and
https://github.com/fermyon/developer/pull/1162


[1.12.2] No Nether Ambient Audio

When going to the Nether, the background ambient loop I heard in earlier versions does not play. I've seen this on servers and in singleplayer, and I only noticed it in more recent versions.
Perhaps it doesn't play it because the Nether is not open to the sky, and therefore you are considered to be indoors?
DS: <IP_ADDRESS>
Forge: <IP_ADDRESS>15
MC: 1.12.2

I've noticed this off and on as well.  The strange thing is that it only happens with the Nether ambient.  Haven't noticed it with anything else.  The only condition for the sound to play is if the player's dimension is the Nether - nothing complicated like indoors or biome.

I haven't been able to repro with a release I am working on in my sandbox.  I did some changes fixing other things and it may have addressed this as well.  Going to mark fixed.

Pushed v<IP_ADDRESS> to CurseForge.


nixos/minidlna: update documentation + fix test

Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

@OfBorg test minidlna

I'm almost done with a fix for the build failure — I've been investigating it since before I posted my comment on the previous PR.

I've succeeded the nix-build with environment.noXlibs = false; albeit did not use it. Because I think it is an upstream issue.

Fix for the build failure: https://github.com/NixOS/nixpkgs/pull/189507

@OfBorg test minidlna

Very strange test failure, but it passed for me locally (on aarch64), and it's still strictly better than the test not even evaluating.

Sorry I forgot about the test previously. I don't have any device to test ARM.


Version v0.4.15: Possible fixes for the production Nano X

Description
Fix potential issues that could cause the production version of Ledger Nano X to crash.
Fixes:

Remove the hard-set DEBUG=1 flag in the Makefile
Reduce the RAM allocated for large transactions

Changes include

[x]  Bugfix (non-breaking change that solves an issue)
[ ]  New feature (non-breaking change that adds functionality)
[ ]  Breaking change (change that is not backwards-compatible and/or changes current functionality)
[ ]  Tests
[ ]  Documentation
[ ]  Other (for changes that might not fit in any category)

@vldmkr I'll take care of bumping the app version. It's good practice to bump it for every release.

Sure, if these fixes solve the problem, I can make the next commit with a larger version.


Input value button position/size not correct on sap.m.input

OpenUI5 version:
1.44.35
Browser/version (+device/version):
Chrome
Any other tested browsers/devices(OK/FAIL):
URL (minimal example if possible):
http://jsbin.com/towumiv/1/edit?html,js,console,output
User/password (if required and possible - do not post any confidential information here):
Steps to reproduce the problem:

In jsbin provided, push button test, input field will have valuestate error and editable
Input Value Help button ( id = input  ) will not be located correctly
3.Compare with input value help button of id = input2, this is located correctly

What is the expected result?
a good position of icon to open value help
What happens instead?
button for value help is not located correctly
Any other information? (attach screenshot if possible)

Hello @JoseMunozHerrera,
Thank you for sharing this finding. I've created an internal incident<PHONE_NUMBER>. The status of the issue will be updated here in GitHub.
Regards,
Tereza

Hello @JoseMunozHerrera,
The issue is fixed in 1.44, 1.52 and 1.56 branches. In the master branch the issue is not reproducible.
Best Regards,
Petar

Hi,
In which version of 1.44 you fixed that, in 1.44.39 is still not working
Thanks

Hi @JoseMunozHerrera ,
You should see the fix when 1.44.40 is released.
Best Regards,
Petar


Fix slow single threaded action on isin

Fixes #3198
Works for me, I don't know how to write a test for this, but the fix works great and makes sense as isin will always return a bool.
I didn't touch the DataFrame version as I don't have a test for that and I'm not sure it's actually implemented even though there's a method for it.

This totally doesn't work. No more coding past 4am. Sorry for the noise.

Still agree with no coding past 4am. However, I was not going crazy, this does work when using the local task scheduler, not distributed.

..... closing again. Trying to make a reproduceable test is causing me a lot of troubles. So I'll close until I really have something.


Issue while downloading

I tried using -t to download faster, but it finishes after the first episode and it outputs a folder with segments of the video.

Here is the output https://pastebin.com/gKWFx40p

Hey @CiekawyMichu, unfortunately the logs don't show any errors. The script appears to be finished while running the decrypt_segments function. So far, I don't know why, I guess maybe some segments are missing. Do you retry to download the same episode? If it's still not working, I'd suggest running the script with out the flag -t.

I did retry a few more times, tried also other anime, nothing seems to help.

Hey @CiekawyMichu, please check if running the script without -t works for you? If you caught any error message, let me know.

Hey @CiekawyMichu, I checked again your logs. From the logs, all segments should be downloaded. I'm thinking maybe it's something wrong with bash process substitution. Could you please check which bash version on your machine? bash --version

It's version 5.1.16(1)-release (x86_64-alpine-linux-musl)

@CiekawyMichu, ok, then it shouldn't be the process substitution... Besides, the same code structure is used to download segments. As the download part works, it should work for the decrypt part as well...
I have no idea as for now what goes wrong. I removed some redundant code in the latest commit and pushed it. I don't think it can solve the issue you are facing. But maybe give it a try since I have no other idea, sorry about that.

It works now, thank you very much.


Update botadapter.js typo

@JasonSowers,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Rename of a derived method renames the base method even if not an override

Have code like so:
class Base:
    def method(self):
        pass

class Derived(Base):
    def method(self):
        return super().method()

Rename the derived method.
Expected result:
It only renames the derived method.
Actual result:
It renames Base.method as well.
This seems off to me. Shouldn't it only rename the base method if the derived method is marked with override?

that's not how override work in general? @override is from typing module that doesn't affect runtime. it helps static analysis tool the method is actually overriding a method in its super type?
at runtime, things should work same with or without override decorator.
now, if you change method at certain type only but not its parents that it is overriding, then any existing call now has a chance to have semantically different behavior.
class A:
    def method(self):
        pass

class B(A):
    def method(self):
        pass

def foo() -> A:
    return B()

a = foo()

a.method()

now, if you only rename method in B but not in A, a.method() will call A.method() instead of B.method() . it is easy to spot in this example since everything is in same place, but if a is passed around a few times, impossible to find out code's runtime behavior just changed.
that said, it might be good idea to show diagnostics or code action to add override if it is missing?

and it looks like override is added with 3.12?

Moving to triage to discuss. I'd be okay with just closing this given Heejae's explanation of override.


ObjectDB instances leaked at exit

After setting up everything following the Wiki, I added one .json file representing an item, which is successfully loaded through the Singleton GDInv_ItemDB, and everything seemed fine. However, upon closing the game, I stumbled across the console logging out that some Object instances were leaked.
Therefore, I run again with --verbose flag (in case you wonder how, from the editor go to Project settings => editor => run args and put --verbose in there). Here I show you an example of the output with the leaked instance:

As you can see, the GDInv_ItemDefinition class was leaked. Hence, I checked out in the codebase where it was generated, and found out that in the Singleton class GDInv_ItemDB inside the load_item function, a GDInv_ItemDefinition instance is created, which is a class that extends Object, which however is not freed when the game is closed, leading to the warning above.
So I just changed it to extend a Reference, which will be freed automatically when the game closes leading to no leaks, but I'm not sure whether this is right solution or not. Any thoughts?
It might even be that I have made a mistake along the way, and this is not supposed to happen usually. In case you think this is the reality, please let me know, thank you.

Hmmm... I never care about memory management in case if the game will be closed. Anyway operating system should free all the memory allocated per game process.

Understood, I guess I will close the issue then. Thanks for the reply.


Update requirements / readme to include nltk

Confirm what is needed, and update.

Added nltk to requirements.txt and init_app.py will download the stopwords corpus if it is missing. README updated with an environment variable for nltk path.


Fix lock release omission error in nf-synchapi-sleepconditionvariablesrw.md

Omission error of lock release. Statement adapted verbatim from the nf-synchapi-sleepconditionvariablecs.md page.

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


blog post series?

I've been following along with this project sort of commit by commit, and it's been a fantastic way of digging into Zig, as well as reenforcing things I've learned doing other small kernel experiments.
I was wondering if you'd be alright with me basing a series of blog posts on following along with this repo, sort of in the vein of Writing an OS in Rust by Philipp Oppermann (though almost guaranteed not as popular ;)).
I don't want to jump on the work you've done without asking your blessing, so let me know if you have concerns!
Thanks!

Jon

Hi Jon!
 I've actually been thinking about writing a blog post series based on it myself - I think it's a great idea.
As long as the blogposts point at the original project, you have my blessing of course. :) Let me know if I can help in any way by brainstorming, reviewing the material, improving the codebase, etc.
Also, contributions and design input are more than welcome!

Awesome, thanks! I'll keep you up to date - this is sort of an experiment for me, but I'm excited about it :sweat_smile:


WinRT.SourceGenerator should implement IIncrementalGenerator instead of ISourceGenerator

Describe the bug
The RegisterForSyntaxNotifications API provided to ISourceGenerator produces an unavoidable, catastrophic performance penalty. Source generators operating on syntax need to be carefully rewritten implementing IIncrementalGenerator to avoid this overhead.
https://github.com/microsoft/CsWinRT/blob/98122be4624e0b36b8bc2c48bcde6d9f39cd4e42/src/Authoring/WinRT.SourceGenerator/Generator.cs#L430
To Reproduce
Discovered during ETL and heap dump analysis of this issue:
https://developercommunity.visualstudio.com/t/Poor-performance-on-intellicode-operatio/10717804
Expected behavior

Version Info

Additional context

Absolutely needed, current situation in my solution.

@FrayxRulez I am curious, are you authoring a CsWinRT Component (WinRT component in C#) or just using the projection support and AOT support?

@manodasanW I have a large WinUI app that consumes a few C++/WinRT projects, one of them definitely large too.

I just implement a WinRT.SourceGenerator implments IIncrementalGenerator for my own purpose.
Since it's not fully tested so I decide not make a PR for it.
If you are interested in this you can try it out.

Unfortunately it looks like your generator is caching syntaxes and providers, which means it is not actually incremental.

Unfortunately it looks like your generator is caching syntaxes and providers, which means it is not actually incremental.

Yes, technically not incremental, just reduced some generation attempts, it's enough for me though.

Great! With version 2.1.3 released, it now takes me forever to rename a variable.


cant work for regular expression containing symbols

can't make it work for a regular expression to validate time accepting value from 00:00 to 23:59.
imask native also has this limitation.
iMask requires to use groups:
var maskOptions = {
mask: 'HH{:}`MM',
groups: {
HH: new IMask.MaskedPattern.Group.Range([0, 23]),
MM: new IMask.MaskedPattern.Group.Range([0, 59])
}
}
https://github.com/uNmAnNeR/imaskjs/issues/53

Thanks for that information but I currently don't have plans to update the component with such a funcionality....


[AI Agent idea] Square Root Finder

Description
This AI Agent find the square root of a given number.
Additional Information
Build an AI Agent for the above use case using Illa Cloud.

/assign @Rutam21

I want to work on this issue, could you assign this issue to me? @Rutam21

@mdsahilnoob Hello there, This issue has been worked upon already. Feel free to find other issues that are unassigned ir create some new ones with your own AI Agent ideas. Thanks.

Thanks for letting me know!! @Rutam21


Add star Pattern 45 in js

Related Issue
Closes: #[167]
Describe the changes you've made ✍
Written the code of pattern 45 in javascript
Screenshots (if any) 📸

Made the changes in the code


[FR] Bar with multiple sectors

It would be great if there would be an option (checkbox) to enable bar with multiple sections in different colors.
Example:
Min: 0 green
Sec: 70 yellow
Sec: 80 red
Max: 100
With the option ticked it it would show a bar with it's first 70% percent green, than 10% yellow and 20% red when a value of 100 is received. At the moment the whole bar would be colored red.

This gauge will not get this option. Same request has many times rise for justgauge library and also not made. Two main reasons. It is quite complicated thing to do reliably with precision in mind. It will be reasonable for gauge with needle but for track only, the readability will not gain.
I can't invest my time into something with low value, but source is open and PR always welcome.

That's sad. I did not want to improve readability but put more information into one bar. I have a battery with a dynamic low level and wanted to display the limited part of the SoC in one color and the usable in another.
I'm not into the whole JS/Nodered ecosystem so I'm not able provide any useful help on coding in it. :-(

Version 0.1.17 includes option to show small colored dots to indicate sector positions on the track. I know it is not the color-segmented line but better than nothing.
Closing this issue with this.

Thank you. This did help.


[release/v2.8] Don't render providerID field into machine provision arguments

Issue:
https://github.com/rancher/rancher/issues/43505
Problem
The providerID field is set on an infrastructuremachine object after the node corresponding to the machine has successfully registered. If this field is set before the infrastructuremachine object ready condition is set to True, it can cause a re-run of the machine provision job that will error due the unrecognized argument.
Solution
Ignore the providerID field if it is set in the InfrastructureMachine spec.
Testing
Engineering Testing
Manual Testing
I provisioned a vSphere cluster with this change.
Automated Testing

Test types added/modified:

None

If "None" - Reason: The existing machineprovision tests in the e2e framework should cover regression validation of the change

Summary: N/A
QA Testing Considerations

Regressions Considerations

TODO
Existing / newly added automated tests that provide evidence there are no regressions:

TODO

The changes look quite safe at a glance - unless there is a chance specific machine driver has providerID field but I don't know enough to know if it's even theoretically possible.
However, the changes look like we're patching a hole and not preventing the situation that resulted in said hole to appear.

If this field is set before the infrastructuremachine object ready condition is set to True, it can cause a re-run of the machine provision job that will error due the unrecognized argument.
My understanding is when "infrastructuremachine object ready condition is set to True" the infrastructure (VM) is already provisioned, so why would machine provision job rerun? (Is this the same job or we somehow recreate it?).

the other way to fix this would be to make the provider id "backpopulate" controller not mutate the object until the ready condition is true and provisioning is done


Add abstracted access to Device Attestation Credentials

Problem

PR #8848 introduced some abstraction of access, but in
a way that was not dependency injectable, and that was tied
to the ConfigurationManager.
Issue #8606 identifies a possible way to make per-product factory data
more easy to abstract.

Change overview

This PR introduces a true injectable/replaceable abstraction
for device attestation credentials access, and takes the example
data and tests from #8848 and makes them available as bootstrap
version

Issue #8435
Issue #8606
Testing
Testing done: added unit tests for entire feature, and added
example to build.

@pan-apple ?

@chrisdecenzo @Damian-Nordic @hawk248 @jepenven-silabs @msandstedt ?

Looks good. I would start a bikeshed of the name though - maybe accessor -> provider ? "Access" seems like it could just as easily apply to the client of this interface which suggests it may not be the most descriptive name for the interface itself.

Moved to Provider suffix, since it's better than Accessor.

Also this PR seems to switch between local variable naming styles.

Fixed that part


PHP Warning:  Division by zero in MulticlassBreakdown class. This warning eventually ends up breaking report generation

Hi Andrew! I am aware that you updated the MulticlassBreakdown class with comments mentioning removal of division by zero checks. Curios to know if you caught any warnings or errors up until now after your recent update.
This ends up giving a warning and empty json report when calling $report->generate($predictions, $testing->labels()).
Thanks for the cool library by the way! I am using this for my research project

Hey @samuraya that's awesome what is your research project about?
Can you please post your code? Thanks

@andrewdalpino, here you go. FYI, I have tried data pre-processing with $data->apply method too, instead of doing it through Pipeline. Same outcome. Attached is the screenshot of the error

Here is the code:
`<?php
include DIR . '/../vendor/autoload.php';
use Rubix\ML\Datasets\Labeled;
use Rubix\ML\Extractors\CSV;
use Rubix\ML\Classifiers\KNearestNeighbors;
use Rubix\ML\Transformers\NumericStringConverter;
use Rubix\ML\Transformers\RobustStandardizer;
use Rubix\ML\Pipeline;
use Rubix\ML\CrossValidation\Reports\AggregateReport;
use Rubix\ML\CrossValidation\Reports\ConfusionMatrix;
use Rubix\ML\CrossValidation\Reports\MulticlassBreakdown;
$dataset = Labeled::fromIterator(new CSV('dataset.csv', true,';'));
[$training, $testing] = $dataset->stratifiedSplit(0.80);
$estimator = new Pipeline(
[new NumericStringConverter(),new RobustStandardizer()],
new KNearestNeighbors(19)
);
$estimator->train($training);
$predictions = $estimator->predict($testing);
$report = new AggregateReport([
new MulticlassBreakdown(),
new ConfusionMatrix(),
]);
echo "number of items in predictions = ".count($predictions);
echo "number of items in test labels = ".count($testing->labels());
$results = $report->generate($predictions, $testing->labels());
?>
`
in regards to my research, I am integrating machine learning services into existing opensource ERP systems. Maybe it will help small and medium sized businesses to realize some savings during current economic gloom

Thanks @samuraya sounds like you have a great project on your hands, keep it up!
So here is the failing code - for it to divide by zero both true positives and false positives have to be 0. It's a valid condition so I think I'll go ahead and put those checks back in.

As a side note, in order to obtain 0 true and false positives for a class that would mean the estimator never predicted that class yet there were at least 1 samples from the testing set that was labeled that class.  How does your model perform on other classes or have you not gotten to that point yet?

Ok I reverted to the old method of substituting EPSILON for 0 to avoid the division by 0. Should be fixed in https://github.com/RubixML/RubixML/commit/ed6e7cf1959febb348629bc9895336f32fb5bdb5. You can download the latest dev-master from composer to try it out.
While I was working on this, I took a look at Scikit Learn to see how they handled this situation. It looks like they set the metric to 0 by default.

This is roughly equivalent to what we're doing with EPSILON substitution as 0 / EPSILON is still 0. This would not be true, however, if true positives didn't appear in both the numerator and denominator. Just making a note of that here for future reference.
Let me know if that solved the problem and thank you for the great bug report! Feel free to join our channel on Telegram https://t.me/RubixML :)

glad to be of help. I will try the new version out.
I am using KNN for a demo example as it is easier to understand intuitively for readers. Otherwise, what you are saying completely makes sense.

Ok, issue fixed!


Wrong gradient for tf.math.xlog1py when x is 0

Click to expand!
Issue Type
Bug
Source
source
Tensorflow Version
tf 2.9
Custom Code
Yes
OS Platform and Distribution
Linux Ubuntu 20.04
Mobile device
No response
Python version
3.9
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
The gradient of `tf.math.xlog1py` at `x=0` should be `log1p(y)`. In the example below, `y=1.0`, so the gradient should be `0.6931472`. However, the output gradient is `0.0`, which is wrong!

Standalone code to reproduce the issue
import tensorflow as tf
x = tf.zeros([1])
y = 1.0
print("x = ", x)
print("y = ", y)

with tf.GradientTape() as g:
  g.watch(x)
  res = tf.math.xlog1py(x, y)
print("gradient: ", g.gradient(res, x))
theoretical, numerical = tf.test.compute_gradient(lambda x: tf.math.xlog1py(x, y), [x])
print("theoretical: ", theoretical)
print("numerical: ", numerical)
print("log1p(y): ", tf.math.log1p(y))

Relevant log output
x =  tf.Tensor([0.], shape=(1,), dtype=float32)
y =  1.0
gradient:  tf.Tensor([0.], shape=(1,), dtype=float32)
theoretical:  (array([[0.]], dtype=float32),)
numerical:  (array([[0.6931472]], dtype=float32),)
log1p(y):  tf.Tensor(0.6931472, shape=(), dtype=float32)

@chunduriv,
I was able to reproduce the issue on tensorflow v2.8, v3.9 and nightly. Kindly find the gist of it here.

The issue here is the special definition of xlog1py, which is:
0,                      if x == 0,
x * log1p(y),    otherwise

So for a 0 input, the gradient is technically 0 (since we use the constant 0 function), and we deliberately set this in the gradient here: https://github.com/tensorflow/tensorflow/blob/039156945c876a3e95e8c8e072c59ed24623b750/tensorflow/python/ops/math_grad.py#L731
Otherwise, if y is <= -1 or Inf or NaN, the result of the gradient would be garbage.
What is your use-case?  If you don't need to handle bad inputs, could you use x * tf.log1p(y) explicitly?

I understand that when x is 0, the result of xlogpy is always 0. However, since we are computing the gradient w.r.t. x, we are fixing the value of y to be 1.0, in this case, xlogpy is a linear function of x (and is defined for all real values of x), and the gradient should be log1p(y), not 0.

Thanks for your answer @cantonios ! Can you also check this open issue for torch.special.xlog1py https://github.com/pytorch/pytorch/issues/80770? This bug has been confirmed and PyTorch community are working actively to fix it. So I guess both TensorFlow and PyTorch are consistently wrong on this special case.


Implement inspector support for our desktop platforms.

This include Windows and Linux. It enables the right click to inspect an element. It will launch a new window where the inspector will be loaded.
This is a different workflow than Android where it's remote debugging over USB where you debug on your desktop Chrome.
I removed xwalk_devtools_delegate, these files were used in xwalk_content_browser_client but beside returning a instance to ContentClient it was doing nothing. I fail to see what it was doing before. Anyway it's now covered by the new implementation.
BUG=XWALK-4858

@pozdnyakov r?
anyone r?

lgtm


Create Code Of Conduct

Code of conduct is added issue #48

Congratulation your pr is successfully merged make sure to star the repo
kindly help me by registering yourself in mood indigo
Link : https://my.moodi.org/
referal code : CCP62216
make sure to share with freinds as well
comment after doing


Use OpenTelemetry API

🎉🎉🎉
Some instrumentation was commented out in this PR, to be brought back later (tracking in #50).
Closes #43

I discussed with @tylerbenson, I'm going to break this PR up into smaller commits (still one PR). Unfortunately, I'm not sure if it can be broken into smaller commits that are individually compilable/testable, but at least this will make the PR easier to review (and we squash down to a single commit during merge anyways).

Now broken up into smaller tests. Muzzle is failing due to recently released couchbase java-client 3.0.0 (not due to changes in this PR).

@trask you can pull this over if you like: https://github.com/DataDog/dd-trace-java/pull/1170


mkpr

Applied mkpr on undefined
sed s/"github-repository-provider": "^.*"/"github-repository-provider": "^7.17.29"/

Coverage remained the same at 87.526% when pulling 3e1b43197c4d0d45d84c3c2efe9a17469bfa28ef on mkpr/2 into cbed05a1b2c0c641e1ea98def20066351c0de6b9 on master.


Add documentation section for man

Discussed in https://github.com/orgs/ZOSOpenTools/discussions/177

Need to write up a small doc on how to get started with man on z/OS from: https://github.com/orgs/ZOSOpenTools/discussions/177


CB-10367 Add meaningful names to heading anchors in Docs & show a link on hover

@dblotsky to help review

Just a suggestion: maybe add some CSS to make the link vanish unless the title is hovered, and add a bit of spacing.

Thanks, Dmitry! I fixed the points that you brought up.


core becomes non-responsive when receiving unrecognized RPC

Noticed in the process of updating xi-mac to use some more of the new config stuff.
In the main loop the outer thread joins the inner thread before returning, but the inner thread doesn't know that parsing has failed.
This is a bug; at the very least this should print an error and panic.

This bug is my fault and I'll get to it eventually but if anyone wants to take a shot they're welcome. ;)

How would I reproduce this? I tried to reproduce by doing this
let json = make_reader(r#"{"method":"this definitely does not exist","params":{}}
{"method":"garbage","params":{"theme_name":"InspiredGitHub"}}"#);
    rpc_looper.mainloop(|| json, &mut state).unwrap();

but it panicked in a sane way
	thread 'test_startup' panicked at 'called `Result::unwrap()` on an `Err` value: UnknownRequest(ErrorImpl { code: Message("unknown variant `swaaaaaag`, expected one of `edit`, `plugin`, `close_view`, `save`, `set_theme`, `client_started`, `modify_user_config`"), line: 0, column: 0 })'

has this been fixed already?

@leethomas the problem with your example is that mainloop returns when it hits EOF on the json; in normal usage the stream doesn't end, so the inner loop doesn't return, so we don't see the error message. To reproduce just run xi-core from the command line, and then pass an unknown RPC via stdin.


Added omit & tests for omit and omit-metadata.

Looks good. I'll merge it once the travis build is finished.


Improve GitHub Actions for pull requests

See https://github.com/Senzing/community-roadmap/issues/71

Pull requests:

https://github.com/Senzing/configurator/pull/68


Allow renaming terminal states

[ ] Additional function parameters, change functionality or change defaults?
[ ] New estimator in cr.tl.estimators?
[ ] New kernel in cr.tl.kernels?
[ ] New gene trend model in cr.ul.models?
[ ] New plotting function in cr.pl?
[x] Other?

It can useful when we want to either combine long names or many macrostates into 1 state, or even if selecting a state with the suffix _<some number>.
Proposed change:
g.set_terminal_states_from_macrostates(names=['Alpha', 'Beta', 'Epsilon', 'Delta'])  # just as before
g.set_terminal_states_from_macrostates(names={'foo': 'foo_1, foo_2', 'bar': 'bar', 'baz': 'quux']})
# keys are the new names to be assigned

@Marius1311 any thoughts on this?

as long as we keep both modes (passing a list vs. passing a dict), I think this is a good idea.

thanks, good initiative.


Fix several issues with JWE encryption.

The issues, according to the JWA spec are:

the AL field is not correctly calculated. It must represent the length in bits of the additional authenticated data, not in bytes. Additionally, it must be represented as an unsigned 64-bit octet string in big-endian, not as a simple string.

<IP_ADDRESS>.4.  The octet string AL is equal to the number of bits in the additional authenticated data A expressed as a 64-bit unsigned big endian integer.

in order to compute the authentication tag, the ciphertext must be used, not the plaintext.

<IP_ADDRESS>.5.  A message authentication tag T is computed by applying HMAC [RFC2104] to the following data, in order:

    the additional authenticated data A,

    the initialization vector IV,

    the ciphertext E computed in the previous step, and

    the octet string AL defined above.

in AES_CBC_HMAC_SHA2, the length of the input key equals to the digest size, that being 32, 48 and 64 octets for each of the three variants.

The AES_CBC_HMAC_SHA2 parameters specific to AES_128_CBC_HMAC_SHA_256 are:

 The input key K is 32 octets long.

ENC_KEY_LEN is 16 octets.

 MAC_KEY_LEN is 16 octets.

the integrity key and encryption key are derived as the first and second half of the input key, respectively.

The secondary keys MAC_KEY and ENC_KEY are generated from the input key K as follows.  Each of these two keys is an octet string.

    MAC_KEY consists of the initial MAC_KEY_LEN octets of K, in order.

    ENC_KEY consists of the final ENC_KEY_LEN octets of K, in order.

The number of octets in the input key K MUST be the sum of MAC_KEY_LEN and ENC_KEY_LEN.  The values of these parameters are specified by the Authenticated Encryption algorithms in Sections 5.2.3 through 5.2.5.  Note that the MAC key comes before the encryption key in the input key K; this is in the opposite order of the algorithm names in the identifier "AES_CBC_HMAC_SHA2".

I've taken a look at this and the change itself looks good. The problem, however, is that it's backwards incompatible. Given the library is already in use and tokens have been issued, this change will result in effectively invalidating all tokens, which may be a Bad Thing depending on application level implementation details around token handling. Optimally, the library would handle this change internally and would mark the old method as deprecated. This could perhaps be achieved by using a private claim replicated as a header parameter.
I would like to see tests added to the suite that ensure that the changes you've made are not undone (i.e. cipher() is called using the last half of the key and hash() is called with the first half). This can be achieved using mock and a custom random number generator or mocking get_random_bytes.
As far as API changes to allow for JSON serialization, this library was developed following the JOSE spec, but was limited to our immediate needs. As such, JSON serialization was not in the picture and would likely be a very low priority issue for us to tackle. If you have suggestions, feel free to log an issue. Otherwise, a patch contribution (in another PR as to not conflate this one) would likely be the most efficient way of having it addressed and released.

This has been merged as part of the 0.2.2 release (and I've added you to CONTRIB). Thanks for the contribution!

Thanks Demian! Hope it didn't create too much trouble with backwards compatibility in the end...

Not at all and conformance is always worth it. Thanks again for the submission.


cigien: Watch optimum[\W_]+blaze(?:[\W_]+(?:order|buy|official|\d++|[\da-f]{5,}+)s?)*

cigien requests the watch of the watch_keyword optimum[\W_]*+blaze(?:[\W_]*+(?:order|buy|official|\d++|[\da-f]{5,}+)s?)*. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

optimum[\W_]*+blaze(?:[\W_]*+(?:order|buy|official|\d++|[\da-f]{5,}+)s?)* has been seen in 2 true positives, 0 false positives, and 0 NAAs.

optimum[\W_]*+blaze(?:[\W_]*+(?:order|buy|official|\d++|[\da-f]{5,}+)s?)* has been seen in 2 true positives, 0 false positives, and 0 NAAs.

Approved by tripleee in Charcoal HQ

Approved by tripleee in Charcoal HQ


fix: modify Dockerfiles to fix failing image builds

Kindly explain what this PR does.

@ayildirim21 Tested with images running?

@ayildirim21 Tested with images running?

I ran several of the example pipelines, after pushing their respective images, and did not come across any errors in the container logs

@ayildirim21 Do verify both approaches once, default and with args in the yaml
Thanks!

@kohlisid Ran the even-odd example with both
      container:
        args:
        - python
        - example.py

Present and not, both pipelines ran fine

Thanks @ayildirim21


Buddybuild crash report on build #525

Buddybuild detected a crash
View Full Crash Details

Crash report

Crash report

Crash report

Crash report


Sometimes, route-agent fails to detect the CNIInterface in the first attempt

What happened:
When Route-agent Pod comes up, it tries to query the CNI Interface IP on the host. It was noticed that sometimes, the first attempt to read this information fails, but the subsequent attempt (by a different path in the code) seems to be successful.
Route-agent internally uses the "net" package to query the list of interfaces. We have to identify if there is any house-keeping to be done before invoking the net.Interfaces() API or if the CNIInterface indeed does not exist at the time of making the query.
+ trap 'exit 1' SIGTERM SIGINT
+ SUBMARINER_VERBOSITY=2
+ '[' false == true ']'
+ DEBUG=-v=2
+ exec submariner-route-agent -v=2 -alsologtostderr
I0627 06:48:05.866736       1 main.go:55] Starting submariner-route-agent using the event framework
W0627 06:48:05.867466       1 client_config.go:608] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
I0627 06:48:05.884935       1 registry.go:65] Event handler "logger" added to registry "routeagent_driver".
I0627 06:48:05.885594       1 cni_iface.go:72] Interface "lo" has "<IP_ADDRESS>" address
I0627 06:48:05.885827       1 cni_iface.go:72] Interface "ens4" has "<IP_ADDRESS>" address
E0627 06:48:05.886030       1 kp_iptables.go:112] Error discovering the CNI interface unable to find CNI Interface on the host which has IP from "<IP_ADDRESS>/14"
I0627 06:48:05.906035       1 iptables.go:30] Install/ensure SUBMARINER-POSTROUTING chain exists
I0627 06:48:05.940192       1 iptables.go:36] Insert SUBMARINER-POSTROUTING rule that has rules for inter-cluster traffic
I0627 06:48:06.002184       1 iptables_iface.go:43] Install/ensure "SUBMARINER-INPUT" chain exists
I0627 06:48:06.127564       1 iptables_iface.go:54] Allow VxLAN incoming traffic in "SUBMARINER-INPUT" Chain
I0627 06:48:06.137853       1 iptables_iface.go:62] Insert rule to allow traffic over vx-submariner interface in FORWARDing Chain
I0627 06:48:06.161759       1 registry.go:65] Event handler "kubeproxy-iptables-handler" added to registry "routeagent_driver".
I0627 06:48:06.161797       1 registry.go:67] Event handler "ovn-hostroutes-handler" ignored for registry "routeagent_driver".
I0627 06:48:06.161809       1 registry.go:65] Event handler "xfrm" added to registry "routeagent_driver".
I0627 06:48:06.161815       1 registry.go:65] Event handler "VXLAN cleanup handler" added to registry "routeagent_driver".
I0627 06:48:06.174102       1 ipset.go:349] Running ipset [create SUBMARINER-REMOTECIDRS hash:net -exist]
I0627 06:48:06.278848       1 ipset.go:349] Running ipset [create SUBMARINER-LOCALCIDRS hash:net -exist]
I0627 06:48:06.435230       1 registry.go:65] Event handler "MTU handler" added to registry "routeagent_driver".
I0627 06:48:06.453368       1 cni_iface.go:72] Interface "lo" has "<IP_ADDRESS>" address
I0627 06:48:06.453452       1 cni_iface.go:72] Interface "ens4" has "<IP_ADDRESS>" address
I0627 06:48:06.453672       1 cni_iface.go:72] Interface "tun0" has "<IP_ADDRESS>" address
I0627 06:48:06.453694       1 cni_iface.go:77] Found CNI Interface "tun0" that has IP "<IP_ADDRESS>" from ClusterCIDR "<IP_ADDRESS>/14"
E0627 06:48:09.564917       1 main.go:103] Error while annotating the node: error annotating node with CNI interface IP: error updatating node "gcp-nmanos-cluster-c-f456g-submariner-gw-us-east1-b-j89dt": unable to get node info for node "gcp-nmanos-cluster-c-f456g-submariner-gw-us-east1-b-j89dt": Get "https://<IP_ADDRESS>:443/api/v1/nodes/gcp-nmanos-cluster-c-f456g-submariner-gw-us-east1-b-j89dt": dial tcp <IP_ADDRESS>:443: connect: no route to host

What you expected to happen:
This was seen on OCP 4.10.18 which was running with OpenShift SDN CNI. When CNI Interface cannot be detected, the HostNetworking and Health-check functionality will be broken.
How to reproduce it (as minimally and precisely as possible):
Unfortunately, this is not easily reproducible.
Environment:

Cloud provider or hardware configuration: GCP with OCP 4.10.18 + OpenShift SDN

Unfortunately there is no easy way to reproduce this issue as it does not happen all the time. We can close this for now and reopen when we know the exact steps to reproduce the problem.


Basic authorization with just 1 key is not possible

We are using an API that is asking to send the API_KEY in authorization header using basic authorization, the url is below:
POST<EMAIL_ADDRESS>Right now we cannot do this in OkHttp because Credentials.basic is asking for username and password, we cannot send custom data in the Basic Authorization.
Thanks

Oh we can use Credentials.basic(API_KEY, "")
Will close it.


Replace deprecated az configure with az config

Replace instances of the deprecated 'az configure' with 'az config'.
This work is for story 1844036.

Hi @dbradish-microsoft, this article is ready for review.