Using a vals ref+awsssm:// source as a value "file"

I am trying to something like this, where some values come from a file, and others come from a small blob of YAML stored in SSM. I can't quite seem to get the syntax right:
    values:
      - "./vars/{{`{{ .Environment.Name }}`}}/{{`{{ .Release.Name }}`}}/values.yaml"
      - "ref+awsssm://helm/secrets/{{`{{ .Environment.Name }}`}}/{{`{{ .Release.Name }}`}}?region=us-east-1"

That results in a SIGSEGV as it, I think, tries to treat the YAML retrieved as a file name.
    values:
      - "./vars/{{`{{ .Environment.Name }}`}}/{{`{{ .Release.Name }}`}}/values.yaml"
      - <<: "ref+awsssm://helm/secrets/{{`{{ .Environment.Name }}`}}/{{`{{ .Release.Name }}`}}?region=us-east-1"

This results in yaml: map merge requires map or sequence of maps as the value.
If I push the retrieved items down a node it may work, but I need the whole of the fetched item to be used as the YAML.
This seems like it would be a really common use-case... I must be missing something obvious.

If I push the retrieved items down a node it may work, but I need the whole of the fetched item to be used as the YAML.

@jhohertz Very interesting use-case! Unfortunately, it isn't supported yet.
refs, as of today, is for replacing values in YAML hashes only, not the hashes as the whole.
Probably we need to enhance the syntax a bit if we'd need to support it.
What if it looked like this?
With the inline hash sytnax:
values:
- "./vars/{{`{{ .Environment.Name }}`}}/{{`{{ .Release.Name }}`}}/values.yaml"
- {"ref+awsssm://helm/secrets/{{`{{ .Environment.Name }}`}}/{{`{{ .Release.Name }}`}}?region=us-east-1":{}}

Or with the indented syntax:
values:
- "./vars/{{`{{ .Environment.Name }}`}}/{{`{{ .Release.Name }}`}}/values.yaml"
- "ref+awsssm://helm/secrets/{{`{{ .Environment.Name }}`}}/{{`{{ .Release.Name }}`}}?region=us-east-1": {}

In {}, we may add more options about how it renders and gets merged into values in the future.

I've implemented what I've proposed in #991
I'd appreciate it if you could try it out and report back if it works or not!

I'll give it a try! Thanks for having a look into this!

Sorry no luck yet... I am just getting the URL as-is in the values file, I've tried both flavours you suggested above.
Haven't had a chance yet to look through the PR to see if I can understand what's wrong.

I did rebuild the vals executable and I can see the new syntax working there, so it must be some assumption in the helmfile code that needs adjustment

@mumoshu : Still not sure why I can't get this to work in helmfile. I've re-built helmfile with debug lines before and after the vals rendering, and see the same before and after. I see the module bumped to the right version from #991, so I don't think it's that.
I am at a loss to say why.. I thought at first it might be the way the items were packed into an array before being passed to vals.Eval, tried a variant to separate the calls for each item... (such that the call for this item should be the same as the one I can see working on the CLI) and it still fails to substitute.

@jhohertz Hey! Thank you so much for your help.
You are absolutely correct that vals alone is able to render it correctly:
$ cat helmfile.990.yaml
releases:
- name: issue990
  chart: stable/envoy
  values:
  - foo: FOO
  - "ref+file://vals.yaml": {}

$ cat vals.yaml
bar: BAZ

$ vals eval -f helmfile.990.yaml
releases:
  - chart: stable/envoy
    name: issue990
    values:
      - foo: FOO
      - bar: BAZ

There should be something going wrong in Helmfile.

I believe this is the problematic code:
	merge := func(strmap map[string]interface{}, k string, opts interface{}) (bool, error) {
		_, ok := opts.(map[string]interface{})
		if !ok {
			return false, nil
		}

https://github.com/variantdev/vals/blob/de375c5be6879de7619ed2c091347b638f0617d9/pkg/expansion/maputil.go#L10-L14
Where I see the right part(value) of the YAML document "ref+file://vals.yaml": {} is accidentally map[interface{}]interface{}:

We need to loosen the condition to accept not only map[string]interface{} but also map[interface{}]interface{}.

Okay after some work I confirmed it to work as expected:
$ cat helmfile.990.yaml
releases:
- name: issue990
  chart: stable/envoy
  values:
  - foo: FOO
  - "ref+file://vals.yaml": {}

$ cat vals.yaml
bar: BAZ
image:
  tag: foobarbaz

$ helmfile -f helmfile.990.yaml template | grep foobarbaz
Fetching stable/envoy
Templating release=issue990, chart=/var/folders/lx/53d8_kgd26vf5_drrg89wkvc0000gp/T/245740236/issue990/latest/stable/envoy/envoy
          image: "envoyproxy/envoy:foobarbaz"

This is great! Confirmed it's working well on this end! Thank you so much for implementing this!


Representative Thumbnail does not appear on the Work

When I create a new work or edit an existing work and choose the representative thumbnail, the image isn't displayed on the work show page. The representative media thumbnail is shown. The representative thumbnail does appear in the search and on collections.


feat: add an SPI main abstraction

Description

This PR provides an abstraction layer for SPI support, in main mode.
It focuses on providing non-DMA-enabled drivers, which still provide an async interface, with timeouts—e.g., to avoid indefinitely blocking when the target is not connected.
The drivers implement embedded_hal_async::spi::SpiBus, and can thus easily be used by any device driver relying on that trait.
It provides ways to either select frequencies which all MCUs are expected to support (up to 8 MHz), or to request the highest available frequency within a range, resolved at compile-time using highest_freq_in.
Issues/PRs references

Depends on #463
Open Questions

Should Frequency be renamed to Bitrate?
Should we attempt to make the test more generic, so it doesn't rely on a specific sensor?
The SPI frequency, selected either using highest_freq_in or directly using the arch-independent enum, is only precisely respected on a best-effort basis by Embassy: as the SPI frequency is sometimes configured based on an input frequency divided by a prescaler, which only has a limited number of possible values, the exact frequency actually used can be different from the one selected by the user. I suppose it would be useful to document this. As the documentation of the manufacturer-specific crates is not currently rendered (where I think this should be mentioned), I'm opting for documenting this as part of a follow-up PR.

Limitations
DMA-enabled drivers are out-of-scope of this PR as the number of DMA channels is limited on some architectures and non-DMA-enabled drivers are therefore useful when no channels are left. Moreover, setting up DMA incurs some overhead, and is thus not relevant for small operations as it is the case with sensors, which was the initial motivation for adding support for SPI.
Future work

[ ] Provide DMA-enabled drivers in a dma module inside spi::main.

Change checklist

[ ] I have cleaned up my commit history and squashed fixup commits.
[x] I have followed the Coding Conventions.
[x] I have performed a self-review of my own code.
[x] I have made corresponding changes to the documentation.

@ROMemories do you mind rebasing this? I'm starting to take a closer look.

Should Frequency be renamed to Bitrate

IMO, no. If you feel it needs discussion, let's do that at next monthly. (we're not waiting for this here).

Should we attempt to make the test more generic, so it doesn't rely on a specific sensor?

I'm doing simple loopback testing. I can push that test here?

I'm doing simple loopback testing. I can push that test here?

Sure, please do!

Done.
I've changed the used SPI pins to the ones from the arduino connector where applicable, maybe it makes sense to use that pinout also for spi-main?
I've tested the nfr52840dk, nrf5340, nucleo-h755, nucleo-wb55 an nucleo-f401re using spi-loopback successfully.

Then, lets get this in! LGTM. Please squash.


manually start uploading

hi,
i'd like to use a different button to start the uploading, how can i achieve this? i could interrupt the uploading in the preprocess hook but i don't know how to trigger it after that.
thanks!

+1 for this

I was surprised that this feature wasn't implemented since this is a very common use case. +1

Didn't see that this issue had so many votes!  Yeah, it is totally a use-case we should support.  Scanning the code, it shouldn't be too hard to conditionally omit the listener on this line, then just call uploadFile via a reference to the component.  Anyone want to take a stab at a PR?

Very surprised you can't do this yet. +1

I appreciate your input @AustinGomez and others. I don't currently use this library, and don't have a lot of spare time at the moment - I just merge PRs and try to make sure things aren't broken.  If anyone would like to provide this functionality, I'll be happy to review and merge.  I usually get new features merged and released within a few hours.  Thanks!

I'm currently playing with this and haven't yet had time to try it out but I have modified the following which I'm hoping for results.
    propTypes: {
        signingUrl: PropTypes.string,
        getSignedUrl: PropTypes.func,
        preprocess: PropTypes.func,
        onProgress: PropTypes.func,
        onFinish: PropTypes.func,
        onError: PropTypes.func,
        signingUrlMethod: PropTypes.string,
        signingUrlHeaders: PropTypes.oneOfType([
          PropTypes.object,
          PropTypes.func
        ]),
        signingUrlQueryParams: PropTypes.oneOfType([
          PropTypes.object,
          PropTypes.func
        ]),
        signingUrlWithCredentials: PropTypes.bool,
        uploadRequestHeaders: PropTypes.object,
        contentDisposition: PropTypes.string,
        server: PropTypes.string,
        scrubFilename: PropTypes.func,
        s3path: PropTypes.string,
        inputRef: PropTypes.func,
        autoUpload: PropTypes.bool
    },

    getDefaultProps: function() {
        return {
            preprocess: function(file, next) {
                console.log('Pre-process: ' + file.name);
                next(file);
            },
            onProgress: function(percent, message) {
                console.log('Upload progress: ' + percent + '% ' + message);
            },
            onFinish: function(signResult) {
                console.log("Upload finished: " + signResult.publicUrl)
            },
            onError: function(message) {
                console.log("Upload error: " + message);
            },
            server: '',
            signingUrlMethod: 'GET',
            scrubFilename: function(filename) {
                return filename.replace(/[^\w\d_\-\.]+/ig, '');
            },
            s3path: '',
            autoUpload: true
        };
    },

and for getInputProps function...
getInputProps: function() {
        // declare ref beforehand and filter out
        // `inputRef` by `ReactS3Uploader.propTypes`
        var additional = {
            type: 'file',
            ref: this.props.inputRef
        };

        if ( autoUpload ) {
            additional.onChange = this.uploadFile;
        }

Then presumably, using the below properties, you can prevent it from auto uploading and then use the ref to call the uploadFile function.
<ReactS3Uploader
     autoUpload={false}
     ref={uploader => { this.uploader = uploader; }}
     ...
     />

This is what I'm trying... however I'm off to grab some sleep so I shall test this tomorrow.

@LKozakewycz Thanks for this. Gladly awaiting your work 😄

@AustinGomez I've submitted a pull request with the necessary changes: #155
From this, you can do something like the following:
    constructor(props) {
        super(props);
        this.uploader = null;
        this.handleUpload = this.handleUpload.bind(this);
    }

    handleUpload() {
        this.uploader.uploadFile();
    }

    render() {
        return (
            <div>
                <ReactS3Uploader
                    autoUpload={false}
                    ref={uploader => { this.uploader = uploader; }}
                    ...
                    />

                <input type="button" value="Upload" onClick={this.handleUpload} />
            </div>
        )
    }

Released v.4.6.0 with autoUpload={false} support.


Calling scripts in VS Code terminal does not respect conda environment

Environment data

VS Code version: 1.31.0
Extension version: 2019.2.5558
OS and version: OSX 10.10.5
Python version: all
Type of virtual environment used: conda 4.6.7
Relevant/affected Python packages and their versions: all

Expected behaviour
In a standard terminal:
$ conda deactivate
$ pip install sphinx
$ which sphinx-build
/usr/local/bin/sphinx-build
$ conda activate myenv
$ pip install sphinx
$ which sphinx-build
//anaconda/envs/myenv/bin/sphinx-build

Actual behaviour
In a VS Code terminal
$ conda deactivate
$ pip install sphinx
$ which sphinx-build
/usr/local/bin/sphinx-build
$ conda activate myenv
$ pip install sphinx
$ which sphinx-build
/usr/local/bin/sphinx-build

Could be a duplicate of https://github.com/Microsoft/vscode-python/issues/4434#issuecomment-466600591
Please could try making the following change and testing this:
"terminal.integrated.env.osx": {
		"PATH": ""
}


extend tesseract with new methods

set_image_from_mem() is like set_image(), exept it accept png
from membory buffer.
set_source_resolution() sets png ppi.
Signed-off-by: Nikola Pajkovsky<EMAIL_ADDRESS>

Hi @npajkovsky
Sorry, I saw I had a notification on this repository but I didn't realise there were 2 pull requests open. I shall look at yours now.

I'm going to rebase this on top of master. I shall also add a test.

Thanks!


html2pdf NPM package not rendering html styles correctly

Using html2pdf from npm repo will render PDF without correct styles (borders and others).
Changing
"html2canvas": "https://github.com/eKoopmans/html2canvas/tarball/develop"
to
"html2canvas": "^1.0.0-alpha.11"
in the dependencies of html2pdf.js package.json fixed the problem (don't know if it breaks something else)

Thanks, this was corrected in 5c629ec. Closing.


train results

D:\anaconda\anaconda\envs\score\python.exe D:/code/score-denoise-main/score-denoise-main/test.py
[2022-07-16 20:04:07,207::test::INFO] [ARGS::ckpt] './pretrained/ckpt.pt'
[2022-07-16 20:04:07,207::test::INFO] [ARGS::input_root] './data/examples'
[2022-07-16 20:04:07,208::test::INFO] [ARGS::output_root] './data/results'
[2022-07-16 20:04:07,208::test::INFO] [ARGS::dataset_root] './data'
[2022-07-16 20:04:07,208::test::INFO] [ARGS::dataset] 'PCNet'
[2022-07-16 20:04:07,208::test::INFO] [ARGS::tag] ''
[2022-07-16 20:04:07,208::test::INFO] [ARGS::resolution] '10000_poisson'
[2022-07-16 20:04:07,208::test::INFO] [ARGS::noise] '0.01'
[2022-07-16 20:04:07,208::test::INFO] [ARGS::device] 'cuda'
[2022-07-16 20:04:07,208::test::INFO] [ARGS::seed] 2020
[2022-07-16 20:04:07,208::test::INFO] [ARGS::ld_step_size] None
[2022-07-16 20:04:07,208::test::INFO] [ARGS::ld_step_decay] 0.95
[2022-07-16 20:04:07,209::test::INFO] [ARGS::ld_num_steps] 30
[2022-07-16 20:04:07,209::test::INFO] [ARGS::seed_k] 3
[2022-07-16 20:04:07,209::test::INFO] [ARGS::niters] 1
[2022-07-16 20:04:07,209::test::INFO] [ARGS::denoise_knn] 4
[2022-07-16 20:04:10,298::test::INFO] ld_step_size = 0.20000000
[2022-07-16 20:04:10,345::test::INFO] boxunion
[2022-07-16 20:04:18,952::test::INFO] box_push
[2022-07-16 20:04:24,497::test::INFO] column_head
[2022-07-16 20:04:30,082::test::INFO] cylinder
[2022-07-16 20:04:35,609::test::INFO] dragon
[2022-07-16 20:04:41,134::test::INFO] galera
[2022-07-16 20:04:46,660::test::INFO] happy
[2022-07-16 20:04:52,189::test::INFO] icosahedron
[2022-07-16 20:04:57,717::test::INFO] netsuke
[2022-07-16 20:05:03,248::test::INFO] star_smooth
Loading: 100%|██████████| 10/10 [00:00<00:00, 33.74it/s]
Loading: 100%|██████████| 10/10 [00:00<00:00, 34.59it/s]
Loading: 100%|██████████| 10/10 [00:06<00:00,  1.48it/s]
Evaluate: 100%|██████████| 10/10 [00:11<00:00,  1.18s/it]
[2022-07-16 20:05:27,919::test::INFO]
cd_sph       p2f
boxunion     0.000311  0.000019
box_push     0.000357  0.000229
column_head  0.000530  0.000344
cylinder     0.000321  0.000067
dragon       0.000317  0.000208
galera       0.000383  0.000300
happy        0.000302  0.000217
icosahedron  0.000331  0.000065
netsuke      0.000242  0.000148
star_smooth  0.000276  0.000110
[2022-07-16 20:05:27,919::test::INFO]
Mean
cd_sph	0.000336946515
p2f	0.000170847624
Process finished with exit code 0
I used the hyperparameter you saved, but the P2M accuracy is abnormal. P2M in the output are quite different from those given in your paper.May I ask why this is?

What’s the version of your PyTorch3D?
When I used the P2M function provided by pytorch3d, it was still under development. The P2M today has changed a lot and is very different from the one I used, so the values are different.

I tried different versions of pytorch3d, and I didn't get the desired results.The result on the PU dataset is correct. But when i test on the PC dataset ,the result P2M is far from with the desired results.

Hi!
This is also weird to me. I have dug deeper and have some findings. The conclusion is: there seems to be a bias caused by PCNet meshes at the time I did evaluation (perhaps due to difference in implementation or hardware, I am still investigating). However, the bias appears for ALL the methods so it does not affect the result.
As you have noticed, the P2M scores on PC-dataset output by the program are approximate 1.5x of the numbers reported in the paper. To see why, I draw a scatter-plot and do a linear regression between CD and P2M according to the numbers in Table 1 of the paper (the aggregated data is attached as paper_results.csv). I distinguish the points by colors and shapes (blue stands for PU-testset and orange stands for PC-testset):

From the above figure, we can see that given a fixed CD score, the P2M score of PU is constantly ~1.7 times of the P2M score of PC. This applies for all the methods. I conclude that there is some strange bias caused by PCNet meshes at the time I did the evaluation reported in the paper.
For some reasons, the bias disappears today and the P2M scores of PC calculated go back to the normal level, resulting in a higher value (this is what you see from your own evaluation, 1.5x higher than the numbers reported in the paper).
Though the numbers you get recently are higher, I think it does not affect the results of the paper. As CD has strong linear correlation to P2M. The reproducible CD scores are sufficient as a metric.
I am still investigating the reason of the bias. As I have left the institute where I did the project, it might take some time for me to find the raw experiment results. I will get back to you when there is some update.
Attachment
paper_results.csv

thank you very much for your reply. now I have a rough idea of the reason for this result.

在PC数据集上面测试时，你可以在使用pytorch-0.4.0版本，这样的话能够得出一个相近的值，更加的符合原文

在PC数据集上面测试时，你可以在使用pytorch-0.4.0版本，这样的话能够得出一个相近的值，更加的符合原文

我猜有可能和GPU有关系。组里其他人最近在2080ti上测试结果是吻合的，但是我在新型号的GPU上测试结果就有系统性的偏差。

确实很可能是由于pytorch3d版本引起的，但我感觉p2m这个指标其实不是很关键。p2m这个指标是和cd有强烈的线性关系的。只要我们验证了cd的准确性，应该就能说明问题了。且在点云去噪方面，评价指标一般用的都是CD，很少用到p2m。

你实现了那个渐变颜色的定性结果可视化了吗？我弄不好
---- 回复的原邮件 ----
| 发件人 | @.> |
| 日期 | 2022年08月05日 15:46 |
| 收件人 | @.> |
| 抄送至 |<EMAIL_ADDRESS>|
| 主题 | Re: [luost26/score-denoise] train results (Issue #12) |
确实很可能是由于pytorch3d版本引起的，但我感觉p2m这个指标其实不是很关键。p2m这个指标是和cd有强烈的线性关系的。只要我们验证了cd的准确性，应该就能说明问题了。且在点云去噪方面，评价指标一般用的都是CD，很少用到p2m。
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

这个我也不知道怎么实现，但直接用open3d或者meshlab观察去噪前后点云的变化还是很明显的。只不过那个渐变色具体是怎么实现的，不是很清楚。
---Original---
From: @.>
Date: Fri, Aug 5, 2022 17:16 PM
To: @.>;
Cc<EMAIL_ADDRESS>Subject: Re: [luost26/score-denoise] train results (Issue #12)
你实现了那个渐变颜色的定性结果可视化了吗？我弄不好
---- 回复的原邮件 ----
| 发件人 | @.> |
| 日期 | 2022年08月05日 15:46 |
| 收件人 | @.> |
| 抄送至 |<EMAIL_ADDRESS>|
| 主题 | Re: [luost26/score-denoise] train results (Issue #12) |
确实很可能是由于pytorch3d版本引起的，但我感觉p2m这个指标其实不是很关键。p2m这个指标是和cd有强烈的线性关系的。只要我们验证了cd的准确性，应该就能说明问题了。且在点云去噪方面，评价指标一般用的都是CD，很少用到p2m。
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.>
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.>

关于这个问题我询问了一些作者，他们也都回复我了，只是我不是很会。
---- 回复的原邮件 ----
| 发件人 | @.> |
| 日期 | 2022年08月05日 17:24 |
| 收件人 | @.> |
| 抄送至 |<EMAIL_ADDRESS>|
| 主题 | Re: [luost26/score-denoise] train results (Issue #12) |
这个我也不知道怎么实现，但直接用open3d或者meshlab观察去噪前后点云的变化还是很明显的。只不过那个渐变色具体是怎么实现的，不是很清楚。
---Original---
From: @.>
Date: Fri, Aug 5, 2022 17:16 PM
To: @.>;
Cc<EMAIL_ADDRESS>Subject: Re: [luost26/score-denoise] train results (Issue #12)
你实现了那个渐变颜色的定性结果可视化了吗？我弄不好
---- 回复的原邮件 ----
| 发件人 | @.> |
| 日期 | 2022年08月05日 15:46 |
| 收件人 | @.> |
| 抄送至 |<EMAIL_ADDRESS>|
| 主题 | Re: [luost26/score-denoise] train results (Issue #12) |
确实很可能是由于pytorch3d版本引起的，但我感觉p2m这个指标其实不是很关键。p2m这个指标是和cd有强烈的线性关系的。只要我们验证了cd的准确性，应该就能说明问题了。且在点云去噪方面，评价指标一般用的都是CD，很少用到p2m。
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.>
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.>
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

Hi @luost26,
Great work on troubleshooting this issue. It really is valuable and I think using PyTorch3D's implementation of P2M is quite useful for good/fair comparisons. I also spent some time on this issue and I thought I would share my insights. The P2M results are biased because of two reasons:

If the GPU used to create the pre-built binary is different from the GPU used to run inference, then unfortunately we get different results. So, I think if someone uses a RTX 3090, they need to rebuild PyTorch3D (whichever version, I am using 0.7.x) using that GPU.

From PyTorch3D 0.6.2, pytorch3d.loss.point_mesh_face_distance() admits a new parameter min_triangle_area. By default, this is set to 0.005. To reproduce the results of ScoreDenoise, we need to set min_triangle_area=0 for any PyTorch3D version after >=0.6.2. This is assuming this version of PyTorch3D was compiled using the same GPU that is being used to run the inference.

These two steps can help reproduce results from the original paper. For PCNet, it would be best to either release the original Poisson disk sampled ground truth test point clouds or create a new test set after sampling the ground truth point clouds from the meshes. The reason I say this is the CD metric for PCNet is dependent on the GT point cloud which is not part of the data in the .zip file.
I hope this helps and thanks again Shitong for the great work!
Best,
D.

Hi @ddsediri
I really appreciate your in-depth and insightful analysis. I am impressed by your great effort in locating the root of the issue. It does help much and I learn a lot from it! Thanks so much!
By the way, for others who need the PCNet meshes, they can be obtained here: https://github.com/mrakotosaon/pointcleannet/issues/8
Best,
Shitong

Hi @luost26,
No worries at all, I'm glad I could help. Thankyou for keeping this repo up-to-date, it is an excellent resource!
I have a question I hope you could answer: do you have the original PCNet 10K and 50K Poisson disk sampled point clouds? When I resample the PCNet meshes (using both Open3D and Point Cloud Utils), and add 1%, 2% and 3% noise, the CD and P2M results are a bit different to the paper results, especially at 10K resolution. I think this is due to either a small inconsistency with the sampling settings or the noise scale.
If I use the original PCNet meshes with the noisy point clouds you provided, I can get consistent P2M results (as the PCNet meshes have not changed) but CD results differ because the ground truth point clouds are different (because I have to sample the meshes again and this is not deterministic).
Thanks so much!
Dasith.

Hi @ddsediri
I think they are included in the dataset archive uploaded to google drive?

Hi @ddsediri
Original noise-free PCNet point clouds are here: https://drive.google.com/file/d/1RCmwC401IZWgXsUE_DiMG7_HjaI-mGHQ/view?usp=drive_link

Hi @luost26,
Thank you so much for making that available! I just re-ran my evaluation script with the noise-free PCNet point clouds and was able to reproduce to high accuracy the original ScoreDenoise paper results on both CD and P2M metrics.
Best regards,
Dasith.


Error IDELAYCTRL missing for IODELAYs when using Yosys + Vivado with basic LiteX SoC

Steps to reproduce the issue
You will need the latest Yosys with https://github.com/YosysHQ/yosys/pull/650 included and Vivado with WebPack license.
Then clone this temporary repository, then try a build.
git clone https://github.com/mithro/litex-buildenv-arty-yosys-xilinx.git
cd litex-buildenv-arty-yosys-xilinx
./build_top.sh

I have also committed the output that I have received. I'm using Vivado 2017.3 and Yosys 0.7+663 (git sha1 dc77ed1e) with the patch in pull request #650. (When I get a chance I'll use latest Vivado and Yosys.)
Expected behavior
Produces a working bitstream for this design (as using Vivado's inbuilt synthesis for this design does).
You can compare the behaviour to a build which only uses Vivado at https://github.com/timvideos/HDMI2USB-firmware-prebuilt/tree/master/archive/master/v0.0.4-356-ga1093ac/arty/base/lm32/gateware
Actual behavior
When trying to use Yosys for the synthesis stage as part of a Vivado flow for an Artix 7 that uses IODELAY objects, the build fails with;
Time (s): cpu = 00:00:06 ; elapsed = 00:00:03 . Memory (MB): peak = 2493.836 ; gain = 416.562 ; free physical = 701 ; free virtual = 32415
INFO: [Common 17-83] Releasing license: Implementation
21 Infos, 0 Warnings, 0 Critical Warnings and 0 Errors encountered.
opt_design completed successfully
opt_design: Time (s): cpu = 00:00:10 ; elapsed = 00:00:06 . Memory (MB): peak = 2493.836 ; gain = 489.594 ; free physical = 701 ; free virtual = 32415
# place_design
Command: place_design
Attempting to get a license for feature 'Implementation' and/or device 'xc7a35t'
INFO: [Common 17-349] Got license for feature 'Implementation' and/or device 'xc7a35t'
INFO: [DRC 23-27] Running DRC with 8 threads
INFO: [Vivado_Tcl 4-198] DRC finished with 0 Errors
INFO: [Vivado_Tcl 4-199] Please refer to the DRC report (report_drc) for more information.
Running DRC as a precondition to command place_design
INFO: [DRC 23-27] Running DRC with 8 threads
ERROR: [DRC PLIDC-10] IDELAYCTRL missing for IODELAYs: There are 16 IDELAY/ODELAY/IODELAY cells in the design which requires IDelayCtrl, but there is no IDelayCtrl cell
INFO: [Vivado_Tcl 4-198] DRC finished with 1 Errors
INFO: [Vivado_Tcl 4-199] Please refer to the DRC report (report_drc) for more information.
ERROR: [Vivado_Tcl 4-23] Error(s) found during DRC. Placer not run.
INFO: [Common 17-83] Releasing license: Implementation
8 Infos, 0 Warnings, 0 Critical Warnings and 2 Errors encountered.
place_design failed
ERROR: [Common 17-39] 'place_design' failed due to earlier errors.

    while executing
"place_design"
    (file "top.tcl" line 9)

The working Vivado flow looks like the following;

create_project -force -name top -part xc7a35t-csg324-1
add_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_cpu.v}
set_property library work [get_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_cpu.v}]
add_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_instruction_unit.v}
set_property library work [get_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_instruction_unit.v}]
add_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_decoder.v}
set_property library work [get_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_decoder.v}]
add_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_load_store_unit.v}
set_property library work [get_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_load_store_unit.v}]
add_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_adder.v}
set_property library work [get_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_adder.v}]
add_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_addsub.v}
set_property library work [get_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_addsub.v}]
add_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_logic_op.v}
set_property library work [get_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_logic_op.v}]
add_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_shifter.v}
set_property library work [get_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_shifter.v}]
add_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_multiplier.v}
set_property library work [get_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_multiplier.v}]
add_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_mc_arithmetic.v}
set_property library work [get_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_mc_arithmetic.v}]
add_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_interrupt.v}
set_property library work [get_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_interrupt.v}]
add_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_ram.v}
set_property library work [get_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_ram.v}]
add_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_dp_ram.v}
set_property library work [get_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_dp_ram.v}]
add_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_icache.v}
set_property library work [get_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_icache.v}]
add_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_dcache.v}
set_property library work [get_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_dcache.v}]
add_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_debug.v}
set_property library work [get_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_debug.v}]
add_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_itlb.v}
set_property library work [get_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_itlb.v}]
add_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_dtlb.v}
set_property library work [get_files {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/submodule/rtl/lm32_dtlb.v}]
add_files {top.v}
set_property library work [get_files {top.v}]
read_xdc top.xdc
synth_design -top top -part xc7a35t-csg324-1 -include_dirs {/home/travis/build/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/cores/cpu/lm32/verilog/config}
report_timing_summary -file top_timing_synth.rpt
report_utilization -hierarchical -file top_utilization_hierarchical_synth.rpt
report_utilization -file top_utilization_synth.rpt
opt_design
place_design
report_utilization -hierarchical -file top_utilization_hierarchical_place.rpt
report_utilization -file top_utilization_place.rpt
report_io -file top_io.rpt
report_control_sets -verbose -file top_control_sets.rpt
report_clock_utilization -file top_clock_utilization.rpt
route_design
write_checkpoint -force top_route.dcp
report_route_status -file top_route_status.rpt
report_drc -file top_drc.rpt
report_timing_summary -datasheet -max_paths 10 -file top_timing.rpt
report_power -file top_power.rpt
set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]
write_bitstream -force top.bit
write_cfgmem -force -format bin -interface spix4 -size 16 -loadbit "up 0x0 top.bit" -file top.bin
quit

For yosys the flow I'm using is;
create_project -force -name top -part xc7a35t-csg324-1
read_xdc top.xdc
read_edif top.edif
link_design -top top -part xc7a35t-csg324-1
report_timing_summary -file top_timing_synth.rpt
report_utilization -hierarchical -file top_utilization_hierarchical_synth.rpt
report_utilization -file top_utilization_synth.rpt
opt_design
place_design
report_utilization -hierarchical -file top_utilization_hierarchical_place.rpt
report_utilization -file top_utilization_place.rpt
report_io -file top_io.rpt
report_control_sets -verbose -file top_control_sets.rpt
report_clock_utilization -file top_clock_utilization.rpt
route_design
phys_opt_design
report_timing_summary -no_header -no_detailed_paths
write_checkpoint -force top_route.dcp
report_route_status -file top_route_status.rpt
report_drc -file top_drc.rpt
report_timing_summary -datasheet -max_paths 10 -file top_timing.rpt
report_power -file top_power.rpt
set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]
write_bitstream -force top.bit
write_cfgmem -force -format bin -interface spix4 -size 16 -loadbit "up 0x0 top.bit" -file top.bin
quit

Could the issue could be related to failure to apply the following constraints?

Going to try with the latest Vivado.

Just confirming that this also fails with latest Vivado (tried with Xilinx_Vivado_SDK_Web_2018.2_0614_1954_Lin64.bin).

I built a version of this SoC without the SPI Flash or DDR and ended up with a .bit file! Will test is the file actually works sometime soon.
You can find the output of this minimal SoC at https://github.com/mithro/litex-buildenv-arty-yosys-xilinx/tree/min

# write_checkpoint -force top_route.dcp
INFO: [Timing 38-480] Writing timing data to binary archive.
Writing placer database...
Writing XDEF routing.
Writing XDEF routing logical nets.
Writing XDEF routing special nets.
Write XDEF Complete: Time (s): cpu = 00:00:01 ; elapsed = 00:00:00.37 . Memory (MB): peak = 2471.555 ; gain = 0.000 ; free physical = 5826 ; free virtual = 37222
INFO: [Common 17-1381] The checkpoint '/home/tansell/github/timvideos/HDMI2USB-litex-firmware/build/arty_min_lm32/gateware/top_route.dcp' has been generated.
# report_route_status -file top_route_status.rpt
# report_drc -file top_drc.rpt
Command: report_drc -file top_drc.rpt
INFO: [IP_Flow 19-234] Refreshing IP repositories
INFO: [IP_Flow 19-1704] No user IP repositories specified
INFO: [IP_Flow 19-2313] Loaded Vivado IP repository '/opt/Xilinx/Vivado/2018.2/data/ip'.
INFO: [DRC 23-27] Running DRC with 8 threads
INFO: [Coretcl 2-168] The results of DRC are in file /home/tansell/github/timvideos/HDMI2USB-litex-firmware/build/arty_min_lm32/gateware/top_drc.rpt.
report_drc completed successfully
# report_timing_summary -datasheet -max_paths 10 -file top_timing.rpt
INFO: [Timing 38-91] UpdateTimingParams: Speed grade: -1, Delay Type: min_max.
INFO: [Timing 38-191] Multithreading enabled for timing update using a maximum of 8 CPUs
# report_power -file top_power.rpt
Command: report_power -file top_power.rpt
INFO: [Power 33-23] Power model is not available for DNA_PORT
Running Vector-less Activity Propagation...

Finished Running Vector-less Activity Propagation
1 Infos, 0 Warnings, 0 Critical Warnings and 0 Errors encountered.
report_power completed successfully
# set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]
# write_bitstream -force top.bit
Command: write_bitstream -force top.bit
Attempting to get a license for feature 'Implementation' and/or device 'xc7a35t'
INFO: [Common 17-349] Got license for feature 'Implementation' and/or device 'xc7a35t'
Running DRC as a precondition to command write_bitstream
INFO: [DRC 23-27] Running DRC with 8 threads
WARNING: [DRC CFGBVS-1] Missing CFGBVS and CONFIG_VOLTAGE Design Properties: Neither the CFGBVS nor CONFIG_VOLTAGE voltage property is set in the current_design.  Configuration bank voltage select (CFGBVS) must be set to VCCO or GND, and CONFIG_VOLTAGE must be set to the correct configuration voltage, in order to determine the I/O voltage support for the pins in bank 0.  It is suggested to specify these either using the 'Edit Device Properties' function in the GUI or directly in the XDC file using the following syntax:

 set_property CFGBVS value1 [current_design]
 #where value1 is either VCCO or GND

 set_property CONFIG_VOLTAGE value2 [current_design]
 #where value2 is the voltage provided to configuration bank 0

Refer to the device configuration user guide for more information.
INFO: [Vivado 12-3199] DRC finished with 0 Errors, 1 Warnings
INFO: [Vivado 12-3200] Please refer to the DRC report (report_drc) for more information.
INFO: [Designutils 20-2272] Running write_bitstream with 8 threads.
Loading data files...
Loading site data...
Loading route data...
Processing options...
Creating bitmap...
Creating bitstream...
Writing bitstream ./top.bit...
INFO: [Vivado 12-1842] Bitgen Completed Successfully.
INFO: [Project 1-118] WebTalk data collection is enabled (User setting is ON. Install Setting is ON.).
INFO: [Common 17-186] '/home/tansell/github/timvideos/HDMI2USB-litex-firmware/build/arty_min_lm32/gateware/usage_statistics_webtalk.xml' has been successfully sent to Xilinx on Thu Oct  4 18:52:33 2018. For additional details about this file, please refer to the WebTalk help file at /opt/Xilinx/Vivado/2018.2/doc/webtalk_introduction.html.
INFO: [Common 17-83] Releasing license: Implementation
9 Infos, 1 Warnings, 0 Critical Warnings and 0 Errors encountered.
write_bitstream completed successfully
write_bitstream: Time (s): cpu = 00:00:15 ; elapsed = 00:00:27 . Memory (MB): peak = 2502.676 ; gain = 31.121 ; free physical = 5790 ; free virtual = 37183
# write_cfgmem -force -format bin -interface spix4 -size 16 -loadbit "up 0x0 top.bit" -file top.bin
Command: write_cfgmem -force -format bin -interface spix4 -size 16 -loadbit {up 0x0 top.bit} -file top.bin
Creating config memory files...
Creating bitstream load up from address 0x00000000
Loading bitfile top.bit
Writing file ./top.bin
Writing log file ./top.prm
===================================
Configuration Memory information
===================================
File Format        BIN
Interface          SPIX4
Size               16M
Start Address      0x00000000
End Address        0x00FFFFFF

Addr1         Addr2         Date                    File(s)
0x00000000    0x0021728B    Oct  4 18:52:32 2018    top.bit
0 Infos, 0 Warnings, 0 Critical Warnings and 0 Errors encountered.
write_cfgmem completed successfully
# quit
INFO: [Common 17-206] Exiting Vivado at Thu Oct  4 18:52:35 2018...

Might need something like https://www.xilinx.com/support/answers/68753.html

The issue seems to be that the top.v has;
IDELAYCTRL IDELAYCTRL(
	.REFCLK(clk200_clk),
	.RST(ic_reset)
);

But the output top.edif file produced by Yosys does not have any IDELAYCTRL cells?

20.5.3. Executing OPT_CLEAN pass (remove unused cells and wires).
...
  removing unused `\IDELAYCTRL' cell `\IDELAYCTRL'.
  removing unused `\STARTUPE2' cell `\STARTUPE2'.
...

It seems by adding;
# hierarchy -top top
# proc; memory; opt; fsm; opt
attrmap -tocase keep -imap keep="true" keep=1 \
    -imap keep="false" keep=0 -remove keep=0
synth_xilinx -top top -edif top.edif

And then adding a (* KEEP *) to the IDELAYCTRL object like so;
(* KEEP = "TRUE" *)
IDELAYCTRL IDELAYCTRL(
	.REFCLK(clk200_clk),
	.RST(ic_reset)
);

Allows Vivado to generate a bitstream.
I have pushed the latest working code to the repository here.

Should the IDELAYCTRL primitive always have the keep property?

IDELAYCTRL is indeed a bit special: it has inputs but no outputs. So what probably happens is that without the KEEP attribute Yosys will just remove it and that's the expected behaviour for this kind of modules.

So what probably happens is that without the KEEP attribute Yosys will just remove it and that's the expected behaviour for this kind of modules.

Yep.
However, IDELAYCTRL does have an output: RDY. It is just unused in this design.
Regarding this script:
# hierarchy -top top
# proc; memory; opt; fsm; opt
attrmap -tocase keep -imap keep="true" keep=1 \
    -imap keep="false" keep=0 -remove keep=0
synth_xilinx -top top -edif top.edif

You definitiely want to run hierarchy before running attrmap, or attrmap will not do its magic in modules that are instantiated with parameters. We had this discussion before: always call hierarchy as the first command after reading the sources unles you have a really very good reason not to.

Should the IDELAYCTRL primitive always have the keep property?

Idk. Maybe. But if so then other modules should as well. I'm not going to add a module-level (* keep *) to IDELAYCTRL only. If you can come up with a reasonable criteria which modules should have keep set and provide me with the list of modules from cells_xtra.v that matches that criterie then I'll be happy to add the attribute.
(Just to clarify: You would of course not set it automatically on instances, which I think is what your wording implies. You'd just set it once on the module in cells_xtra.v and be done with it.)


Why only long press?

Please implement a option to only press,
would be much easier.
Thank you!!!!

Thanks for your feedback, that's a good idea. You can set delayDuration feature of the PieTheme to Duration.zero as a workaround for now. 👍

alright thankyou

@rasitayaz And if you click it again to dismiss?

You can dismiss by clicking outside of the center circle and the buttons, but it would be a nice feature to be able to dismiss by clicking at the center again, noted. 👍

@Tristannos you can now dismiss the menu by clicking it again with the version 1.1.0.


Update GraphValidationRules.ts

Cannot be represented:

Exactly one rtsp source must be present
Gated asset/file sinks must contain some dynamic variable in their file/asset name. (Like ${System.DateTime})

merged this as part of a different PR


24 failures when running all unit tests

OS: Mac OSX Mavericks
Brackets Version: sprint 39 development build 0.39.0-0 (test 4d968b2c2).
Repro  Steps:

Launch the Jasmine Spec Runner from Brackets
Select the All tab and click on All tests.

Expected Results:
All unit tests should pass.
Observed Results:
There are 24 total failures every time.  Ten failures in the URL Code Hinting and fourteen failures in the JavaScript Code Hinting.
Other Notes:
If you run the URL Code Hinting and JavaScript Code Hinting suites individually, they all pass.  If you select All unit tests from the Extensions tab, which also includes both these test suites, all tests pass.

We keep adding unit tests, so it's impossible as far as I know to run All/All unit tests. I created a wiki page with Tips and Tricks for running Brackets unit tests to help people work around this issue.

I'm closing this issue as resolved by documentation per @redmunds comment above.


Way to make objects non-searchable

Some objects, like all the identically named printers and perhaps all entrances, should not appear in the search bar.  Filter them out with a json tag.

Actually this already existed: "nosearch": true.  Added for printers.


rerender?

Issue:

Environment (conda list):

$ conda list

Details about  conda and system ( conda info ):

$ conda info

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I rerendered the recipe in conda-forge/scotch-feedstock#41.


Given a list of files, create a directory which links to them

Can a mounted volume in docker include symlinks? The goal is for containers to be light-weight: The data points to some other location, and the container itself is a thin layer on top of the image.

Symlinks didn't work on first try; hardlinks did. Fixed in #13


How to access the style colors outside of the main loop Frame

I want to write my own color-scheme. I imagine it is better and more efficient to change the colors directly with GetStyle().Colors[...] = ImVec4(…)
I would have to access this before frame is called the first itme. But since imgui-app encapsulates the whole startup process into the single imgui_app()function I can't call GetStyle(). The error message says it needs to be called in a context, but calling CreateContext() is not the right one, correct?
So… how do I change the colors permanently without pushing onto the temporary color stack each frame. OR maybe pushing to the stack is no problem?

Never mind.


[Request] $collection->next()

Hi @taylorotwell , wouldn't it be nice if we can get a collection's "previous" and "next" items by calling $collection->next() and $collection->previous()? If it's good to be implemented, it's only natural that $collection->current() should be implemented as well.
This will be specially useful when we're referring to a collection within a loop.
Eg:
for ($i = 1; $i <= 26; $i++) {
 echo $alphabet->previous();
 echo $alphabet->current();
 echo $alphabet->next();
 echo ':D';
}

This would print following
z
a
b
:D
a
b
c
:D
b
c
d
:D
...
...
...

Whaddyathink?

You have to get the Iterator first:
$collection = $collection->getIterator();
$current = current($collection);
$next = next($collection);

Call to undefined method App\Model::getIterator()
on collection item:
          $collection = $item->getIterator();

$current = current($collection);
$next = next($collection);
        @endphp

{{$next->id}}

        @php
          if($loop->last != $loop->index){
            $next = $items->get(--$loop->index)->amount;
          }else{
            $next = null;
          }

          $runningBalance = $balance = $balance - $next;
        @endphp

Have a look at https://github.com/spatie/laravel-collection-macros and methods after() and before()


[bug] TypeError: this.stopExclusion.catch is not a function

Version
Checklist:

[x] I am not using HomeAssistant. Or: a developer has told me to come here.
[x] I have checked the troubleshooting section and my problem is not described there.
[x] I have read the changelog problem was not mentioned there.

Build/Run method

[x] Docker
[ ] PKG
[ ] Snap package
[ ] Manually built (git clone - npm install - npm run build )

zwavejs2mqtt: 3.2.0
zwave-js: 7.1.1
Describe the bug
I tried to click on Stop exclusion when the counting down stuck on 0 s. But after that the whole daemon disappeared:
2021-04-10 13:23:37.545 INFO ZWAVE: Calling api startExclusion with args: [ [length]: 0 ]
2021-04-10 13:23:37.558 INFO ZWAVE: Controller status: Exclusion started
2021-04-10 13:23:37.559 INFO ZWAVE: Success zwave api call startExclusion { success: true, message: 'Success zwave api call', result: true }
TypeError: this.stopExclusion.catch is not a function
    at Timeout._onTimeout (/usr/src/app/lib/ZwaveClient.js:2283:37)
    at listOnTimeout (node:internal/timers:557:17)
    at processTimers (node:internal/timers:500:7)

To Reproduce
Steps to reproduce the behavior:

Start excluding a node
Wait for timeout
The exclusion will not stop properly, because the counter stuck on 0s
Try to close that with Stop button
And you get this error message

Expected behavior

The counting down stops properly
The Stop button doesn't kill the daemon with a type error

Additional context
In general, I use HA, but when I add/remove node I always turn off that to avoid unwanted states/nodes... e.g. when I add a new node, I always rename that, but the HA remembers the original ids...
zwavejs_1.log
Update1
You should not do magic for reproduction:

Start the exclusion
Wait the counting down

I bisected the bug and the zwavejs2mqtt: 3.0.3, zwave-js: 7.0.1 was the first bad version.

thx for the fast fix


Adding custom middleware

Is there a way to add custom store middleware?
Right now I making custom Admin component to do so.

No, there isn't. Can you explain your use case ?

So when I am building my application I require logger or it becomes very confusing while managing states. For adding a logger right now I made an exact copy of the Admin from the source code and then just added redux-logger in it. There can be other middlewares which can be used in similar way.

For the logger part, isn't the redux devtools enough ?

If you need a custom store, you'll have to swap the <Admin> component for a component of your own. Since <Admin> only has like 5 components, it shouldn't be too hard.

@fzaninotto do you have a good example for implementing the whole admin component with in a custom app? On docs I can see just AppBar and Routes example but when I try to implement the "MyLayout" things became to be complicated.


Remove version: CrystalDewWorld.CrystalDiskInfo.ShizukuEdition version 8.12.5

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://osdn.net/frs/redir.php?m=ipconnect&f=crystaldiskinfo%2F75685%2FCrystalDiskInfo8_12_5Shizuku.exe
Response Error: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
(Automated message - build 923)


Leading zeros stripped from string keys that cast to integers.

@michaelbpaulson I understand we're casting strings to ints, and it would seem this key could be a candidate for such a cast, but since my route is matching Router.keys, shouldn't the matcher skip the cast? I suppose if we have to cast, we should verify the new integer's digit count is the same as the original string.
var router = new Router([{
    route: 'lolomo',
    get: function(path) {
        return Rx.Observable.return({
            paths: [path],
            jsonGraph: {
                lolomo: $ref(["lolomos", "0123456789"]) // <-- bug part 1
            }
        })
        .do(function(x) {
            console.log(JSON.stringify(x));
        });
    }
}, {
    route: 'lolomos[{keys:lolomoID}][{keys:lists}]',
    get: function(path) {
        var lolomoID = path.lolomoID[0];
        console.log(lolomoID) // <-- bug part 2: should print String "0123456789" -- actually prints Number 123456789
        return Rx.Observable
            .from(path.lists)
            .reduce(function(lists, i) {
                lists[i] = $ref(["lists", i]);
                return lists;
            }, {})
            .map(function(lists) {
                var lolomos = {};
                lolomos[lolomoID] = lists;
                return {
                    paths: [path],
                    jsonGraph: { lolomos: lolomos }
                };
            })
            .do(function(x) {
                console.log(JSON.stringify(x));
            });
    }
}]);

"{keys}" should not cast to number.

Fixed in falcor-path-utils 0.5.1 by Netflix/falcor-path-utils#11.

when installing falcor-router for a server side project npm installs falcor-path-utils 0.5.0 as a dependency and I had to manually upgrade to 0.5.1 to fix this bug. Not a huge deal all in all but doesn't work out of the box.


Request for detailed error logging

The webpage sometimes throw clueless errors without giving any detail in the web console or the Python process stdout.
I cannot even file a proper bug report now. For the sake of troubleshooting, more details for errors are necessary.
For my current situation, I have attached 2 prompts below for a possible diagnosis.
https://minio.neruthes.xyz/oss/keep/tts/ne4-en.npz--497c87272d54025a6ee6bd910ac00ff8.npz
https://minio.neruthes.xyz/oss/keep/tts/ne5-zh.npz--e9bfa9f90806015d8a886c89d250174b.npz

This is because the audio you used to make the prompt is too long, which is unable to be handled by the model. See https://github.com/Plachtaa/VALL-E-X#why-the-model-fails-to-generate-long-text for detailed explanation.
If the AR model predicted only a EOS token, it cannot be decoded by the audio codec. The full error log is as follows:
VALL-E EOS [3700 -> 3701]
Traceback (most recent call last):
  File "/home/user/.pyenv/versions/3.10.13/lib/python3.10/site-packages/gradio/routes.py", line 442, in run_predict
    output = await app.get_blocks().process_api(
  File "/home/user/.pyenv/versions/3.10.13/lib/python3.10/site-packages/gradio/blocks.py", line 1392, in process_api
    result = await self.call_function(
  File "/home/user/.pyenv/versions/3.10.13/lib/python3.10/site-packages/gradio/blocks.py", line 1097, in call_function
    prediction = await anyio.to_thread.run_sync(
  File "/home/user/.pyenv/versions/3.10.13/lib/python3.10/site-packages/anyio/to_thread.py", line 33, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "/home/user/.pyenv/versions/3.10.13/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread
    return await future
  File "/home/user/.pyenv/versions/3.10.13/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 807, in run
    result = context.run(func, *args)
  File "/home/user/.pyenv/versions/3.10.13/lib/python3.10/site-packages/gradio/utils.py", line 703, in wrapper
    response = f(*args, **kwargs)
  File "/home/user/.pyenv/versions/3.10.13/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/home/user/app/app.py", line 325, in infer_from_prompt
    samples = vocos.decode(features, bandwidth_id=torch.tensor([2], device=device))
  File "/home/user/.pyenv/versions/3.10.13/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/home/user/.pyenv/versions/3.10.13/lib/python3.10/site-packages/vocos/pretrained.py", line 110, in decode
    x = self.backbone(features_input, **kwargs)
  File "/home/user/.pyenv/versions/3.10.13/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/user/.pyenv/versions/3.10.13/lib/python3.10/site-packages/vocos/models.py", line 78, in forward
    x = self.embed(x)
  File "/home/user/.pyenv/versions/3.10.13/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/user/.pyenv/versions/3.10.13/lib/python3.10/site-packages/torch/nn/modules/conv.py", line 313, in forward
    return self._conv_forward(input, self.weight, self.bias)
  File "/home/user/.pyenv/versions/3.10.13/lib/python3.10/site-packages/torch/nn/modules/conv.py", line 309, in _conv_forward
    return F.conv1d(input, weight, bias, self.stride,
RuntimeError: Calculated padded input size per channel: (6). Kernel size: (7). Kernel size can't be greater than actual input size

Thank you. I will try using a shorter voice signature sample. BTW is there any specific magic number that you can suggest? For example, no more than X words and/or no more than Y seconds.

personally I recommend 2~6 seconds


When requesting a compressed response, SBS code fails

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
When requesting a compressed response from the graphql server with SBS, the execution fails.
Steps to reproduce

In the startup configuration, we add a SBS client, and add the accept encoding as follows:

services   .AddOurGraphQlClient()   .ConfigureHttpClient((_, client) =>     {       // ...       client.DefaultRequestHeaders.AcceptEncoding.ParseAdd("gzip,br");     }

Execute a request

Relevant log output
at StrawberryShake.Response`1..ctor(TBody body, Exception exception)
   at StrawberryShake.Transport.Http.HttpConnection.<ExecuteAsync>d__3.MoveNext()
   at StrawberryShake.Transport.Http.HttpConnection.<ExecuteAsync>d__3.System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult(Int16 token)
   at StrawberryShake.OperationExecutor`2.<ExecuteAsync>d__5.MoveNext()
   at StrawberryShake.OperationExecutor`2.<ExecuteAsync>d__5.MoveNext()

Additional Context?
Adding the line
client.DefaultRequestHeaders.AcceptEncoding.ParseAdd("gzip,br");
to the configuration causes the exception.  Removing it makes it work again.
Product
Strawberry Shake
Version
12.15.2

You need to configure automatic decompression:
.ConfigureHttpClient(
    httpClient =>
    {
        httpClient.BaseAddress = new Uri("https://workshop.chillicream.com/graphql");
        httpClient.DefaultRequestHeaders.AcceptEncoding.ParseAdd("gzip,br");
    },
    httpClientBuilder =>
    {
        httpClientBuilder.ConfigurePrimaryHttpMessageHandler(
            () => new HttpClientHandler()
            {
                AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Brotli
            });
    });


Use warrior version

This updates many dependencies to use the warrior branch. This may need
to be modified once the warrior branch is merged https://github.com/armPelionEdge/meta-pelion-edge/pull/84

Merging, as this has been open too long and meta-pelion-edge is already using warroir.


\page as Marked token

This PR is to demonstrate the use of \page as a Marked token, allowing us to render the entire document in a single Marked.parse call, rather than breaking up the document into individual pages as a preprocessing step.
This should immediately create unique heading IDs throughout the document (or at least, the ones created by Marked will be unique), and allow other future enhancements to affect the entire document, rather than just one page.

as  noted today on gitter, we might want to transform link references into actual links when rendering, otherwise the reference is not found and the links become invalid

as  noted today on gitter, we might want to transform link references into actual links when rendering, otherwise the reference is not found and the links become invalid

This might not be an issue, I believe that ref link definition values are generated at tokenization, if so being modified prior to rendering will not affect the ref link calls. They might not even leave a token to be modified.

Do you happen to have a nice long, heavy V3 document to test the performance of this?

Going to close this in favor of #3156
However thank you for your work here, @G-Ambatte . I think this revealed the way forward and lessons learned will help get variables working.


Cart -    - [ ] If product exists in cart, increment the quantity in cart by 1

[ ] Navbar link to Cart page
[ ] If a product's "Add to Cart" is clicked and that product already exists in the cart, increment the quantity in cart by 1


About Swipeable Tabs

when I used Swipeable Tabs, I found a  mistake:
If  one of the tabs's height value is too big, when i  changed to another  tab, the  tab will show  a  huge  blank area！
how can I resolve it！

I am unable to reproduce this issue http://framework7.io/docs-demos/tabs-swipeable.html

I have same issue.
There is about same amount of text in all tabs in this example: http://framework7.io/docs-demos/tabs-swipeable.html That's why there is no difference.
If there is a lot of of text in Tab1 and some text in Tab2. Then it will create a scroll and huge blank area on Tab2.. Also if you're at the bottom of Tab1 and swipe to Tab2. It will display bottom of Tab2 with blank area. Have to scroll up to see the actual content in Tab2.
Any solution for this?


Override Activitylog resource

Hi! Thanks a lot for this nova package!
Could you please help me to override your Activitylog resource? Trying within NovaServiceProvider or my custom service provider - no success...
I would override fields method to output user name instead of id, but can't find the way. Maybe you could help...
Thanks!

You my look the Customize  section in the README file, create your owner resource file extends the original like this and override the fields method:
class Activity extends Activitylog
{
//...

    public function fields(Request $request)
    {
        return [
            ID::make()->sortable(),

            Text::make('Description'),
            Text::make('Subject Id'),
            Text::make('Subject Type'),

            Text::make('Causer', 'causer_id')->displayUsing(function ($user_id) {
                return \App\User::find($user_id)->name;
            }),

            Text::make('Causer Ip', 'properties->ip')->onlyOnIndex(),
            Code::make('properties')->json(JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE),
            DateTime::make('created_at'),
        ];
    }

//...
?>

Got it! :-) I tried just to "rebind" a resource with the inherited, with the same name via Laravel DI instead of getting a new name and override it within config...
Works as you said, thank you :+1:

I'm having a similar problem but I think I'm missing something:

I've created a resource, Customactivitylog, in the app/Nova directory, that overrides Activitylog from your package
But I'm not sure what config value to provide?

Sorry, for some reason Nova wasn't registering the new resource. For other folk, adding:
protected function resources()
{
    parent::resources();
    Nova::resources([
        \Yourcustomactivitylog::class
    ]);
}

to NovaServiceProvider.php then using the resource name yourcustomactivitylogs in the tool config will work


Remove ldaptive-beans dependency.

Add netty aarch dependencies.

I  couldn't find any dependencies on org.ldaptive.beans but I also couldn't get the gradle build to complete. So please check my work.

Thank you Daniel. This looks just fine, and I see all tests passing. Let's proceed.


Update Endpoint: /tools/get-city-configuration

Right now the current format is:
/{version}/{cityname}/tools/get-city-configuration
In some cases, it may make sense to query all versions in one request, rather than splitting requests based on v1/v2/etc.
The {version} route should accept the word all, similar to how {blockheight} accepts current.
This would need to be updated in the handler and defined in the OpenAPI spec, but should be a pretty straight-forward change.

This would be better off as it's own endpoint for /{cityname}/tools/get-full-city-configuration
The return type is a different shape and it would deviate from the 1 request 1 response pattern.


TEBD feature for QuimbBackend

The new TEBD feature under QuimbBackend to calculate entropy, schmidt gap, and z-magnetization values, given a qibo circuit containing hamiltonian, is a Work-in-Progress.
Files changed: quimb.py and eval_qu.py
quimb.py
Added support for the new computation setting for TEBD_enabled runcard option
eval_qu.py
Implemented 3 functions corresponding to calculation of entropy, schmidt gap, z-magnetization values using quimb
(PR from forked repo is able to merge but feature is WIP)

It was found that quimb's APIs for TEBD and it's calculations of such above mentioned physical quantities cannot be directly used as there is incompatibility with Qibo. A new design strategy using Trotter decomposition in Qibo is now a WIP which will be updated as a new issue soon.

Would you explain what the incompatibility consists of?
Moreover, it would be easier to follow the evolution of the PR, would you open a draft PR? Even from the forked repo, there is no problem with that.

The incompatibility was due to the physical quantities like entropy not being mappable to a result.state(). Since qibotn's usage is based on execution of circuit using result.state() in qibo to find the final state, a value like entropy could not be directly returned. There is no PR for this as we have now taken a different approach to this feature as discussed with Dr @liweintu, vinitha, and nitin. But the old approach is available in my forked repo.
I'd like to take this opportunity to share the new approach and also share a 2 page feature document I created to better the understanding of the input layer, main layer, and output layer of the feature as well as to highlight a few challenges.
Briefly, Trotter decomposition in qibo lets users write a circuit with a hamiltonian where the hamiltonian gets stored as qibo.gates.Unitary. It works only with symbolic or built-in hamiltonians with dense=False. This means that qibotn’s current structure that is able to only deal with circuits and not directly hamiltonians, can further be extended to do TEBD by using this method for input.
Usage:
ham = hamiltonian.XXZ(nqubits=5)
            circuit = ham.circuit(dt=1e-2)

TEBD Feature document.docx

Sure and thank you!

PR raised #63


Update to the newest HA version if you get this error: cannot import name 'AlarmControlPanelState' from 'homeassistant.components.alarm_control_panel'

Describe the bug
This wasn't working for v0.6.16 either, now running pyloxone 0.7.0 and it is still there. Re-install didn't help, please see log below.
Let me know if you need anything else.
Firmware of your Miniserver
<IP_ADDRESS>
HomeAssistant install method
Hassio
Version of HomeAssistant
2024.10.4
Version of Pyloxone
0.7.0
Update pyloxone
yes
Log
Logger: homeassistant.config_entries
Quelle: config_entries.py:594
Erstmals aufgetreten: 19:59:26 (3 Vorkommnisse)
Zuletzt protokolliert: 20:00:18
Error setting up entry PyLoxone for loxone
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 594, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/loxone/init.py", line 193, in async_setup_entry
await hass.config_entries.async_forward_entry_setups(config_entry, LOXONE_PLATFORMS)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2147, in async_forward_entry_setups
await integration.async_get_platforms(platforms)
File "/usr/src/homeassistant/homeassistant/loader.py", line 1177, in async_get_platforms
import_future.result()
File "/usr/src/homeassistant/homeassistant/loader.py", line 1177, in async_get_platforms
import_future.result()
File "/usr/src/homeassistant/homeassistant/loader.py", line 1177, in async_get_platforms
import_future.result()
[Previous line repeated 8 more times]
File "/usr/src/homeassistant/homeassistant/loader.py", line 1165, in async_get_platforms
platforms.update(self._load_platforms(platform_names))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1090, in _load_platforms
platform_name: self._load_platform(platform_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1264, in _load_platform
cache[full_name] = self._import_platform(platform_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1296, in _import_platform
return importlib.import_module(f"{self.pkg_path}.{platform_name}")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/util/loop.py", line 200, in protected_loop_func
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/importlib/init.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "", line 995, in exec_module
File "", line 488, in _call_with_frames_removed
File "/config/custom_components/loxone/alarm_control_panel.py", line 8, in
from homeassistant.components.alarm_control_panel import (
ImportError: cannot import name 'AlarmControlPanelState' from 'homeassistant.components.alarm_control_panel' (/usr/src/homeassistant/homeassistant/components/alarm_control_panel/init.py)

@prophylaxe update to the newest home assistant version..

Thanks, forgot about that.
The latest HA update solved it again. So no more pyloxone errors anymore :)

Thanks, forgot about that.
The latest HA update solved it again. So no more pyloxone errors anymore :)


Question about SWDIO/SWCLK on USB

As the title implies .. this isn't actually an issue but a question.
I scrolled through my GitHub dashboard, saw this project and opened up the project in KiCad ... that's when I saw that you routed SWDIO and SWCLK on the SBU lines of the USB receptacle.
At least it's not on D+/D-, I guess?
But I was wondering: is there a precendent for this? Is this okay? Is there a programming adapter using this exact wiring?

No, as far as I'm aware this even violates the USB-C specification. I'd not recommend doing it in any design where the board is expected to be connected to a real USB port with actual DFP/UFP functionallity. I'll likely use it with USB-C power supplies only, thus I thought it might be interesting to try SWD on the SBU pins at least once.

No, as far as I'm aware this even violates the USB-C specification. I'd not recommend doing it in any design where the board is expected to be connected to a real USB port with actual DFP/UFP functionallity. I'll likely use it with USB-C power supplies only, thus I thought it might be interesting to try SWD on the SBU pins at least once.

I see. Too bad. Thanks!

I'll likely use it with USB-C power supplies only, thus I thought it might be interesting to try SWD on the SBU pins at least once.

You'd need a cut-open cable or a breakout board for that though, correct? Or how do you plan to use it?

I see. Too bad. Thanks!

I'll likely use it with USB-C power supplies only, thus I thought it might be interesting to try SWD on the SBU pins at least once.

You'd need a cut-open cable or a breakout board for that though, correct? Or how do you plan to use it?

I've some USB-C breakout boards (basically just hacked up boards from former projects) I'll use for SWD + Power.

I've some USB-C breakout boards (basically just hacked up boards from former projects) I'll use for SWD + Power.

FYI and as a reference for my future self: @alvarop posted a Twitter thread where they developed a "proper" way to do this using the Debug Accessory Mode.
https://mobile.twitter.com/alvaroprieto/status/1495860045728395278 (archive)


Pose detection is failing on Vulkan backend

Issue description
This is the result on Vulkan

This is the result on Metal backend.

You can clearly see that Vulkan one is dreadfully wrong.
Steps to reproduce
Run the res://scenes/pose_detection/pose_detection.tscn on operating system that uses Vulkan backend (Windows and android).
Minimal reproduction project (For SDK or engine issues)
No response
Using a released version?
v0.0.2
What OS? Any other relevant information? (iree.gd revision, System information)
Windows 11

Although there is an alternate model that seems to work, I'll still make this thing remain open for IREE side to check out what happened.

Joseph — Yesterday at 14:10
I know the post is old as heck, but I forgot to reply.  :rip:
When the model goes off the rails like this it can sometimes be because rows and columns get flipped.  I had an issue with a pose model a year and change ago that came about for two reasons: first is it was trained on BGR instead of RGB and second was it got all the images in column-major instead of row-major because of silly matrix ordering, so all the images were effectively rotated 90 degrees.  It worked a bit, but not great, for these reasons.  Might be worth checking if either is still a problem.

Ivorius — Yesterday at 15:14
Sounds reasonable. transpose and try again!

The current release is still broken even if it is fixed on the master.

Closing due to workaround shipped in https://github.com/iree-gd/iree.gd/releases/tag/v0.0.3


cannot duplicate result

I used the original code as well as the ml-1m data listed in the repo. But the loss didn't drop since 10000 iteration, final loss remained on about 5.12. Is there any preprocessing do I need to do before training? Thanks!

I used the original code as well as the ml-1m data listed in the repo. But the loss didn't drop since 10000 iteration, final loss remained on about 5.12. Is there any preprocessing do I need to do before training? Thanks!

@blacksingular were you able to reproduce the results successfully?


Windows vscode remote usage

Hi,
I have a problem. This solution doesnt work with remote dev on SSH session on VScode.
I run the npm run dev command in a bash opened in VScode but when i click on a compoenent in the browser it open the file in vim instead of Vscode.
Has anyone had the problem before?
Thanks in advance

Maybe you can fix it by adding the following configuration in your VS Code settings.json .
"terminal.integrated.env.linux": {
  "EDITOR": "code"
 }

This plugin is using Vite internal launch editor feature. The upstream issue is: https://github.com/yyx990803/launch-editor/issues/16#issuecomment-1435775182


Web_Socket_Server: Chainstats failure {"name":"block_stats() error","code":500,"details":{"code":"ECONNRESET"}}

I'm running this application, but application is not getting loaded properly and is giving this error:
Web_Socket_Server: Chainstats failure {"name":"block_stats() error","code":500,"details":{"code":"ECONNRESET"}}
Please let me know whats going wrong?

How (and/or where) are you running the application?

closing, issue seems abandoned


Im having issues with $index/index

So from what i was hoping/understood index should return the actual $index from the array. So my model has a list of 5 items all with indexes, but when when i run this line.
$scope.onDrop = function($index){console.log($index)}
I get this when i console log this is what i get back, but there is no actual index, like 1,2,3, etc...
[Log] Object (PhotoplanFloorplanCtrl-b60ba29d101044bbde33244ef25aa3d6.js, line 20)
altKey: false
bubbles: true
button: 0
buttons: undefined
cancelable: true
clientX: 573
clientY: 301
ctrlKey: false
currentTarget: #document {embeds: HTMLCollection [], plugins: HTMLCollection [], scripts: HTMLCollection, all: HTMLAllCollection, …}
data: null
delegateTarget: #document {embeds: HTMLCollection [], plugins: HTMLCollection [], scripts: HTMLCollection, all: HTMLAllCollection, …}
eventPhase: 3
fromElement: null
handleObj: {type: "mouseup", origType: "mouseup", data: null, handler: function, guid: 420, …}
isDefaultPrevented: function()
isTrigger: 3
jQuery111304540524990297854: true
metaKey: false
namespace: ""
namespace_re: null
offsetX: 21
offsetY: 14
originalEvent: {originalEvent: MouseEvent, type: "mouseup", isDefaultPrevented: function, timeStamp:<PHONE_NUMBER>265, jQuery111304540524990297854: true, …}
pageX: 573
pageY: 510
relatedTarget: null
result: undefined
screenX: 600
screenY: 363
shiftKey: false
target: img.ng-scope.ui-droppable {jQuery111304540524990297854: 313, name: "", align: "", alt: "", border: "", …}
timeStamp:<PHONE_NUMBER>265
toElement: img {name: "", align: "", alt: "", border: "", crossOrigin: "", …}
type: "drop"
view: Window {undefined: undefined, window: Window, NaN: NaN, dialogModule: Object, document: #document, …}
which: 1
Object Prototype
Am i missing something here? I have tried everything from id, to item.id to item.index. Im being driven up a wall trying to figure out this problem. Does index just not actually return the index? And if so how can i get the index? I have two ng-repeats, and i need some kind of identifier for these.
Any help is really appreciated, thank you. Im also willing to send more code if needed.

Yeah, because the first two arguments are event and ui so the index will be available in the third parameter.
$scope.onDrop = function(event, ui, $index){console.log($index)}


kubectl --dry-run=server

any specific reason why you are covering --dry-run=client and not --dry-run=server?
--dry-run=server will produce better results when trying to validate the Kubernetes files:
https://github.com/datreeio/kubernetes-schema-validation#misconfigurations-coverage-summary

Related issue. kubernetes#51475. --dry-run=client should not require access to the kube API.

Interesting!
I didn't know that.


QueryFilter is not being applied to related entities

QueryFilter is not being applied to related entities. When I define a soft-delete filter, it works only when accessing the main entity set of the context. But when I access child collections of an entity, the filter is not applied.
Our Query Filter is defined like this:
ctx.Filter<HQBaseEntity>("IsDeleted", q => q.Where(x => !x.DeletedOn.HasValue));
It generally works, because the DeletedOn IS NULL is correctly applied to the WHERE clause when accessing entities like this:
var nonDeletedDocument = ctx.Documents.Where(d => d.Id == 4101);
SELECT TOP (2)
    [Extent1].[Id] AS [Id],
    [Extent1].[ShownDate] AS [ShownDate],
    [Extent1].[ValidUntilDate] AS [ValidUntilDate],
    [Extent1].[SentOn] AS [SentOn],
....
    [Extent1].[UpdatedOn] AS [UpdatedOn],
    [Extent1].[UpdatedBy] AS [UpdatedBy],
    [Extent1].[DeletedOn] AS [DeletedOn],
    [Extent1].[DeletedBy] AS [DeletedBy]
    FROM [dbo].[Document] AS [Extent1]
    WHERE ([Extent1].[DeletedOn] IS NULL) AND ([Extent1].[Id] = @p__linq__0)
-- p__linq__0: '4101' (Type = Int32, IsNullable = false)

However, EF-Plus Query Filter does not apply our Deleted filter when accessing entities like this:
var nonDeletedPositionLinks = nonDeletedDocument.DocumentPositionToDocuments;
Here is the query generated by EF-Plus Query Filter when accessing child collections. It is missing the WHERE clause for the DELETED IS NULL:
SELECT
    [Extent1].[Id] AS [Id],
    [Extent1].[Amount] AS [Amount],
    [Extent1].[Order] AS [Order],
    [Extent1].[IsCompleted] AS [IsCompleted],
    [Extent1].[Text] AS [Text],
....
    [Extent1].[UpdatedOn] AS [UpdatedOn],
    [Extent1].[UpdatedBy] AS [UpdatedBy],
    [Extent1].[DeletedOn] AS [DeletedOn],
    [Extent1].[DeletedBy] AS [DeletedBy]
    FROM [dbo].[DocumentPositionToDocument] AS [Extent1]
    WHERE [Extent1].[DocumentId] = @EntityKeyValue1
-- EntityKeyValue1: '4101' (Type = Int32, IsNullable = false)

We were using DynamicFilters (https://github.com/jcachat/EntityFramework.DynamicFilters) before, which applies the query filter also to child collections. This filter fails, however, when used in combination with EF+.

Hello Sebastian,
Just to let you know we have not abandoned this issue. We are still looking how to make it work.
Unfortunately, we have a difference strategy than EntityFramework.DynamicFilters, so we are still searching how to achieve it within our library.

Hi, thank you! If there is any way I can help, let me know.

Hi, are there any updates on this issue? We're about to purchase EF+ for the Batch SaveChanges, but are currently not able to completely use it due to this filter issue.

Hello Sebastian,
I will try to pass a full day about the issue this weekend. I will give you an answer shortly.

Hello Sebastian,
We are making great progress!
Unfortunately for us, Lazy Loading do not use LINQ query.
Here is basically how lazy loading work:

Generate a template SQL text using some entity field
Parse the template to an expression tree
Use DbExpressionVisitor interceptor
Generate the SQL from the expression tree

The only place we can change the expression tree is at step 3 as EntityFramework.DynamicFilters do.
However, we don't want to use the same technic as EntityFramework.DynamicFilters do since they create themselves the filter for the DbExpression. So as soon as someone is using something they don't support, that break the code.
We instead try to use the filtered expression and let Entity Framework do all the job.
We successfully make it work with some basic LINQ method like Where, Take, etc. however the code is still at prototype step.
We will continue to work on it today. I'm pretty sure by the end of the day, I will be able to provide a release date or maybe a beta version.

Hi,
that sounds great, can't wait to try it out!
Thanks a lot!

Hello Sebastian,
Yesterday we faced a very strange issue. I worked until 5AM to try out to understand it unsuccessfully. That's why we have not released a version yesterday.
However, today, we successfully fixed it and all the code has passed all our unit test.
We are currently cleaning up the code. I must leave in less than one hour, so I will try to release a version this night if I'm not back to late otherwise tomorrow morning.

Hello Sebastian,
As you probably are already aware, the EF+ Query Filter has been completely re-written and work differently from the previous version.
We are proud to announce you a beta version is now available (v1.3.13-beta)
https://www.nuget.org/packages/Z.EntityFramework.Plus.EF6/1.3.13-beta
There is still some refactoring work to do and to make sure to better manage concurrency scenario but this version should be enough stable to let you test all the filter features.
It works exactly like the previous version, only the QueryFilterManager.InitilizeGlobalFilter method will probably be removed on the stable version since it's now obsolete but is still exists in the BETA version.
We will wait for your feedback before releasing a stable version. From our side, we will complete the refactoring this weekend since we are late in our roadmap for this week.

Hi, thanks for the effort! I tried it out today and it works for the related entities!
However, now I am receiving errors from what seems as within EF+:
"DbExpressionBinding requires an input expression with a collection ResultType.\r\nParameter name: input"
at System.Data.Entity.Core.Common.CommandTrees.ExpressionBuilder.DbExpressionBuilder.BindAs(DbExpression input, String varName)
at System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpressionBinding(DbExpressionBinding binding)
at System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpressionBindingEnterScope(DbExpressionBinding binding)
at System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.Visit(DbFilterExpression expression)
at System.Data.Entity.Core.Common.CommandTrees.DbFilterExpression.Accept[TResultType](DbExpressionVisitor1 visitor)    at Z.EntityFramework.Plus.DbScanExpressionVisitor.ApplyFilter(DbExpression baseExpression, String fullName)    at Z.EntityFramework.Plus.DbScanExpressionVisitor.Visit(DbPropertyExpression expression)    at System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression.Accept[TResultType](DbExpressionVisitor1 visitor)
at System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpression(DbExpression expression)
at System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitUnary(DbUnaryExpression expression, Func2 callback)    at System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.Visit(DbIsNullExpression expression)    at System.Data.Entity.Core.Common.CommandTrees.DbIsNullExpression.Accept[TResultType](DbExpressionVisitor1 visitor)
at System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpression(DbExpression expression)
at System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitUnary(DbUnaryExpression expression, Func2 callback)    at System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.Visit(DbNotExpression expression)    at System.Data.Entity.Core.Common.CommandTrees.DbNotExpression.Accept[TResultType](DbExpressionVisitor1 visitor)
at System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpression(DbExpression expression)
at System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.Visit(DbFilterExpression expression)
at System.Data.Entity.Core.Common.CommandTrees.DbFilterExpression.Accept[TResultType](DbExpressionVisitor1 visitor)    at System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpression(DbExpression expression)    at System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.Visit(DbLimitExpression expression)    at System.Data.Entity.Core.Common.CommandTrees.DbLimitExpression.Accept[TResultType](DbExpressionVisitor1 visitor)
at Z.EntityFramework.Plus.QueryInterceptorFilterDbCommandTree.TreeCreated(DbCommandTreeInterceptionContext interceptionContext)
at System.Data.Entity.Infrastructure.Interception.DbCommandTreeDispatcher.b__0(IDbCommandTreeInterceptor i, DbCommandTreeInterceptionContext c)
at System.Data.Entity.Infrastructure.Interception.InternalDispatcher1.Dispatch[TInterceptionContext,TResult](TResult result, TInterceptionContext interceptionContext, Action2 intercept)
at System.Data.Entity.Infrastructure.Interception.DbCommandTreeDispatcher.Created(DbCommandTree commandTree, DbInterceptionContext interceptionContext)
at System.Data.Entity.Core.Common.DbProviderServices.CreateCommandDefinition(DbCommandTree commandTree, DbInterceptionContext interceptionContext)
at System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlanFactory.CreateCommandDefinition(ObjectContext context, DbQueryCommandTree tree)
The Linq query is similar to this: ctx.ContactPersons.FirstOrDefault(c => c.Company != null);
Let me know if you need any more information on this.

This issue is fixed in the v1.3.14
https://www.nuget.org/packages/Z.EntityFramework.Plus.EF6/1.3.14-beta
However, that bring a whole new kind of filter!
We normally filter on a collection to let using Where, Take, Skip, etc. clause.
In this situation, we don't filter anymore a collection but directly the entity! Filtering directly an entity is still not supported but I will look at this issue this night.
I believe if we really want to support some situation fully, we should be able also to filter the entity directly when a LINQ like the one you provided is ussed.

Closing: Issue has been fixed in v1.3.14


fix(resolve): Report incompatible packages with precise Rust version

What does this PR try to resolve?
In #14401, we reported about MSRV issues as if we were the resolver.  We can be smarter than that though and report precise MSRV information.  This allows us to elevate the message from color from yellow to red.
This is also prep work for telling users when a newer, MSRV-compatible version of a package is available.
How should we test and review this PR?
The report function I added is a little odd because a follow up commit will update it to report when a package is incompatible with rustc when the MSRV resolver is disabled and do this on stable.
Additional information
This builds on #14445 to improve #14401

Thanks!
@bors r+

:pushpin: Commit 3e315518c623b6debfb7aee5ffb3bd7478e6b338 has been approved by ehuss
It is now in the queue for this repository.

:hourglass: Testing commit 3e315518c623b6debfb7aee5ffb3bd7478e6b338 with merge b8a4f1bc2d113b7d287ed528bf0a4a7661035d6f...

:sunny: Test successful - checks-actions
Approved by: ehuss
Pushing b8a4f1bc2d113b7d287ed528bf0a4a7661035d6f to master...


Added dotenv package to load environment variables from .env files.

Many people add their environment vars in a .env file. In this project, to load BOT_TOKEN environment variable from .env file I added dotenv package.
Dotenv is a zero-dependency module that loads environment variables from a .env file into process.env.

Just saw this, can you see that CI is failing? I can't speak for @EdJoPaTo who is the maintainer here, but most likely it's a good idea if you fix up your changes so that CI passes :)


Directions to PokéStops and Gyms

This would be an enhancement. Is it possible to make the PokéStop and Gym annotations clickable which open with directions in Apple Maps? Just like the Pokémon annotations.
This would be wonderful! :)

Yes, I just finished working on the Pogom server part, so I'm going to work on this asap :)


Merge pull request #1 from docker/master

Interested in exploring docker codebase

closing as there's nothing here.

See: https://github.com/docker/docker/blob/master/CONTRIBUTING.md


Remove non-standard cgroups mount from generated config

Needed for runc runtime validation to pass after #81
Signed-off-by: Mrunal Patel<EMAIL_ADDRESS>

On Tue, Jun 07, 2016 at 02:29:35PM -0700, Mrunal Patel wrote:

Remove non-standard cgroups mount from generated config

This is the default since #48, no?

@wking Hmm, yes, let me test again.

Confirmed that this ins't required. Thanks!


Flutter Engine -> Framework roller is backed up for 36 commits

This is caused due to multiple issues:

[x] https://github.com/flutter/flutter/issues/106137
[x] https://github.com/flutter/flutter/issues/106151

update:  https://github.com/flutter/flutter/issues/106136 was a false flag.

x-ref: https://github.com/flutter/tests/pull/135

fixed by: https://github.com/flutter/flutter/pull/106162


[Supporting ENG-1448] Test Boys Town's New SAML Auth on the Test Server

Purpose
Boys Town is switching from email domain whitelisting to SAML for auth. Let the institution verify first on the test server.
DevOps Note: Test Server Only

[x] Update Jetty server settings and add the following piece to the  SAML part of the institutions-auth.xsl file.

<!-- Boys Town [PROD & Test] (BT) -->
<!-- Prod and Test IdP of Boys Town share the entity ID but the metadata itself is different. -->
<xsl:when test="$idp='https://sts.windows.net/e2ab7419-36ab-4a95-a19f-ee90b6a9b8ac/'">
    <id>bt</id>
    <user>
        <username><xsl:value-of select="//attribute[@name='mail']/@value"/></username>
        <fullname><xsl:value-of select="//attribute[@name='displayName']/@value"/></fullname>
        <familyName><xsl:value-of select="//attribute[@name='sn']/@value"/></familyName>
        <givenName><xsl:value-of select="//attribute[@name='givenName']/@value"/></givenName>
        <middleNames/>
        <suffix/>
    </user>
</xsl:when>

[x] Update Apache server settings by adding Boys Town to the IdP list in shibboleth2.xml

<!-- Boys Town [Test] -->
<MetadataProvider type="XML" path="bt-idp-test-metadata.xml" />

[x] Add bt-idp-test-metadata.xml to the folder where shibboleth2.xml resides. The file is attached to the ticket: https://openscience.atlassian.net/browse/ENG-1448

[ ] Deploy CAS

[ ] Merge and Deploy OSF

[ ]  Run the institution population script to update Boys Town

Changes
Refer to the code diff.
QA Notes
Dev QA and with institutions.
Documentation
N / A
Side Effects
Refer to comments.
Ticket
Related Tickets and PRs

Ticket for Prod Server: https://openscience.atlassian.net/browse/ENG-1448
CAS PR: https://github.com/CenterForOpenScience/cas-overlay/pull/179

Cherry-picked as ca9e36419bf06530a3aed2357b8e1e2487fd8f33, consider this merged :octocat:


Add UDP

Can this even be done? UDP is fire and forget..no connection acks?


[Bug]: Breaking changes in Coveo Headless version update from 2.12.0 to 2.16.2

Which product are you using?
Headless
product version
2.16.2
bug description
When we try to update from 2.12.0 to the latest headless version (2.16.2) without any other code changes on our side, its throwing  "ReferenceError: TextDecoder is not defined" while running test cases.
Additional Details

We see this issue happening starting from version 2.12.1.
We are using Jest and React Testing Library for test cases.
Node version : 16.16.0

Steps to reproduce
While running test cases using jest we see the above error pointed at the code which imports methods from '@coveo/headless'.
Attached log output from a failing test case as described.
Relevant log output
ReferenceError: TextDecoder is not defined

    >  9 | import {buildResultList} from '@coveo/headless'
         | ^

I'm unable to reproduce this issue. Could you provide a minimal reproductible example?
The references I see to TextDecoder in our code import it from web-encoding, which is defined in the dependencies of @coveo/headless, and tries to find WebEncoding globally from the browser. We haven't updated web-encoding in a while, so I'm not sure why this error is only happening now 🤔
I see this bit in our React unit tests which may be relevant for your issue: https://github.com/coveo/ui-kit/blob/e2a4e74f45997b0fdfdc8dba3f1f8f393f448a07/packages/samples/headless-react/jest.setup.js

@btaillon , I'm working on this with @sudhinm .
The sample jest setup you've shared does work for us (for v2.16.2). Thanks for that!

We haven't updated web-encoding in a while, so I'm not sure why this error is only happening now

About this, we noticed in the v2.12.1 release changes, web-encoding seems to have been removed from the built global scope here. Which is possibly why this error started popping up from v2.12.1 onwards.
Just wanted to check, if there are any plans to bring it back in future releases, as this does require some extra config to our jest code ?
Thanks!

The sample jest setup you've shared does work for us (for v2.16.2). Thanks for that!

Awesome! Glad this works.

About this, we noticed in the v2.12.1 release changes, web-encoding seems to have been removed from the built global scope here. Which is possibly why this error started popping up from v2.12.1 onwards.
Just wanted to check, if there are any plans to bring it back in future releases, as this does require some extra config to our jest code ?

These lines of code were originally there because web-encoding was getting downloaded to a location that our bundler couldn't find, and we removed it when it was no longer necessary.
However, I do see that this affected the final bundle, which now invokes web-encoding instead of importing it. I'm looking into it.

We've decided to not include the polyfill, as it has a pretty negative impact of the final bundle size.
We're talking about 15-20% increase in some cases, for something that is ultimately only really needed for test scenarios.


Update list

When new scripts are added to package.json, there is no way to update the list of scripts in the panel without restarting vscode.
Needs like a refresh icon like the explorer panel.

@WORMSS not sure which extension you are using, but the npm script extension bundled with VS Code has a refresh button.

@egamma You are indeed correct, I seem to have an extension installed.
How do you get to the npm script extension bundled with VS Code?

@WORMSS you already have it, just enable it using the setting npm.enableScriptExplorer.

Yes, I understood I had it already. That is what built-in means obviously.
This was why I was asking how to get to it. As I was looking around Open view and and right clicking everywhere to see where the hell it had been hidden. I seen that the built in extension was enabled from @builtin npm but it was just nowhere to be seen.

@WORMSS agreed the discoverability isn't great. I didn't want to show it by default to not pollute the Explorer. However, since you mention you looked in 'Open View..." I'll look into supporting that the npm script explorer is visible in Open View but not visible in the Explorer by default.

Thank you. 👍
I just noticed (I opened up a different project). And it shows submodules too (which the other extension didn't do).. Very nice.


Scale apps in torpedo

/closes #98

After talking to @harsh-px, this is how we should do it:

take the scale factor from scheduler/k8s.go, which gets the deployment/stateful set and send the replica set number
call the Inst().S.ScaleApplication(ctx, changedScaleFactor)

this changed scalefactor will decide whether you scale up or down and directly pass it to the update deployment/stateful set method. we don't need the up and down constants as well