The behavior for omitted runAsUser is not clear and insecure.

This is a Bug Report
Problem:
Short Version
With k8s 1.13.6, when I don't set runAsUser in securityContext, the container is started with root(0) user even when the default user of the container is different. This issue does not exist in 1.13 doc. Also, I believe this behavior is insecure.
Long Version
When I am trying to test my app with k8s 1.13.6, I encountered some issues regarding runAsUser field. I checked the documentation and saw this part.
https://github.com/kubernetes/website/blame/master/content/en/docs/tasks/configure-pod-container/security-context.md#L54
When I checked 1.13 doc, I didn't see this part. See: https://v1-13.docs.kubernetes.io/docs/tasks/configure-pod-container/security-context/
However, as I said, I am using k8s1.13.6.
Now, the problems:

There is no direct mention for the omitted runAsUser field.
If it is set as root(0) when it is omitted for k8s 1.13 too, k8s 1.13 doc should contain this behavior.
Are you really sure about this behavior? I believe default behavior should be more restrictive. Image owners may set a different user as the default user for some security concerns and k8s -as container orchestrator- should not change the behavior in a lower layer.

Proposed Solution:
This behavior should be clarified in the k8s docs. Also, the behavior should be reconsidered again.
Page to Update:
https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
How to reproduce this issue
I built a new docker image for testing this issue. I set the default user of alpine image as postgres.
Dockerfile: https://hub.docker.com/r/erkanerol/alpine/dockerfile
The default behaviors of the images
# docker run -it  alpine
/ # whoami
root

# docker run -it  erkanerol/alpine:postgres
/ $ whoami
postgres

I created two pod: one for alpine, one for erkanerol/alpine:postgres
postgres-pod.yaml
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: whoami-alpine-postgres
  name: whoami-alpine-postgres
spec:
  containers:
  - command:
    - whoami
    image: erkanerol/alpine:postgres
    imagePullPolicy: IfNotPresent
    name: whoami-alpine-postgres
    resources: {}
  dnsPolicy: ClusterFirst
  restartPolicy: Never
status: {}

root-pod.yaml
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: whoami-alpine-root
  name: whoami-alpine-root
spec:
  containers:
  - command:
    - whoami
    image: alpine
    imagePullPolicy: IfNotPresent
    name: whoami-alpine-root
    resources: {}
  dnsPolicy: ClusterFirst
  restartPolicy: Never
status: {}

Test 1 with k8s1.13
# kubectl version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.3", GitCommit:"a4529464e4629c21224b3d52edfe0ea91b072862", GitTreeState:"clean", BuildDate:"2018-09-09T18:02:47Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.6", GitCommit:"abdda3f9fefa29172298a2e42f5102e777a8ec25", GitTreeState:"clean", BuildDate:"2019-05-08T13:46:28Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}

# kubectl apply -f postgres-pod.yaml
pod/whoami-alpine-postgres created

# kubectl logs pod/whoami-alpine-postgres
root   ->> (IT SHOULD BE postgres)

# kubectl apply -f root-pod.yaml
pod/whoami-alpine-root created

# kubectl logs pod/whoami-alpine-root
root

Test2 with k8s1.10
# kubectl version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.3", GitCommit:"a4529464e4629c21224b3d52edfe0ea91b072862", GitTreeState:"clean", BuildDate:"2018-09-09T18:02:47Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.9", GitCommit:"e6ab4ee54f71e7a403cc733534bab86fd959ecb7", GitTreeState:"clean", BuildDate:"2018-10-16T12:01:43Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

# kubectl apply -f postgres-pod.yaml
pod/whoami-alpine-postgres created

# kubectl logs pod/whoami-alpine-postgres
postgres

# kubectl apply -f root-pod.yaml
pod/whoami-alpine-root created

# kubectl logs pod/whoami-alpine-root
root

containerRuntimeVersion is docker 18.6.1 for both tests.

@erkanerol - when you've written v1.3.6 or 1.3.6, did you actually mean 1.13.6?
Can you confirm what container runtime you're using on nodes when you're testing this (eg, Docker)?

Hi. Sorry for typo. Yes it is 1.13.6 and containerRuntimeVersion is docker 18.6.1. I updated the description.

It sounds like the 1.13 cluster isn't honoring the User property from the OCI image spec, whereas the 1.10 cluster does honor it.
I didn't see anything mentioned in changelogs around this. Seems like something that really would be a surprise to a cluster operator.

(Without looking much into this, and definitely without bringing up clusters to test it)
I'm wondering if Pod plus SecurityContext plus the defaults for runAsUser have led to this behaviour.
If runAsUser is unset, should than mean UID 0? Or should it mean to start a process as the image's default user (as set via image properties).
If so, I suppose the same would go for runAsGroup, because the config.User property can specify a default group.

@sftim Do you need anything else from my side?

@erkanerol from my point of view this issue teport makes sense and explains the situation. The steps from this point, I'm not sure about.

This is due to a Kubernetes bug; see https://github.com/kubernetes/kubernetes/issues/78308 and https://nvd.nist.gov/vuln/detail/CVE-2017-11245

/sig node

The behavior in v1.14.2 and v1.13.6 is not intended. Omitting runAsUser should run the container using the USER specified in the container image.

Kubernetes v1.13.7 and v1.14.3 have fixes for this bug.
Now that's done: @erkanerol you can get the intended, documented behavior by upgrading to those releases.
/triage support

Hi. Thanks for the quick fix! I have not a cluster with 1.13.7 now. Will check soon and give an update.

Documentation is correct (and Kubernetes bug is fixed)
/close


🇬🇧 Add support for random UK Postcodes

This PR adds:

Support for random UK Postcodes (chance.postcode())
Tests said random Postcodes 1,000 times
Documents chance.postcode()

🙇 to ideal-postcodes for their super clear documentation.

@victorquinn I couldn't figure out how to test the doc site so hopefully that worked too


Gruntfile.js: Escaped curly braces used in some regular expressions

See #527

Awesome! Thanks!!

You're welcome :)


Integrate non-native validators with Element.validity object

Currently, Element.validity only reflects the state of the browser's native validators. This means Element.validity.valid isn't always accurate. The plugin should use Element.setCustomValidity() for non-native validators to keep the HTML5 Validity object in sync with the plugin'a state.

Refs #449


[HEADER-ONLY Library] OpenSSL

I have problems using OpenSSL 1.1.1 on WINCE 6.0 machine even if the compilation process worked well and i got libcrypto-1_1.dll and libssl-1_1.dll.
I would like to ask you if it is possible to use OpenSSL as Header-Only library on WINCE 6.0 by including header files on project.
Thanks

I have no idea how would you want to use OpenSSL as header-only library. The existing headers do not contain much code there are mostly declarations.


⚠ ClamAV has degraded performance

In 29108b0, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 457 ms

Resolved: ClamAV performance has improved in 69534c4.


Bazel LLVM toolchain 10.0.0 causes known issue

On arch, the Bazel toolchain causes an unknown platform error (which seems to be noted but not fixed). Is there a reason that LLVM is pinned to 10.0.0 instead of 10.0.1? This just seems like a roadblock for developers to experiment with the library
From the bazel WORKSPACE file:
llvm_toolchain(
    name = "llvm_toolchain",
    # Try using llvm version 10.0.1 if you are getting an "Unknown LLVM
    # release" error.  This is a known issue for Ubuntu 16.04 LTS.
    llvm_version = "10.0.0",
)

Actually, the compilation with 10.0.1 failed too, it's likely easier to just use the docker build on Arch.

Hi Brendan,
We don't have specific plans to support Arch officially at this time. We have been discussing internally the possibility of setting up a suite of Dockerfiles for different architectures and compiler versions (e.g., gcc12 has been causing recent issues).
The priority on this is low, due to the experimental nature of this repository, but we have it on an internal backlog.
Please do update this issue with any resolution you find that makes compilation work on Arch. In the mean time, I'll close this issue.


Fixed Timestamp parameters for LocalTaskAuditTest.testDueDateUpdateSame test

Just a quick fix in test - providing same time as arguments of the test method. It called getToday() twice, which can differ in milliseconds sometimes, because it is called twice.
Master PR: https://github.com/droolsjbpm/jbpm/pull/596

+1


FR: Some more fields

Have raised a PR for the same.
Aiming for something like this:

Will share a suggested template for anyone looking to do the same, once we have the fields.

Sure thing.
I was looking to do something like this which I was using on another plugin:
---
book: {{library.ZSORTTITLE}}
author: {{library.ZAUTHOR}}
language: {{library.ZLANGUAGE}}
last_opened: {{dateFormat library.ZLASTOPENDATE "YYYY/MM/DD HH:mm:ss" }}
tags:
- highlights/iBooks
---
# 📔 {{library.ZSORTTITLE}}
---
{{#if library.ZBOOKDESCRIPTION}}

## 🧾 Description
---
	{{{library.ZBOOKDESCRIPTION}}}
{{/if}}

### 🔍 Highlights
---

{{#group annotation by="ZFUTUREPROOFING5"}}
#### 📚{{value}}
---

{{#each items}}
{{#if ZANNOTATIONSELECTEDTEXT}}
{{#is ZANNOTATIONSTYLE 5}}
- 🎯 {{ZANNOTATIONSELECTEDTEXT}}
{{/is}}
{{#is ZANNOTATIONSTYLE 4}}
- 🎯 {{ZANNOTATIONSELECTEDTEXT}}
{{/is}}
{{#is ZANNOTATIONSTYLE 3}}
- 🎯 {{ZANNOTATIONSELECTEDTEXT}}
{{/is}}
{{#is ZANNOTATIONSTYLE 2}}
- 🎯 {{ZANNOTATIONSELECTEDTEXT}}
{{/is}}
{{#is ZANNOTATIONSTYLE 1}}
- 🎯 {{ZANNOTATIONSELECTEDTEXT}}
{{/is}}
{{#is ZANNOTATIONSTYLE 0}}
- 🎯 {{ZANNOTATIONSELECTEDTEXT}}
{{/is}}
{{/if}}
{{#if ZANNOTATIONNOTE}}
        - ✍ {{ZANNOTATIONNOTE}}
{{/if}}
Highlighted: {{dateFormat ZANNOTATIONCREATIONDATE "YYYY/MM/DD HH:mm:ss" }}
---
{{/each}}
{{/group}}
Source::  [Apple Books Link](ibooks://assetid/{{library.ZASSETID}})

I also think I may need to add an apple date converter proc, which I have on standby.

const APPLE_EPOCH_START = new Date("2001-01-01").getTime();
--- been able to dig out that Apple does a weird thing with EPOCH timestamps, so start with this.
and feed the ZANNOTATIONMODIFICATIONDATE or ZANNOTATIONCREATIONDATE something like this:
      modifiedAt: convertAppleTime(r.modifiedAt),
      createdAt: convertAppleTime(r.createdAt),

using
function convertAppleTime(appleTime) {
  return new Date(APPLE_EPOCH_START + appleTime * 1000).getTime();
}

@jun6lee Thanks.

I was looking to do something like this which I was using on another plugin:

I see no problems integrating colors into the template and provide it as an example of advanced customization. You also saved me time for testing the mapping of ZANNOTATIONSTYLE numbers to their respective colors  😄

If you could push what I've added so far, I can test this and share an advanced_template file in a day or two.

I'm now in the middle of releasing a new version and will get back to the colored template in a day or two as well, so basically I can pick up your PR #1 where you left off and add all the necessary changes, if you don't mind.
As for the time, it looks doable, but it's definitely a separate improvement. I would like to check it on my side.


VisCrosshair not working with update 1.3.0

The VisCrosshair is not working any more with update 1.3.0 because:
Unovis | Crosshair: Y accessors have not been configured. Please check if they're present in the configuration object
Unovis | Crosshair: X accessor function has not been configured. Please check if it's present in the configuration object

The wrong behaviour is also in your website:
https://unovis.dev/docs/auxiliary/Crosshair/

Hey @FrancescoBrunoDev, thanks for the bug report! The fix is included version 1.3.1 😊

Thank you!


modify .pys in core/

Dear maintainers,
I modified codes in core/, mainly in the part of type hints.
In core/optimize.py, moved N to arguments and added an assert check whether N is odd number.
Would you mind if checking my PR?
Thank you very much.

Hi @Liberatedwinner ! I actually wanted to do the type hints today, so it's great that you did it first, thanks!


Add GitHub configuration UI

Resolves #4

Nice job! 👍 Can you please resolve conflict Pipeliner/Common/ServiceTypeEnum.swift? 🙂
You are really great contributor 🤩

Thank you 😄


How to store two list of same type?

I want to store two different list of same type, how can I do that?

Something like

Box<CustomItem> mBox = Application.getBoxStore().boxFor(CustomItem.class);
//this is my first list
List<CustomItem> mListItemOne;
//this is my second list with different values
List<CustomItem> mListItemTwo;

mBox.put(mListItemOne);  //put in the mBox

mBox.put(mListItemTwo);  // here it will be just added after mListItemOne's last item. I want to store it in a separte box so that I can access both the lists

 mListItemOne= mBox.getAll();
 mListItemTwo= mBoxDifferent.getAll();

@greenrobot can you please share some code snippet on how to do that.

Instead of getting the box only with the Object type, can't we have something like this
Box<CustomItem> mBox = Application.getBoxStore().boxFor(CustomItem.class, "unique_box_key");
here we can change the  "unique_box_key" to get different boxes for same object types.


Week2

I am merging this PR, I suppose the stylistic problems will be address with jslint reconfiguration.


feat: Add contract overview page

left some comments on this page in case you can't find them: https://thirdweb-www-git-sid-contract-overview.thirdweb-preview.com/fantom/0x05D5ee2Ec4850a7340E609B8FFa940025A384EA4/

The explorer section creates a large layout shift when it loads. We should show a skeleton until it's loaded to reduce the layout shift
https://user-images.githubusercontent.com/22043396/215569676-af3449b9-5566-4109-8e11-292fb00fae06.mov

Page is not scrolled to top after navigating to /code on click of "Build your app"
https://user-images.githubusercontent.com/22043396/215570086-df1e0439-336b-40ee-81fd-e63d4d5470a4.mov

@shift4id , I've left some comments on Vercel Preview: https://thirdweb-www-git-sid-contract-overview.thirdweb-preview.com/goerli/0x5934Bf57e06C1e7EAE1B98d107088e531a96Cb65


Implement proxy settings update command

Description
Implements a command to update proxies settings. The command accepts a json file and can be used to either do a partial update ( patch ) - default behavior or replace the existing proxies settings
Related Issues
Closes https://github.com/elastic/ecctl/issues/484
Motivation and Context

How Has This Been Tested?
Against ESS Staging using both update flavors ( patch/put )
Types of Changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Refactoring (improves code quality but has no user-facing effect)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation

Readiness Checklist

[x] My code follows the code style of this project
[x] My change requires a change to the documentation
[x] I have updated the documentation accordingly
[x] I have added tests to cover my changes
[x] All new and existing tests passed

@marclop @karencfv please let me know if my approach is according to the guidelines. I didn't find any other command that supports both a full and a partial update of an entity and I decided to implement only one with a flag. If this is not ok, let me know and I'll split it into two sub-commands.

@karencfv thanks a lot for the detailed review ! I think I addressed all comments


TPM 1.2 vs 2.0

The highlighted note says "The device must be running Windows 10 and it must support at least TPM 2.0."
The table of supported versions right below has a checkmark/cross on both TPM 1.2 and TPM 2.0.
So what is true now?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 035a6270-8a60-2a3c-604f-506b58118b46
Version Independent ID: 26a1102b-e201-42c2-212c-fd6726e2ca97
Content: Trusted Platform Module Technology Overview (Windows 10)
Content Source: windows/security/hardware-protection/tpm/trusted-platform-module-overview.md
Product: w10
GitHub Login: @brianlic-msft
Microsoft Alias: justinha

The highlighted note refers to TPM 2.0 or above as a requirement for the Device Health Attestation functionality.

Here it says TPM 1.2 is supported for DHA since 1703. So my question remains: What is true now?

Verifying...

I have verified that 2.0 is required and has been since Windows 10 RS1. I have already clarified the documentation referenced in your first post and will follow up on the doc for your second post. Thank you for pointing this out.

Hang on. Getting additional details and verifying...

Hi Ed, I had an advisory case opened with our premier support in parallel. Check case<PHONE_NUMBER>89762. Feedback is: TPM1.2 and TPM 2.0 are supported for DHA in 1803. TPM 2.0 was ever since Win10 release. TPM1.2 support was added in some later release. TPM2.0 is recommended by MS though (no specific reasons given).
Advisory case answer is sufficient for me. Now if that was reflected in the docs I'd be totally happy...  😃 Thanks!

Hello again. Yep. In my conversation with the product team members, TPM 1.2 was added in 1607. I've updated both docs you had links to. The updates have already been applied to the second one you mentioned. https://docs.microsoft.com/en-us/windows/security/threat-protection/protect-high-value-assets-by-controlling-the-health-of-windows-10-based-devices#a-href-idhardware-reqahardware-requirements

BTW: TPM 2.0 (or later) is highly recommended because there were major security enhancements made to the design and implementation of TPM compared to 1.2. Other less important enhancements and broader industry support in 2.0 also.

@egallagh Does the X mark in Supported versions for device health attestation mean that it is supported? Or does it mean its unsupported?

X means it is supported. I will clarify that.


Marcos' manifest parser is more awesome...

Just sayin'
https://github.com/mozilla/gecko-dev/blob/master/dom/manifest/ManifestProcessor.jsm
Could generalize it to use in browser and Node :wink:

Marcos' manifest parser is more awesome

Could you elaborate what features you are missing with our version? We are also working on making this one available in a node module in #8.

That was joke intended from @mounirlamouri :blush:. It would be nice have a single, modern (ES6), code base for us to hack on tho.


Feature/css tweaks for tables and headers

Codecov Report

Merging #102 (8f35d1f) into main (a5f785a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #102   +/-   ##
=======================================
  Coverage   58.57%   58.57%
=======================================
  Files          69       69
  Lines         770      770
  Branches      130      130
=======================================
  Hits          451      451
  Misses        291      291
  Partials       28       28

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a5f785a...8f35d1f. Read the comment docs.


Update Dockerfile to fix permission issue

Signed-off-by: Ashish Tiwari<EMAIL_ADDRESS>Notes for Reviewers
This PR fixes #
Signed commits

[ ] Yes, I signed my commits.

DO NOT MERGE. ONE CHANGE REQUIRED


nointro, missed one find_element

I've not run into a single captcha, but here it is anyway

LGTM!


LL-HLS: Live stream latency increases over time if the tab is in background or minimized and doesn't catch up

Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
4.2.1
Can you reproduce the issue with our latest release version?
yes
Can you reproduce the issue with the latest code from main?
yes
Are you using the demo app or your own custom app?
both
If custom app, can you reproduce the issue using our demo app?
yes
What browser and OS are you using?
Windows with Edge/Chrome
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
What are the manifest and license server URIs?

https://aka.ms/LowLatencyDemo.m3u8
What configuration are you using?  What is the output of player.getConfiguration()?

What did you do?

Load https://aka.ms/LowLatencyDemo.m3u8  and play
What did you expect to happen?
The player plays at the lowest latency possible.
What actually happened?

When the tab is in background or minimized the player falls behind but when the tab is maximized/brought to foreground, the player fully doesn't catch up and the latency increases over time.

@theodab, can you see if you can find the root cause? I've been looking but I can't find the error.

I tried repro'ing on a Mac for about an hour and saw no increase in latency.
I'll try Windows tomorrow.

@theodab I have been able to reproduce it on macOS with Chrome. Monday is a holiday in Spain, I will take you through the steps to reproduce the error on Tuesday.

@theodab, I have sent you the steps to reproduce the problem in our private chat.

@avelad I was able to repro it using your test page. Thanks, I didn't set those configuration values when testing initially.
I was also able to repro on nightly and v4.3.5 also, by using the same configuration values and the same asset. Oddly, though, it was a lot slower; your test page got 30-60s behind the live edge in under a minute of being minimized, but I had to leave the demo pages running for quite a while to get it to have similar losses. I wonder what the difference is.

We've recently fixed a lot of issues with HLS, can you check again against the main branch? Thanks!

Verified with latest build and it seems to work fine.  The latency doesn't increase over time.


Question about the loss function

Hi, thanks a lot for your great work! I find it really interesting!
However, I have a question regarding the loss function. To understand what kind of probability distribution between original (z) and augmented image (z') can maximise the MI, I calculated the heatmap using your provided function IID_loss (I assume there are only two clusters).
I understand that the second term H(z|z') encourage one-hot prediction, and we want (z)  and (z')  have a similar probability distribution and fall into the same cluster, but then shouldn't the MI being maximised on the top-left and bottom right corner instead of top-right and bottom-left corners?
mi_histmap.pdf

The typical heatmaps that maximise MI using a neural network predictor are indeed diagonal, top left to bottom right. Though, any heatmap with one-hot rows and columns will have high MI (which is about consistent predictability); this specific diagonality is due to the visual consistency of the network.
Optimising for the best heatmap with no neural network backing will not be constrained by visual consistency and therefore not necessarily result in top-left to bottom-right direction.
Your map, if it was in a 2x2 format, would have near one-hot rows/columns, because z=0 is predictably mapped to z'=1 and z=1 is predictably mapped to z'=0. So it is correct that this has a high MI value.

Thanks a lot for your response. I agree with what you said, but what still confuse me is that if the maximum MI appear on top right and bottom left in my heatmap, then doesn't it mean my original image and augmented version tend to belong to two clusters? (which I thought they are supposed to be constrained in one cluster)

Are you using my training scripts? What is the data? Or are you just optimising the heatmaps without a neural network?

No, I didn't use the training scripts or the data yet. I am just amazed by how well the MI loss term work and want to understand how the optimisation of these two terms H(z) and H(z|z') influence the probability distribution between original and augmented data.

Then your heatmap is correct, as I explained before

any heatmap with one-hot rows and columns will have high MI (which is about consistent predictability)

Without a constraint that the variables z and z' represent the same thing, which in our case is provided by the neural network and data setup, you cannot expect the top-left to bottom-right diagonal.

doesn't it mean my original image and augmented version tend to belong to two clusters?

You are not using images or augmentation or a neural network predictor. You are optimizing the distribution of two unconstrained variables.

Hi @xu-ji,
I happen to see your conversation and your reply. Could you please just want to confirm one thing in your reply?
You said any heatmap with one-hot rows and columns will have high MI (which is about consistent predictability)
it is not one heatmap with uniform row and columns marginal distributions and confident joint distribution will have the maximum MI?

Yes you're right, that was unclear. Maximum MI will be achieved by a heatmap with uniform marginals (1/C...1/C) and cells which are either 1/C or 0, where c is number of classes. I meant one-hot conditioned on the row/col, or within each row/col only 1 cell has value > 0.
The point is that in general it's not true the same z class has to map to the same z' class for maximal MI.

okay, I understand it now. Thanks a lot!


How to solve the IndexError: list index out of range?

I have actually encountered this kind of problem before, but after I change the variable ' num_classes' to be the actual number of classes instead of the number of classes plus one, the problem solved! But this time,  I switch to another server, and just stick to the rules as usual, when I run tools/train.py, the problems happen again. And I sincerely hope someone of u could help me out !! : )
Best regards~
P.S. the error information is shown below.
2020-12-01 09:36:22,745 - mmdet - INFO - Saving checkpoint at 1 epochs [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 160/160, 22.6 task/s, elapsed: 7s, ETA:     0sTraceback (most recent call last):   File "tools/train.py", line 181, in <module>     main()   File "tools/train.py", line 177, in main     meta=meta)   File "/home/zlx/mmdetection/mmdet/apis/train.py", line 150, in train_detector     runner.run(data_loaders, cfg.workflow, cfg.total_epochs)   File "/home/zlx/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 125, in run     epoch_runner(data_loaders[i], **kwargs)   File "/home/zlx/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 54, in train     self.call_hook('after_train_epoch')   File "/home/zlx/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/mmcv/runner/base_runner.py", line 307, in call_hook     getattr(hook, fn_name)(self)   File "/home/zlx/mmdetection/mmdet/core/evaluation/eval_hooks.py", line 143, in after_train_epoch     key_score = self.evaluate(runner, results)   File "/home/zlx/mmdetection/mmdet/core/evaluation/eval_hooks.py", line 162, in evaluate     results, logger=runner.logger, **self.eval_kwargs)   File "/home/zlx/mmdetection/mmdet/datasets/coco.py", line 403, in evaluate     result_files, tmp_dir = self.format_results(results, jsonfile_prefix)   File "/home/zlx/mmdetection/mmdet/datasets/coco.py", line 348, in format_results     result_files = self.results2json(results, jsonfile_prefix)   File "/home/zlx/mmdetection/mmdet/datasets/coco.py", line 280, in results2json     json_results = self._det2json(results)   File "/home/zlx/mmdetection/mmdet/datasets/coco.py", line 217, in _det2json     data['category_id'] = self.cat_ids[label] IndexError: list index out of range

I have solved this problem~ The place went wrong seems a little stupid. And with the support of my senior fellow, I found out it is val.json that went wrong. So actually we should be very very careful to deal with our datasets and the config files since the error-tolerant rate is soooo high that it is very hard to figure out where the true problem is.
Thanks to mmdetection and the team behind : )
Best regards!~

Cheers.

hello, I met the same problem. can you point out the problem about val.json?

hello, I met the same problem. can you point out the problem about val.json?

hello, I met the same problem. can you point out the problem about val.json?

Sorry for being late~ The problem I met was as follows:
the key "categories" should be:

"categories": [{"supercategory": "none", "id": 1, "name": "Boeing737"}, {"supercategory": "none", "id": 2, "name": "Boeing747"}, {"supercategory": "none", "id": 3, "name": "Boeing777"}, {"supercategory": "none", "id": 4, "name": "Boeing787"}, {"supercategory": "none", "id": 5, "name": "A220"}, {"supercategory": "none", "id": 6, "name": "A321"}, {"supercategory": "none", "id": 7, "name": "A330"}, {"supercategory": "none", "id": 8, "name": "A350"}, {"supercategory": "none", "id": 9, "name": "ARJ21"}, {"supercategory": "none", "id": 10, "name": "other"}]

However I mistakenly made it to be:

"categories": [{"supercategory": "none", "id": 1, "name": "Boeing737"}]

Hope u  can solve it smoothly : )

hello, I met the same problem. can you point out the problem about val.json?

Sorry for being late~ The problem I met was as follows:
the key "categories" should be:

"categories": [{"supercategory": "none", "id": 1, "name": "Boeing737"}, {"supercategory": "none", "id": 2, "name": "Boeing747"}, {"supercategory": "none", "id": 3, "name": "Boeing777"}, {"supercategory": "none", "id": 4, "name": "Boeing787"}, {"supercategory": "none", "id": 5, "name": "A220"}, {"supercategory": "none", "id": 6, "name": "A321"}, {"supercategory": "none", "id": 7, "name": "A330"}, {"supercategory": "none", "id": 8, "name": "A350"}, {"supercategory": "none", "id": 9, "name": "ARJ21"}, {"supercategory": "none", "id": 10, "name": "other"}]

However I mistakenly made it to be:

"categories": [{"supercategory": "none", "id": 1, "name": "Boeing737"}]

Hope u  can solve it smoothly : )

thanks a lot，I have solved my problem.
| |
junnnxie
|
|
<EMAIL_ADDRESS>|
签名由网易邮箱大师定制
On 1/12/2021<EMAIL_ADDRESS>wrote：
hello, I met the same problem. can you point out the problem about val.json?
Sorry for being late~ The problem I met was as follows:
the key "categories" should be:
"categories": [{"supercategory": "none", "id": 1, "name": "Boeing737"}, {"supercategory": "none", "id": 2, "name": "Boeing747"}, {"supercategory": "none", "id": 3, "name": "Boeing777"}, {"supercategory": "none", "id": 4, "name": "Boeing787"}, {"supercategory": "none", "id": 5, "name": "A220"}, {"supercategory": "none", "id": 6, "name": "A321"}, {"supercategory": "none", "id": 7, "name": "A330"}, {"supercategory": "none", "id": 8, "name": "A350"}, {"supercategory": "none", "id": 9, "name": "ARJ21"}, {"supercategory": "none", "id": 10, "name": "other"}]
However I mistakenly made it to be:
"categories": [{"supercategory": "none", "id": 1, "name": "Boeing737"}]
Hope u can solve it smoothly : )
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

thanks a lot，I have solved my problem.
| |
junnnxie
|
|
<EMAIL_ADDRESS>|
签名由网易邮箱大师定制
On 1/12/2021<EMAIL_ADDRESS>wrote：
hello, I met the same problem. can you point out the problem about val.json?
Sorry for being late~ The problem I met was as follows:
the key "categories" should be:
"categories": [{"supercategory": "none", "id": 1, "name": "Boeing737"}, {"supercategory": "none", "id": 2, "name": "Boeing747"}, {"supercategory": "none", "id": 3, "name": "Boeing777"}, {"supercategory": "none", "id": 4, "name": "Boeing787"}, {"supercategory": "none", "id": 5, "name": "A220"}, {"supercategory": "none", "id": 6, "name": "A321"}, {"supercategory": "none", "id": 7, "name": "A330"}, {"supercategory": "none", "id": 8, "name": "A350"}, {"supercategory": "none", "id": 9, "name": "ARJ21"}, {"supercategory": "none", "id": 10, "name": "other"}]
However I mistakenly made it to be:
"categories": [{"supercategory": "none", "id": 1, "name": "Boeing737"}]
Hope u can solve it smoothly : )
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.


Pairwise anchor rough

2nd of 2 updates to rough alignment. This one is ideally merged after downsample_masks.
2 main components here:

Our original strategy for rough alignment was a global (EMaligner) similarity solve followed by an affine solve. The similarity solve needed to be loose enough (in regularization) to accommodate rotated montages coming out of imaging, but that looseness also allowed tile shrinkage of 10% or more while rotating the tiles.
The first try to correct this was to just use a moving pairwise rigid alignment through the volume and follow that with a global affine solve. This generally worked to get rid of the scale changes, but with such a large volume, there was some accumulated unphysical drift.
To correct the drift issue, Nuno made by-hand an alignment using trakem every 50 sections. These aligned sections were used as anchor points for the pairwise rigid alignment.
(when EMaligner is working with true rigid transforms, this whole step might not be needed, but that is TBD.)

Contents:

render-modules/rendermodules/rough_align/make_anchor_stack.py  takes transforms from the manual alignment and creates an anchor stack. This is meant to be out-of-workflow. It doesn't happen more than once, I think. This is an optional intermediate stack used by:
render-modules/rendermodules/rough_align/pairwise_rigid_rough.py  moving pairwise rigid alignment through a downsampled stack. Tiles in between anchor points are appropriately weighted between the two.

Is there also something to check in w.r.t. generating transformation files for the anchor stack? Are the transformations coming from a trakem2 xml? In which case it might be helpful for the future to have a module that can either generate input for MakeAnchorStack or invoke its run method based on xml input.

I forgot about that step... was kind of surprised how clean the input json was for this. Yes, I have these few functions from you I can work in:
import sys

from lxml import etree
import renderapi

def get_affinemodel_from_tformstr(s):
    return renderapi.transform.AffineModel(
        json={"dataString": s.lstrip("matrix(").rstrip(")").replace(",", " "),
              "className": 'mpicbg.trakem2.transform.AffineModel2D'})

def get_patch_transforms_from_tree(t):
    return {p.attrib['title']: get_affinemodel_from_tformstr(
        p.attrib["transform"]) for p in t.findall('.//t2_patch')}

def get_patch_transforms_from_xml(x):
    return get_patch_transforms_from_tree(etree.parse(x))

if __name__ == "__main__":
    xmlfn = sys.argv[1]
    outfn = sys.argv[2]

    t_to_tform_map = get_patch_transforms_from_xml(xmlfn)
    with open(outfn, 'w') as f:
        renderapi.utils.renderdump(t_to_tform_map, f, indent=2)

I would prefer to have the pairwise rigid tests to be in a separate test file.. test_rough_align is getting crowded for more than what it needs

done


in-place transformation not working if dimension >1

Hi,
in-place trnasformations for d>1 do not work. I guess when done with the first axis, the calculation for the next axis already takes the new data.
now, maybe this is expected behaviour. But in that case I would suggest to write this into the readme as I would consider it helpful.
Test-code:
#include <iostream>
#include "pocketfft_hdronly.h"

int main() {
    // Prepare 2x2 matrix as vectors
  std::vector<std::complex<double>> amp_in({1, 1, 1, 1});
  std::vector<std::complex<double>> amp_out({0, 0, 0, 0});
  const std::vector<ptrdiff_t> strides({16, 16});
  const std::vector<size_t> shape({2, 2});
  std::vector<size_t> axes{0, 1};

  std::cout << "Result from 2 dimensional c2c out of place:\n";
  pocketfft::c2c(shape, strides, strides, axes, pocketfft::FORWARD, &amp_in[0],
                 &amp_out[0], double(1.0));
  for (size_t i = 0; i < amp_in.size(); i++) {
    std::cout << amp_out[i] << std::endl;
  }

  std::cout << "Result from 2 dimensional c2c in place:\n";
  pocketfft::c2c(shape, strides, strides, axes, pocketfft::FORWARD, &amp_in[0],
                 &amp_in[0], double(1.0));
 for (size_t i = 0; i < amp_in.size(); i++) {
    std::cout << amp_in[i] << std::endl;
  }
  return 0;
}

result:
Result from 2 dimensional c2c out of place:
(4,0)
(0,0)
(0,0)
(0,0)
Result from 2 dimensional c2c in place:
(3,0)
(0,0)
(2,0)
(1,0)

The first result is correct.

You should get identical results for both out-of-place and in-place transforms.
As far as I can tell, te problem is with the strides that you provide. {16,16} can't be right, since a "normal" 2D array can't have the same stride along both axes. I think you should get the expected results by using a stride array of {32, 16} (i.e. stride is 2 complex values along axis 0 and 1 complex value along axis 1).
Generally if you transform a 2D C-contiguous array, the strides should be
{shape[1]*sizeof(complex<double>), sizeof(complex<double>)}.

Thank you very much for the fest reply.

I admit I'm not absolutely happy with the definition of the strides myself, but this choice was necessary to get the code integrated into scipy. Later versions of the code (https://github.com/mreineck/ducc) no longer count the bytes but rather the data elements, which is more intuitive.

Generally if you transform a 2D C-contiguous array, the strides should be {shape[1]*sizeof(complex<double>), sizeof(complex<double>)}.

And for anyone else finding this later on: in the 3D-column-major case it is
{shape[2]*shape[1]*sizeof(complex<double>), shape[1]*sizeof(complex<double>) ,sizeof(complex<double>)}

I admit I'm not absolutely happy with the definition of the strides myself, but this choice was necessary to get the code integrated into scipy. Later versions of the code (https://github.com/mreineck/ducc) no longer count the bytes but rather the data elements, which is more intuitive.

I guess even more so if you are making bindings to python.
I am still very early in my project hence I can still easily change between FFT libraries, Will there be more interesting additions to the fft.h header from ducc compared to pocketfft _cpp which might give me reason to change them?
In the readme there are non-equidistant ffts mentioned, but they do not seem plemented right now, are they?
Anyway, thank you again for the work on these good libraries.

Will there be more interesting additions to the fft.h header from ducc compared to pocketfft _cpp which might give me reason to change them?

Depends on the features you need. Mostly I'm tweaking performance and modernize the code internally to make it a bit easier to work on. If your main goal is to have a reliable (and fast, but not record-breaking) implementation that is easy to integrate into your project (since it's a single header) then pocketfft C++ is probably the best candidate.
If performance is really important, you should definitely also look at FFTW or (if you have Intel hardware) MKL-FFT.

In the readme there are non-equidistant ffts mentioned, but they do not seem plemented right now, are they?

They do exist, but there are currently only interfaces for very specific subproblems (radio interferometry gridding and 4pi convolution on the sphere). I have not found a really nice way yet to present the fully generic interface, but if this a functionaity you need, I really recommend that you have a look at https://github.com/flatironinstitute/finufft. This package has heavily inspired the non-equidistant FFTs in ducc.


[AnySigner] remove not used encode method

TWAnySignerDecode and TWAnySignerEncode, not used in the app at all

It's introduced in https://github.com/trustwallet/wallet-core/pull/962, removing it may break others.

@madcake , can you confirm it's OK to remove?  Originally it was requested by you.  Thx.

confirm


Add dependency sorter

https://github.com/square/gradle-dependencies-sorter

Tried out version 0.2, and it appears that it doesn't support multiplatform projects very well (duplicating dependencies that are defined in commonMain)

https://github.com/square/gradle-dependencies-sorter/issues/59 is resolved, but hasn't been released in 0.4.


regions.remove does not actually remove the region

generate the chart
call regions.add(...) on the chart
call regions.remove() on the chart
call regions.add(...) on the chart, adding new region

new and previous(removed) regions are shown

I would expect that no removed regions would be shown after the regions.remove(...) call

If you resize your window after this, does the old region disappear in the redraw after resize?

Faced the same issue. Though for me not all removed regions are shown, but only part of them. The weird thing - after resizing the window ALL of removed regions appear.
This can be partially solved with calling chart.flush(). I wrote partially, because if I call flush before calling remove / add - removed regions are flashing (appearing, and then disappearing), and after they disappear - only added region is left.

here is corresponding jsfiddle


Documentation Issue: Rounding

{Describe the problem here}
"roundFactor value is rounded to a multiple of the round factor if it is a nonzero value and the applyRounding trait is set. e.g. if the roundFactor is set to 2, 42.2 would be rounded to 42 and 43.2 to 44."
Should 43.2 round to 43 instead of 44?
Found on page https://www.itwinjs.org/bis/ec/ec-format - "Format"

Hi. The example is correct. The value is rounded to the closest multiple of the roundFactor - 43.2 is closer to 44 than it is to 42.

I reviewed the tests we had for this attribute and I found that we were lacking formatting tests for this option.  I have filed an issue to add tests: https://github.com/iTwin/itwinjs-core/issues/7462
Thank you for raising this question!


Error while running an example from Readme

Hi,
I ham running this code
init; % add project paths, add solver aliases etc.
img_path = 'data/img1.jpg'; % specify a path to an image
solvers = [Solver2PC4CA, Solver6CA]; % define the solver(s)
autocalib(img_path, solvers); % run auto-calibration

And get following error:
>>>>>> Image: img1.jpg
Error using cmp_argparse (line 71)
Unknown parameter 'low'.

Error in get_rgns (line 4)
    cfg = cmp_argparse(cfg, varargin{:});

Error in autocalib (line 44)
            [rgns,Gapp] = get_rgns(img, arc_cfg{:},...

My matlab version is <IP_ADDRESS>613 (R2015a)

Hi @ducha-aiki,
Thanks for reporting an error! There was a small bug that should be fixed now. Could you please pull and run it again.

>>>>>> Image: img1.jpg
Database does not exist. Could not create the database.
Undefined function or variable 'digraph'.

Error in CidCache (line 24)
            this.G = digraph;

Error in get_rgns (line 9)
    cid_cache = CidCache(img.cid,...

Error in autocalib (line 44)
            [rgns,Gapp] = get_rgns(img, arc_cfg{:},...

OK, it looks like that the problem is in my matlab version. I tried a newer one and got a different error :(
Invalid MEX-file '/mnt/home/mishkdmy/dev/single-view-autocalib/features/helpers/edgeSubPix/edgeSubPix.mexa64': /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /mnt/home/mishkdmy/dev/single-view-autocalib/features/helpers/edgeSubPix/edgeSubPix.mexa64)

Error in EDGE.extract (line 9)
    contours = edgeSubPix(...

Error in get_arcs (line 32)
        contours = EDGE.extract(img, contours_params);

Error in autocalib (line 47)
            [arcs,circ,Gc] = get_arcs(img,'write_cache',1,...

Сan you specify your Linux version?

The problem seems similar to this one. Could you please check if your OS and compiler are the same as there (Ubuntu 14.04, gcc 5.5). If yes, then downgrading gcc to 4.9 might help. You might also try to re-build edgeSubPix with changed CMakeLists.txt according to that solution (or maybe try to just re-build first)


Documentation code and samples regression test pipeline

Change Description
This PR suggests an ADO pipeline to validate code samples integrity and check for regressions. This pipeline will be manualy triggered since it directly executes code. It validates:

python code snippets in readmes
python scripts samples
notebooks samples
docker (API requests) samples

The PR includes updates to readmes and samples
Note - several readmes were updated with "exdown-skip" to skip code snipets from testing.
Issue reference
This PR fixes issue ADO3122
Checklist

[ ] I have reviewed the contribution guidelines
[ ] I have signed the CLA
[ ] My code includes unit tests
[ ] All unit tests and lint checks pass locally
[ ] My PR contains documentation updates / additions if required

looks great!
I would suggest adding test-docs.yml as a yaml-template instead of pipeline, so that we can eventually run from our pipeline. isn't that the purpose?

Not sure we want to test it as part of our pipeline, since it executes code, which can be a potential for malicious code etc. The purpuse if to run it manualy, before we do new documentation release (this will be added to the release process checklist)

How is that different from unit or integration tests?
The problem is that we may end up with failures after the pr was done.

looks great!

I would suggest adding test-docs.yml as a yaml-template instead of pipeline, so that we can eventually run from our pipeline. isn't that the purpose?

Not sure we want to test it as part of our pipeline, since it executes code, which can be a potential for malicious code etc. The purpuse is to run it manualy, before we do new documentation release (this will be added to the release process checklist)


⚠ Thumbnails API Endpoint has degraded performance

In cf99708, Thumbnails API Endpoint (https://thumbnails.roblox.com/v1/assets?assetIds=82738847&format=Png&isCircular=false&size=30x30) experienced degraded performance:

HTTP code: 200
Response time: 1018 ms

Resolved: Thumbnails API Endpoint performance has improved in 3370367 after 7 minutes.


[JB][SUPP-708] fix link on error page, bold text too

I missed bold text for email value, and didn't have links differ based on if email is in eligibilityResponse/etmp


Support All URLs with a beginning string rather than do an exact match for Redirect URI

Problem:
So whenever I create a release channel and try to test, the redirect URI is something like  exp://exp.host/@jm90m/bsteem?release-channel=jm-test-branch. And I am unable to login to steem connect using this
Possible Solution:
It would be great to ALLOW all urls with the beginning string exp://exp.host/@jm90m/bsteem

Perhaps you can create your own endpoint, which redirect user to dynamic url with exp://. I don't think it's OAuth2 proof to allow all url with a beginning string.


content: minting app design

This a stab at our new high-level take on "building a minting app", to close #29.
@jessicaschilling this is pretty sparse, but probably better than nothing... I don't really think it's a "tutorial" per-se any more tho, so maybe it should be a "how to" instead? Feel free to move it if you think so :) And of course, tweak anything that needs tweaking.

Image optimization came back clean!
Vuepress build was successful!

docs/tutorial/minting-app.md:

As a shorter alternative for ‘able to’, consider using “can”....n and control. Today, some applications are able to deliver this, particular...
                                           ^^^^^^^^^^^

Use ‘own’ only if you want to emphasize that something belongs to a person or thing or was done by a person or thing. Consider writing “their”....ens new window), so that users can sign their own transactions using private...
                                           ^^^^^^^^^

The word ‘However’ starts a question. Add a question mark (“?”) at the end of the sentence....vate keys that never leave their machine. # Testing and infrastructure You w...
                                           ^

An apostrophe may be missing....indow), it wouldn't be safe to read the users collection of kitties into a J...
                                           ^^^^^

Only proper nouns start with an uppercase character (there are exceptions for headlines)....ay want to investigate blockchains like Flow  (opens new window), which was ...
                                           ^^^^

This phrase is redundant. Consider writing “evolve”....bility Most successful web applications evolve over time, but smart contract...
                                           ^^^^^^^^^^^^^^^^

‘in the long run’ might be wordy. Consider a shorter alternative....o upgrade may prove much more expensive in the long run! # User authenticati...
                                           ^^^^^^^^^^^^^^^

This expression is usually spelled with a hyphen....entials like usernames and passwords. # Wallet based auth It's possible to r...
                                           ^^^^^^^^^^^^

Image optimization came back clean!
Vuepress build was successful!

docs/tutorial/minting-app.md:

Consider a shorter alternative to avoid wordiness....'ll take a slightly different approach: In order to help you more holistical...
                                           ^^^^^^^^^^^

‘in the long run’ might be wordy. Consider a shorter alternative....g for a platform that won't be relevant in the long run. How easily can new ...
                                           ^^^^^^^^^^^^^^^

Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short)....tform? If a platform is easy to build on but the user experience is less tha...
                                           ^^^^

Use ‘own’ only if you want to emphasize that something belongs to a person or thing or was done by a person or thing. Consider writing “their”....ens new window), so that users can sign their own transactions using private...
                                           ^^^^^^^^^

Only proper nouns start with an uppercase character (there are exceptions for headlines)....want to investigate blockchains such as Flow  (opens new window), which was ...
                                           ^^^^

This phrase is redundant. Consider writing “created”.... as Flow  (opens new window), which was originally created to support that v...
                                           ^^^^^^^^^^^^^^^^^^

This phrase is redundant. Consider writing “evolve”....bility Most successful web applications evolve over time, but smart contract...
                                           ^^^^^^^^^^^^^^^^

‘in the long run’ might be wordy. Consider a shorter alternative....o upgrade may prove much more expensive in the long run! # User authenticati...
                                           ^^^^^^^^^^^^^^^

Possibly missing comma found....can augment or replace traditional user credentials such as usernames and pa...
                                           ^^^^^^^^^^^

The phrase ‘do not want to’ is used quite frequently. Consider using a less frequent alternative to set your writing apart from others....uth on Ethereum  (opens new window). If you don't want to deal with writing ...
                                           ^^^^^^^^^^^^^^^^^^^^^^

Image optimization came back clean!
Vuepress build was successful!

docs/tutorial/minting-app.md:

Use ‘own’ only if you want to emphasize that something belongs to a person or thing or was done by a person or thing. Consider writing “their”....ens new window), so that users can sign their own transactions using private...
                                           ^^^^^^^^^

Only proper nouns start with an uppercase character (there are exceptions for headlines)....want to investigate blockchains such as Flow  (opens new window), which was ...
                                           ^^^^

This phrase is redundant. Consider writing “created”.... as Flow  (opens new window), which was originally created to support that v...
                                           ^^^^^^^^^^^^^^^^^^

This phrase is redundant. Consider writing “evolve”....bility Most successful web applications evolve over time, but smart contract...
                                           ^^^^^^^^^^^^^^^^

Possibly missing comma found....can augment or replace traditional user credentials such as usernames and pa...
                                           ^^^^^^^^^^^

The phrase ‘do not want to’ is used quite frequently. Consider using a less frequent alternative to set your writing apart from others....uth on Ethereum  (opens new window). If you don't want to deal with writing ...
                                           ^^^^^^^^^^^^^^^^^^^^^^


Commmand list does not include minigame-specific commands.

Pretty sure this is done now for a while...


[QUESTION] Why the project isn't the default app in the store ?

Why the default Open Food Facts Android App is still the old one ? and not built from this project

Not usable enough yet. Especially for contribution. I've tagged a few bugs with hacktober.

the Open Beauty Facts is using an old version of this code. We could try to update it first.


Is stripeResponseHandler out of date?

In app/views/koudoku/subscriptions/_card.html.erb we have the JS function stripeResponseHandler which contains the following lines:
      form$.append("<input type='hidden' name='subscription[credit_card_token]' value='" + response['id'] + "'/>");
      form$.append("<input type='hidden' name='subscription[last_four]' value='" + response['last4'] + "'/>");
      form$.append("<input type='hidden' name='subscription[card_type]' value='" + response['card_type'] + "'/>");

Note that it's looking for keys called id, last4, and card_type in the response object.
Problem is, the response object I'm getting back from the Stripe server looks like this:
{
    id: "...",
    livemode: false,
    created:<PHONE_NUMBER>,
    used: false,
    type: "card",
    object: "token"…}

    card: {
        address_city: ...,
        address_country: ...,
        address_line1: ...,
        address_line2: ...,
        address_state: ...,
        address_zip: ...,
        brand: "Visa",
        country: "US",
        customer: ...,
        dynamic_last4: ...,
        exp_month: 4,
        exp_year: 2015,
        fingerprint: ...,
        funding: "credit"
        id: "card_xxxxxxxxxxxxxxxxxxxx"
        last4: "XXXX",
        name: ...,
        object: "card",
    }
}

Note that last4 and card_type aren't in there, although we do have card.last4 and type.
Is this due to a breaking change in the Stripe API?
If I'm going to fix this, should subscription[credit_card_token]' be set to response.id or response.card.id? And what should subscription[card_type] be set to? response.type? response.card.brand?

Hi @georgemillo
I've now control of RubyGems as well. So if you want to deliver a fix, I can get it into the gem properly.
Are you interested in fixing this for sources ?


Tests fail when MAPBOX_ACCESS_TOKEN is set

        result = runner.invoke(
            main_group,
            ['geocoding', '--reverse'],
            input='{0},{1}'.format(lon, lat),
            env={'MapboxAccessToken': 'bogus'})
>       assert result.exit_code == 0
E       assert -1 == 0
E        +  where -1 = <Result ConnectionError(u'Connection refused: GET https://api.mapbox.com/geoco...123xyz',)>.exit_code

tests/test_geocoding.py:93: AssertionError

where MAPBOX_ACCESS_TOKEN=123xyz is set in my environment. If I unset MAPBOX_ACCESS_TOKEN it works.
@sgillies is this just a matter of MAPBOX_ACCESS_TOKEN taking precedence over MapboxAccessToken?

@perrygeo yes. I want our customers to use all caps envars (priniciple of least surprise). Internally, however, many of us have $MapboxAccessToken because of cloud formation. I'm going to push a commit that makes precedence more clear.

This issue still persists. The tests should pass even if a developer's MAPBOX_ACCESS_TOKEN is set. Sending a PR shortly.


wasm-bindgen-0.2.87 version `GLIBC_2.33' not found (required by /root/.cache/trunk/wasm-bindgen-0.2.87/wasm-bindgen)

Hi, i am running the follow docker file.
# We use the rust's 1.70.0 stable release as base image to build our front end.
# we are building frontend in this stage to get the necessary assets.
FROM rust:1.70.0 as frontend

# Installing npm in order to install tailwind css.
RUN apt-get update && apt-get install npm -y \
    software-properties-common \
    npm
RUN npm install npm@latest -g && \
    npm install n -g && \
    n latest
RUN npm i -g tailwindcss

# Add wasm32 and run wasm-bindgen for Yew app.
RUN rustup target add wasm32-unknown-unknown
RUN cargo install trunk wasm-bindgen-cli

# Switching our working directory to `app` (equivalent to `cd app`)
# The `app` folder will be created for us by Docker in case it does not
# exist already.
WORKDIR /app
# Copy all files from our working environment to our docker environment.
# in the src directory.
COPY . .

# Build environment variables for the Yew app.
# It is important to note that all the client environment variables need
# to be injected during the build time.
# ARG APP_HTTP__HOST
# ENV APP_HTTP__HOST=$APP_CLIENT__SERVER_ADDRESS
# ARG APP_HTTP__PORT
# ENV APP_HTTP__PORT=$APP_HTTP__PORT
ARG RUN_ENV
ENV RUN_ENV=$RUN_ENV

# Cd into the frontend build the frontend assets.
RUN cd ./frontend && cargo clean && trunk build --release

When i run the docker file, i get the following error
71.49 2023-11-24T06:24:12.592726Z  INFO fetching cargo artifacts
71.75 2023-11-24T06:24:12.860031Z  INFO processing WASM for frontend
71.83 2023-11-24T06:24:12.931871Z  INFO downloading wasm-bindgen version="0.2.87"
73.06 2023-11-24T06:24:14.168334Z  INFO installing wasm-bindgen
73.13 2023-11-24T06:24:14.238850Z  INFO calling wasm-bindgen for frontend
73.14 /root/.cache/trunk/wasm-bindgen-0.2.87/wasm-bindgen: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /root/.cache/trunk/wasm-bindgen-0.2.87/wasm-bindgen)
73.14 /root/.cache/trunk/wasm-bindgen-0.2.87/wasm-bindgen: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /root/.cache/trunk/wasm-bindgen-0.2.87/wasm-bindgen)
73.14 /root/.cache/trunk/wasm-bindgen-0.2.87/wasm-bindgen: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /root/.cache/trunk/wasm-bindgen-0.2.87/wasm-bindgen)
73.19 2023-11-24T06:24:14.295997Z ERROR  error
73.19 error from HTML pipeline
73.19
73.19 Caused by:
73.19     0: error from asset pipeline
73.19     1: wasm-bindgen call returned a bad status
73.19 Error: error from HTML pipeline
73.19
73.19 Caused by:
73.19     0: error from asset pipeline
73.19     1: wasm-bindgen call returned a bad status

Any help will be greatly appreciated. Btw, everything ran smoothly until i switch to using a new Mac. I am not sure if this is a problem.

Is the base container you are using providing a libc? Or it's maybe using some other library like musl?
I've got a similar setup for trunk here, works on both arm as well as amd: https://github.com/ctron/trunk-container/blob/main/Containerfile

I think this is the same as #690.


Add SectionedSlider - iOS 11 Control Center Slider

SectionedSlider
Project URL
https://github.com/LeonardoCardoso/SectionedSlider
Description
iOS 11 Control Center Slider
Checklist

[x] Only one project/change is in this pull request
[x] Addition in chronological order (bottom of category)
[x] Supports iOS 9 / tvOS 10 or later
[x] Supports Swift 3
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

thx


Issue 13661 - static array init does not call destructors

https://issues.dlang.org/show_bug.cgi?id=13661
Requires druntime change: https://github.com/D-Programming-Language/druntime/pull/1006

I find it bizarre that the compiler must generate the buffer, when the callee is more than capable of alloca'ing one itself.


Fail after first backup

The action is failing after the initial setup of supabase cli :

It may be needed to ignore the supabase directory or check if the project is correctly initialized.

Experiencing the same issue on all instances since the new connection strings, happening for both the settings as data backups.


Best way to use LoadJS?

Hey,
Most projects I build always do terrible on Google Page Speed because of async loading and whatnot. I found this library and I'm excited to finally use it because I think this is the approach Google wants me to take for the fastest page render time.
On my sites I use rails which minifies all css and js into single files, and then I also have jQuery (using google CDN so its probably cached). So I'm wondering the best way to use loadJS if I have only 3 files (and I'm not using it as a dependency manager).

application.css
//ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js
application.js

Will this cause a FOUC while the CSS loads? Also can I use a absolute URL for a path instead of a local path?

Hi @9mm! I'm happy to hear you're considering using LoadJS for your project.
In terms of URLs, you can use relative or absolute paths (including "//") to load files.
In terms of FOUC, loading CSS asynchronously can cause FOUC unless you wait until after the CSS has been loaded to render the content programmatically. To do this with loadjs you can use the success callback:
loadjs(['/path/to/application.css', '/path/to/jquery.js', '/path/to/application.js'], {
  success: function() {
    renderContent();
  }
});

In general, there's always a tradeoff between optimizing for pageload times and complexity but to keep things simple you could trigger the CSS download in the <head> and then load non-essential JS asynchronously after the window load event fires:
<link rel="stylesheet" type="text/css" href="/path/to/application.css">
<script>
  window.addEventListener('load', function() {
    loadjs(['/path/to/jquery.js', '/path/to/application.js']);
  });
</script>

Also, note that if you embed the loadjs code in the <head> that will also save you another trip to the server (for uncached files).
Hope that helps! Let me know if you have any other questions.

Hi @9mm! I'm happy to hear you're considering using LoadJS for your project.
In terms of URLs, you can use relative or absolute paths (including "//") to load files.
In terms of FOUC, loading CSS asynchronously can cause FOUC unless you wait until after the CSS has been loaded to render the content programmatically. To do this with loadjs you can use the success callback:
loadjs(['/path/to/application.css', '/path/to/jquery.js', '/path/to/application.js'], {
  success: function() {
    renderContent();
  }
});

In general, there's always a tradeoff between optimizing for pageload times and complexity but to keep things simple you could trigger the CSS download in the <head> and then load non-essential JS asynchronously after the window load event fires:
<link rel="stylesheet" type="text/css" href="/path/to/application.css">
<script>
  window.addEventListener('load', function() {
    loadjs(['/path/to/jquery.js', '/path/to/application.js']);
  });
</script>

Also, note that if you embed the loadjs code in the <head> that will also save you another trip to the server (for uncached files).
Hope that helps! Let me know if you have any other questions.

Awesome, thanks!

Awesome, thanks!

That's super helpful

That's super helpful

I think this will be a useful issue for others to see so I'm adding an "archive" label and reopening it.

I think this will be a useful issue for others to see so I'm adding an "archive" label and reopening it.

I am also wanting to tweak loading of scripts and stylesheets for a WP theme with loadJS and highly interested to learn how I could implement the renderContent(); function on successfull script and stylesheet load.
If not specifically for WP, on a simple static site with a few pages, how could I there possibly implement this renderContent(); approach on successful asynchronous load please? Could you elaborate or do you have a tiny jsFiddle perhaps?
I think performance optimization is the way to go and real measurable value for devs and clients alike.
Thank you for any help.

Can you explain what you're trying to do in more detail? In that example, renderContent() is just meant to be a placeholder for code that actually manipulates the DOM after jQuery and the application script loads.

Thank you for the swift reply.
I am trying to get rid of the fout and/or fouc that loading the stylesheet and script (not used for layout) asynchronously, produces. Since rendering of DOM content continues while the sheet and script are fetched, un-styled content can be seen.
I am somehow trying to for example make that un-styled content completely invisible before the loading is finished. For example give html a class of display none while loadJS gets the data and once done remove that class from the html element and let the style and script for the site take over.
Does that make sense? What other way could I possibly utilize to get rid of the fout / fouc?

The code inside the LoadJS success callback won't get executed until after the dependencies have been met so you as long as you add the DOM content there then you shouldn't see FOUT or FOUC.
If you already have content on the page that will get affected by the stylesheet then that's a different story. I don't think there's a one-size-fits-all solution to that but have you considered setting the default CSS to body {display:none} and then overriding it after the the page stylesheet loads?

Hello, @amorey I've noticed that once the files are loaded and cached. Let's say there are 2 pages each loading single file. Once they are cached I don't want them to show up in Network calls again (even tho it says loaded from cache). Is there any way I can achieve this?

@tabrez500 Sorry, I don't know of a way to control what the browser displays in the network calls list.


Unapproved models do trigger the deployment pipeline - mlops-template-gitlab

Hi,
Thank you for the great patterns, especially the mlops-template-gitlab one.
I believe I have found an issue with the mlops-template-gitlab pattern though.
Based on the design the deployment pipeline is only supposed to be triggered when the model is approved in the SageMaker Model Registry - but that doesn't seem to be the case. The deployment pipeline is triggered every time there is a new model in the registry, whether or not it has been approved.
Every time a new model makes it into the Model Registry it will trigger the EventBridge event (and so the deployment GitLab pipeline) as that is triggered by "SageMaker Model Package State Change" (which includes adding a new model) and NOT only by new approval of a model - see  https://github.com/aws-samples/sagemaker-custom-project-templates/blob/main/mlops-template-gitlab/project.yml#L142
This means once the build pipeline completes and a model makes it into the Model Registry, that will trigger the build pipeline even if the new model is not (yet) approved, so staging deployment WILL BE performed.
But it is true, that it is the latest "approved" model that will get deployed (or rather re-deployed) in staging, due to https://github.com/aws-samples/sagemaker-custom-project-templates/blob/main/mlops-template-gitlab/seedcode/mlops-gitlab-project-seedcode-model-deploy/build.py#L, so not necessarily the one that triggered the deployment pipeline (as that still might be unapproved).
Would it be possible to update the EventBridge rule (https://github.com/aws-samples/sagemaker-custom-project-templates/blob/main/mlops-template-gitlab/project.yml#L152) to only trigger on model approval?
Thanks

I have provided a fix for this in PR: https://github.com/aws-samples/sagemaker-custom-project-templates/pull/16


Refactoring: Use Process.StartTime instead of NLog global context variable (from RIS.Logging library)

Fixed by 006c248 commit


Useful to non-Zalandos?

Seems like it--maybe with more documentation we can promote?

I need to get some one to review it to make sure it is generic enough. Right now I think this is only used by lizzy.

I'm personally also not using it, because I don't want to use language-specific Docker build integrations (Maven also has a plugin).

@jmcs would you like some help on this? @hjacobs not clear on if your comment suggests that we abandon this project or not. Does the Maven plugin make this project duplicative or superfluous?

@LauriZalando @jmcs my comment was basically saying that I (personally) don't use the project (but I would be the target audience as a Python+Docker user) --- i.e. I have no strong feelings here ;-)

Thanks, @hjacobs. If you're the target audience but not using it, that tells me that it might not be a project we want to grow. Maybe I'm wrong, but it seems that a lot of developers would also want a language-agnostic Docker build integration in order to avoid an unnecessary constraint?


Using ExternalPagination and disabling pagination controls cannot coexist?

I configured ui-grid like this and I want to use my own pager calling $scope.toPage(pageNum) to do server based paging. When I use the native pager it can catch the pagination event, but it won't catch when I call the gridApi function.
    $scope.gridOptions = {
      enablePaginationControls: false,
      useExternalPagination: true,
      paginationPageSizes: [appConfig.PAGE_SIZE, 25, 50],
      paginationPageSize: appConfig.PAGE_SIZE,
      columnDefs: [
        { name: 'id', displayName: 'ID' },
        { name: 'code', displayName: 'code' },
        { name: 'parentid', displayName: 'parentID' },
        { name: 'name', displayName: '区名' },
        { name: 'level', displayName: 'level' }
      ],
      onRegisterApi: function(gridApi) {
        $scope.toPage = function(to){
          console.log('ch pg: ', to); //This worked but the listener below didn't work.
          gridApi.pagination.seek(to);
        };
        gridApi.pagination.on.paginationChanged($scope, function(currentPage, pageSize){
          console.log('page changed: ', currentPage);
          $scope.gridOptions.data = CityArea.query({  //fetching resource
            pagenow: currentPage,
            pagesize: pageSize
          });
        });
      }
    };

If you're using externalPagination, and you're using your own pager, what advantage would you get from having the paginationChanged event?  Why wouldn't your pager just call your external pagination directly?

Oh, why didn't I think of that...


[WIP] Make session serializer extensible

Continues #1452.
Refactors flask.session.TaggedJSONSerializer to a new flask.json.tag module. Creates a JSONTag interface and a TaggedJSONSerializer.register method to register new tags.
from flask.json.tag import JSONTag

class TagOrderedDict(JSONTag):
    __slots__ = ()
    key = ' od'

    def check(self, serializer, value):
        return isinstance(value, OrderedDict)

    def to_json(self, serializer, value):
        return [(serializer._tag(k), serializer._tag(v)) for k, v in iteritems(value)]

    def to_python(self, serializer, value):
        return OrderedDict(value)

app.session_interface.serializer.register(TagOrderedDict(), 0)

Since register takes an index, it can be used to override existing tags (although it would be slightly more efficient to subclass TaggedJSONSerializer instead). This can address #1908 by adding a higher-priority dict serializer that uses a different format to support non-string keys.
Closes #1438, #1511, #1908.
Still needs:

[x] refactor to move the serializer argument to self.serializer instead. It was an attempt at optimization but didn't change anything.
[x] refactor TagDict to split the logic between addressing #1511 and regular dict passthrough, as #1452 originally did. This was another optimization attempt that didn't help, it just made the code more confusing.
[ ] more tests
[ ] documentation

@ThiefMaster from https://github.com/pallets/flask/pull/1452#issuecomment-305609953:
Re: performance: new method is ~ 30 µs slower.
old: 70.7 µs ± 164 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)
new: 96.3 µs ± 678 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)

You'd need to handle 2,000,000 requests before you wasted 1 extra minute. There's always Flask-Session, etc. where server-side sessions are serialized with pickle, which is much faster.

ok, that seems fine


m3u generated but no longer plays in vlc

do we need to configure vlc player to work with this m3u? or is there some other way to get this m3u8 to work?

ignore above comment.  I was doing some post processing and did not pass some of the correct edits (for header info)   it works perfect as is

You're lucky you have it working in VLC. Most of the versions I have seen have a flaw in their HLS implementation that makes the #EXTVLCOPT directive only last for the initial call to the playlist, when it tried to go grab the chunks it resorts back to the VLC user-agent header and is thus blocked by the host ):
Glad it's working though! If it ever stops working in VLC I recommend MPV.
Enjoy!

You are correct.  I was setting the header manually in VLC to get it to
work (advanced option during network play back.)  Using automated way it
does not work.  However the main purpose i use your script is to post
process my own m3u8 (forwarding to tokens generated by yoru script every 5
min) using kodi iptv simpler client. Feel free to use my link for your
personal use but please do not release to public
http://vortex91.000webhostapp.com/armeniaUS is the m3u8.  first 89 channels
are from your script
http://vortex91.000webhostapp.com/guide.xml is the guide to go along with
it.
On Sat, Dec 7, 2019 at 8:53 PM schwifty42069<EMAIL_ADDRESS>wrote:

You're lucky you have it working in VLC. Most of the versions I have seen
have a flaw in their HLS implementation that makes the #EXTVLCOPT directive
only last for the initial call to the playlist, when it tried to go grab
the chunks it resorts back to the VLC user-agent header and is thus blocked
by the host ):
Glad it's working though! If it ever stops working in VLC I recommend MPV.
Enjoy!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/schwifty42069/pmg/issues/10?email_source=notifications&email_token=AHEZ5YGEIRSUG6RFHEUSVTTQXR4WFA5CNFSM4JXBDA22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGGV5HQ#issuecomment-562912926,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHEZ5YDBFAPXRALGQWTTW7TQXR4WFANCNFSM4JXBDA2Q
.

I can give you access to a server if you like
On Sun, Dec 8, 2019, 12:10 AM vortex91<EMAIL_ADDRESS>wrote:

You are correct. I was setting the header manually in VLC to get it to
work (advanced option during network play back.) Using automated way it
does not work. However the main purpose i use your script is to post
process my own m3u8 (forwarding to tokens generated by yoru script every 5
min) using kodi iptv simpler client. Feel free to use my link for your
personal use but please do not release to public
http://vortex91.000webhostapp.com/armeniaUS is the m3u8. first 89 channels
are from your script
http://vortex91.000webhostapp.com/guide.xml is the guide to go along with
it.
On Sat, Dec 7, 2019 at 8:53 PM schwifty42069<EMAIL_ADDRESS>wrote:

You're lucky you have it working in VLC. Most of the versions I have seen
have a flaw in their HLS implementation that makes the #EXTVLCOPT
directive
only last for the initial call to the playlist, when it tried to go grab
the chunks it resorts back to the VLC user-agent header and is thus
blocked
by the host ):
Glad it's working though! If it ever stops working in VLC I recommend
MPV.
Enjoy!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<
https://github.com/schwifty42069/pmg/issues/10?email_source=notifications&email_token=AHEZ5YGEIRSUG6RFHEUSVTTQXR4WFA5CNFSM4JXBDA22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGGV5HQ#issuecomment-562912926
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AHEZ5YDBFAPXRALGQWTTW7TQXR4WFANCNFSM4JXBDA2Q
.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/schwifty42069/pmg/issues/10?email_source=notifications&email_token=AN5TEHKTUXSJC2CNTXKWH73QXSTZDA5CNFSM4JXBDA22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGGYLRA#issuecomment-562922948,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AN5TEHM5IJWK6NRVNAKUAODQXSTZDANCNFSM4JXBDA2Q
.

is it full access?  or just ftp? are redicrect allowed?
On Sun, Dec 8, 2019 at 10:13 AM Bane<EMAIL_ADDRESS>wrote:

I can give you access to a server if you like
On Sun, Dec 8, 2019, 12:10 AM vortex91<EMAIL_ADDRESS>wrote:

You are correct. I was setting the header manually in VLC to get it to
work (advanced option during network play back.) Using automated way it
does not work. However the main purpose i use your script is to post
process my own m3u8 (forwarding to tokens generated by yoru script every
5
min) using kodi iptv simpler client. Feel free to use my link for your
personal use but please do not release to public
http://vortex91.000webhostapp.com/armeniaUS is the m3u8. first 89
channels
are from your script
http://vortex91.000webhostapp.com/guide.xml is the guide to go along
with
it.
On Sat, Dec 7, 2019 at 8:53 PM schwifty42069<EMAIL_ADDRESS>wrote:

You're lucky you have it working in VLC. Most of the versions I have
seen
have a flaw in their HLS implementation that makes the #EXTVLCOPT
directive
only last for the initial call to the playlist, when it tried to go
grab
the chunks it resorts back to the VLC user-agent header and is thus
blocked
by the host ):
Glad it's working though! If it ever stops working in VLC I recommend
MPV.
Enjoy!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<

https://github.com/schwifty42069/pmg/issues/10?email_source=notifications&email_token=AHEZ5YGEIRSUG6RFHEUSVTTQXR4WFA5CNFSM4JXBDA22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGGV5HQ#issuecomment-562912926

,
or unsubscribe
<

https://github.com/notifications/unsubscribe-auth/AHEZ5YDBFAPXRALGQWTTW7TQXR4WFANCNFSM4JXBDA2Q

.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<
https://github.com/schwifty42069/pmg/issues/10?email_source=notifications&email_token=AN5TEHKTUXSJC2CNTXKWH73QXSTZDA5CNFSM4JXBDA22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGGYLRA#issuecomment-562922948
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AN5TEHM5IJWK6NRVNAKUAODQXSTZDANCNFSM4JXBDA2Q
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/schwifty42069/pmg/issues/10?email_source=notifications&email_token=AHEZ5YD3QGRAFYAOSIFEGSDQXU2OBA5CNFSM4JXBDA22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGHFODI#issuecomment-562976525,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHEZ5YAZ2GTPNXX7XWGRETTQXU2OBANCNFSM4JXBDA2Q
.

Send me email<EMAIL_ADDRESS>

@vortex91 Hi. I'm wondering if you could maybe give me some directions on making "rehosted" or postprocessed list with forwarded tokens. Thanks, i hope you will reply someday. Best regards.


Error when running 'Single node Keras to distributed deep learning' Notebook with Databricks Runtime 6.3 ML

Hi everyone,
i encountered a issue when trying this example Notebook ( https://docs.microsoft.com/en-us/azure/databricks/_static/notebooks/deep-learning/mnist-tensorflow-keras.html ). It did not run when i chose the Runtime 6.3 ML (in the Notebook comment the requirement says 5.4 ML or higher). When i switched to 6.1 ML the Notebook ran without any problems.

Worker: Standard_NC6s_v3 (beta) x2
Driver:   Standard_NC6s_v3 (beta)
Autoscaling disabled
Error when running on 6.3 ML:
[1,0]:Using TensorFlow backend.
[1,0]:WARNING:tensorflow:From /databricks/python/lib/python3.7/site-packages/horovod/tensorflow/init.py:117: The name tf.global_variables is deprecated. Please use tf.compat.v1.global_variables instead.
[1,0]:
[1,0]:WARNING:tensorflow:From /databricks/python/lib/python3.7/site-packages/horovod/tensorflow/init.py:143: The name tf.get_default_graph is deprecated. Please use tf.compat.v1.get_default_graph instead.
[1,0]:
[1,1]:Using TensorFlow backend.
[1,1]:WARNING:tensorflow:From /databricks/python/lib/python3.7/site-packages/horovod/tensorflow/init.py:117: The name tf.global_variables is deprecated. Please use tf.compat.v1.global_variables instead.
[1,1]:
[1,1]:WARNING:tensorflow:From /databricks/python/lib/python3.7/site-packages/horovod/tensorflow/init.py:143: The name tf.get_default_graph is deprecated. Please use tf.compat.v1.get_default_graph instead.
[1,1]:
[1,0]:Traceback (most recent call last):
[1,0]:  File "", line 1, in
[1,0]:  File "/databricks/jars/third_party--mlruntime--spark-deep-learning--com.databricks__spark-deep-learning_2.11__1.5.0-db12-spark2.4_shaded.jar/sparkdl/horovod/runner.py", line 148, in wrapped_main
[1,0]:  File "", line 15, in train_hvd
[1,0]:  File "/databricks/python/lib/python3.7/site-packages/tensorflow_core/python/util/module_wrapper.py", line 192, in getattr
[1,0]:    attr = getattr(self._tfmw_wrapped_module, name)
[1,0]:AttributeError: module 'tensorflow' has no attribute 'set_session'
[1,1]:Traceback (most recent call last):
[1,1]:  File "", line 1, in
[1,1]:  File "/databricks/jars/third_party--mlruntime--spark-deep-learning--com.databricks__spark-deep-learning_2.11__1.5.0-db12-spark2.4_shaded.jar/sparkdl/horovod/runner.py", line 148, in wrapped_main
[1,1]:  File "", line 15, in train_hvd
[1,1]:  File "/databricks/python/lib/python3.7/site-packages/tensorflow_core/python/util/module_wrapper.py", line 192, in getattr
[1,1]:    attr = getattr(self._tfmw_wrapped_module, name)
[1,1]:AttributeError: module 'tensorflow' has no attribute 'set_session'

Primary job  terminated normally, but 1 process returned
a non-zero exit code. Per user-direction, the job has been aborted.
mpirun detected that one or more processes exited with non-zero status, thus causing
the job to be terminated. The first process to do so was:
Process name: [[8679,1],1]
Exit code:    1

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8ef10bbb-d0b0-654d-b3f0-6bccf963ce7f
Version Independent ID: 13d35172-ad55-238e-4fff-c9d1f19a6a8b
Content: Single node Keras to distributed deep learning - Azure Databricks
Content Source: databricks/applications/deep-learning/distributed-training/mnist-tensorflow-keras.md
Service: azure-databricks
GitHub Login: @mamccrea
Microsoft Alias: mamccrea

@jhnns-s Thanks for the feedback. We are investigating the issue and will update you shortly.

@jhnns-s Thanks for bringing this to our attention. Your feedback  has been shared with the content owner for further review.

@CHEEKATLAPRADEEP-MSFT I am hitting the same error. Is there any update on the fix?

@mamccrea Could you please look into this issue?

We are currently investigating this issue.

The notebook has been updated and should work. If you continue to have issues, please reopen this issue.
#please-close


Can't get past the first hurdle

bizzel:~/workspace $ learnyoumongo verify solution.js
Failed to load c++ bson extension, using pure JS version
/home/ubuntu/workspace/solution.js:28
mongo.connect(url, function(err, db) {
^
TypeError: Cannot read property 'connect' of undefined
at Object. (/home/ubuntu/workspace/solution.js:28:6)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
at startup (node.js:139:18)
at node.js:974:3

@JohnnyBizzel Hi, have you solved the issues?
This link might be useful for you: http://stackoverflow.com/a/24087898

@JohnnyBizzel can you please paste the contents of solution.js? Thanks!


Performance testing - capitation

As a <>
I want <>
So that <>

https://github.com/edenlabllc/performance_testing

Tested with locust on preprod with configuration:
min_weight = 10
max_weight = 10
users = 100
GET /reports/stats
annon: 950 rps (max). 3 replicas on different physical nodes.
Uses maximum CPU (maximum of available), hangs after high load and didn't back to normal after load decreased. Only pods manual restart helped.
kong: 1500 rps(max). 3 replicas on the same physical node. Default setup used, no extra plugins enabled.
Uses ~10% of CPU (each instance), reports api microservice limit reached (so kong can do more)
POST /api/employee_request
annon: 100 rps (max). IL api microservice limit reached (gateway can do more)
kong: not tested yet (need to create a Docker image with mithril plugin)
In conclusion
In synthetic tests kong average response time is 8ms faster than gateway (44 against 52), the service is stable and response time doesn't decrease after period of high load and CPU load is close to 0 without load. Kong rps is higher in 1.5 times than gateway (available resources and conditions are equal).

Tested again with a single instance of gateway and kong on dev. Single instance of reports pod and two instances of il pod.
GET /reports/stats
Gateway: 256.17rps
Kong: 329.15rps
POST /api/employee_requests (create employee_request)
Gateway: 42.25rps
Kong: 49.22rps
In both cases, microservices limit reached. Gateway and kong can do more, but same difference in CPU usage. In conclusion, Kong consumes less CPU, faster (up to 1.5 times) and is more stable especially on high load.


pre block - error: precondtions failed

When I do something like that
    pre do |global_options, _command, _options, _args|
      Paint.mode = 0 unless global_options[:color]
    end

or even like that
    pre do |global_options, _command, _options, _args|
      puts "test"
    end

I get the error error: precondtions failed.
So that my code can continue and to avoid the failure, I have to add a truthy (true, 1, etc.) return value.
    pre do |global_options, _command, _options, _args|
      Paint.mode = 0 unless global_options[:color]
      true
    end

If the output of the last command in the pre block returns nil or false (but not 0) it fails.
It's what explained here: https://www.rubydoc.info/gems/gli/2.21.1/GLI/App#pre-instance_method

Define a block to run after command line arguments are parsed but before any command is run. If this block raises an exception the command specified will not be executed. The block will receive the global-options,command,options, and arguments If this block evaluates to true, the program will proceed; otherwise the program will end immediately and exit nonzero

I wonder why this behavior was chosen, it's not really handy in many cases.

The thinking was that I didn't want exceptions to be the only way to bail out, so it seemed logical to also use the "truthiness" concept in Ruby, i.e. nil and false both evaluate to false in an conditional.
You could do an around block, but you'd have to call .call:
around do |global,_command,_options,_args,code|
  Paint.mode = 0 unless global_options[:color]
  code.call
end

Closing as this is intended and documented behavior (even though I understand it's not ideal for your use case)

Thank you for your explanation.


Create a wireframe of homepage

Let's start with a wireframe showing how we will display all the content on the page.

Ok amigos!
Here's a first take at a layout. I have a few other ideas to try on the header but I'll let you guys go first and tell me what you think.
Don't be shy saying what you don't like, I'm a big boy and can take any heat :)... but you can also tell me what you like :)
Aaaaanyway:

Ricardo,
I like the layout. I am curious what else you have on your mind though.
I thought you would have a design more integrated with the logo "feel" - something with more lines and angles. But that's probably making it "busy" for no reason.
I assume the hero would have video (where Annye is pictured). I like how it's partially masked to give intrigue or curiosity.
-Allen

@AllenMay, this is a wireframe, so don't expect any/many design elements in it.
@ricardozea, Looks good. Some considerations for changes:

I think we should make upcoming meeting front and center, making that full width and putting the recent/past meetings below. Or, if we keep sidebar content, we should put the About Us stuff in the sidebar.

Should we log these discussions in the Issues section of the repo? Just
saying. I'm fine with doing it via email as well.
That's correct, this is a wireframe to give a first idea of content
architecture and layout. I usually add a few design elements to it like the
DWD log in the back, the header with the angled division and the fonts. But
that can change in the design.
Nathan, I agree with you. Actually one idea I had in mind was something
along those lines too, so I'm glad you mentioned it.
Will send out revision 2 later today.
Thanks for the feedback, keep it coming.
--
Ricardo Zea
On Mon, Aug 24, 2015 at 11:16 AM, Nathan Rambeck<EMAIL_ADDRESS>wrote:

@AllenMay https://github.com/AllenMay, this is a wireframe, so don't
expect any/many design elements in it.
@ricardozea https://github.com/ricardozea, Looks good. Some
considerations for changes:

I think we should make upcoming meeting front and center, making
that full width and putting the recent/past meetings below. Or, if we keep
sidebar content, we should put the About Us stuff in the sidebar.

—
Reply to this email directly or view it on GitHub
https://github.com/daytonweb/website/issues/1#issuecomment-134244417.

Here's RV2.
I suggest you click on the image to see it a 100% zoom to get a more realistic idea of the actual size of the page and the layout.

I wasn't happy with RV2 so I made RV3:

I've put the three wireframes side by side and removed the images to make it more "wireframe" and reduce visual bias:

Version 1:

I like the unusual masthead/banner

Version 2:

Compared to Version 1 and 3, It feels "lose" or unstructured

Version 3:

The logo is less dominant than Version 1 or 2
It feels "tighter"

I like (in ranking order) versions: 3,1,2

I like this last one Ricardo. Let's go with it.

Allen, I like what you did there, very helpful.
I have to say that I've never liked the boxes with the X in them, it leaves
so much out interpretation :p
Anyhow, in the design step things can still change so I'll try a few
things. Obviously the layout an flow will remain.
One thing to note: All wireframes here already have a few design elements,
that you will see in the design itself. For example in #3, the box
containing the author info overlapping the lower band, will very like
remain in the design. I do this so I can start addressing design ideas from
the inceptions of the layout.
--
Ricardo Zea
On Mon, Aug 31, 2015 at 7:50 AM, Nathan Rambeck<EMAIL_ADDRESS>wrote:

I like this last one Ricardo. Let's go with it.
—
Reply to this email directly or view it on GitHub
https://github.com/daytonweb/website/issues/1#issuecomment-136348840.

Sounds good to me. #3 it is.
What's next?
Nathan, are you going to create a Gulp build?
-Allen
Sent from my iPhone

On Aug 31, 2015, at 11:47 AM, Ricardo Zea<EMAIL_ADDRESS>wrote:
Allen, I like what you did there, very helpful.
I have to say that I've never liked the boxes with the X in them, it leaves
so much out interpretation :p
Anyhow, in the design step things can still change so I'll try a few
things. Obviously the layout an flow will remain.
One thing to note: All wireframes here already have a few design elements,
that you will see in the design itself. For example in #3, the box
containing the author info overlapping the lower band, will very like
remain in the design. I do this so I can start addressing design ideas from
the inceptions of the layout.
--
Ricardo Zea
On Mon, Aug 31, 2015 at 7:50 AM, Nathan Rambeck<EMAIL_ADDRESS>wrote:

I like this last one Ricardo. Let's go with it.
—
Reply to this email directly or view it on GitHub
https://github.com/daytonweb/website/issues/1#issuecomment-136348840.

—
Reply to this email directly or view it on GitHub.

I'm fine with whatever process but I suggest to see the design and agree on it first if possible since things can change a bit from wireframe to design.
Just a suggestion, but again, I'm fine with whatever.


bug: dearmor hangs forever if end marker is missing.

The following test case for src/armor/reader.rs triggers an issue where the dearmor code hangs forever. I figured out that it's related to the fact that the end marker is missing.
    #[test]
    #[should_panic]
    fn test_parse_armor_missing_end_marker() {
        let c = Cursor::new(
            "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\
             Version: GnuPG v1\n",
        );
        // pgp 0.4.0 would hang forever if the end marker is missing.
        let _ = parse(c).unwrap();
    }

Other input examples:

"-----END PGP\n" correctly returns an error.
"Hello, World!" hangs forever.

I debugged this issue and it looks like this happens when the header string is evaluated as incomplete by the nom parser. header_parser() result matches Err(nom::Err::Incomplete(_)) and and Err of type io::ErrorKind::Interrupted is returned.
This Err is then ignored by dearmor.read_to_end(), which keeps calling read() and the test hangs.
This is expected behaviour for Read so I'm wondering if there is a legitimate case where reading after a io::ErrorKind::Interrupted is expected or if another error like io::ErrorKind::InvalidData should be returned so is not ignored. I tested that change and the tests don't break, but I'm new with this codebase, so maybe I missed something.

I would says the mapping from Incomplete to Interrupted needs to become more sophisticated. But it is tricky, as for example a stream of bytes from the network, could very well have an interruption at this point, but be resumed on the next call.


Publishing a file with Unicode characters in the filename prevents the Downloads & Purchases view from displaying items

The Issue
After publishing a file with the filename Bassnectar - Reaching Out ★ [Unlimited].mp3 and restarting the application, the Downloaded and Published views are stuck with the "Loading" message and they do not display any items.
I also get the following error output in the developer tools console.
"{
  "code": -32500,
  "data": {
    "traceback": [
      "Traceback (most recent call last):",
      "  File \"site-packages\\twisted\\internet\\defer.py\", line 1355, in gotResult",
      "    ",
      "  File \"site-packages\\twisted\\internet\\defer.py\", line 1299, in _inlineCallbacks",
      "    ",
      "  File \"site-packages\\lbrynet\\lbrynet_daemon\\Daemon.py\", line 952, in _get_lbry_files",
      "    ",
      "  File \"site-packages\\twisted\\internet\\defer.py\", line 1445, in unwindGenerator",
      "    ",
      "--- <exception caught here> ---",
      "  File \"site-packages\\twisted\\internet\\defer.py\", line 1299, in _inlineCallbacks",
      "    ",
      "  File \"site-packages\\lbrynet\\lbrynet_daemon\\Daemon.py\", line 856, in _get_lbry_file_dict",
      "    ",
      "  File \"ntpath.py\", line 85, in join",
      "    ",
      "exceptions.UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 26: ordinal not in range(128)",
      ""
    ]
  },
  "message": "'ascii' codec can't decode byte 0xe2 in position 26: ordinal not in range(128)"
}"

Steps to reproduce

Publish a file that contains Unicode characters in the filename similar to the one above.
Restart the lbry application.
Click on the "Downloads & Purchases" icon and observe.

Expected behaviour
The Downloaded and Published views should display items that have been downloaded and published.
Actual behaviour
The Downloaded and Published views are stuck displaying the "Loading" message, and no items are displayed.
System Configuration

LBRY Daemon version: 0.13.1
LBRY App version: 0.13.0
LBRY Installation ID: 8qNojwfT9CVjk1rufVgg85Aw9krtAztVLVCbb78tnwrvXDEWHPdAcBMcvgn8Mag6Uc
Operating system: Windows (Windows-10-10.0.15063)

Screenshots
https://www.dropbox.com/s/b8wg9164twe9oyl/lbry-downloads-and-purchases.png?dl=0

Please see:
lbryio/lbry#692
lbryio/lbry#750

I was just about to give Shockr a heads up about that, it should be fixed in the next daemon release. Think you can try running it now with the app.


Defer Config Initialization Until Before Server Start

Not needed, as this is for client-side config.


✨ feat: supported registerPush (#709)

1. Description

1.1. Checklist

[ ] The title of my PR starts with a Conventional Commit prefix (fix:, feat:, docs: etc).
[ ] I have read the Contributor Guide and followed the process outlined for submitting PRs.
[ ] I have updated/added tests for ALL new/updated/fixed functionality.
[ ] I have updated/added relevant documentation in docs and added dartdoc comments with ///.
[ ] I have updated/added relevant examples in examples.

1.2. Breaking Change

[ ] Yes, this is a breaking change.
[ ] No, this is not a breaking change.

1.3. Related Issues

Codecov Report

Merging #710 (e4c87f4) into main (c6c8345) will increase coverage by 4.77%.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main     #710      +/-   ##
==========================================
+ Coverage   80.35%   85.13%   +4.77%
==========================================
  Files         225        3     -222
  Lines        2744       74    -2670
==========================================
- Hits         2205       63    -2142
+ Misses        539       11     -528

see 222 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more