Maybe?

People asked me to.
This PR adds the 2 following utility classes:

The Maybe monad, that is basically a better overall implementation of Java's Optional.
The Lazy class, that allows for lazy initialization of a value(currently not that thread-safe, be warned)

This PR is fine but I don't see the purpose behind it. Why does QSL need these utils?

This PR is fine but I don't see the purpose behind it. Why does QSL need these utils?

If I remember correctly these are used in the component api

If I remember correctly these are used in the component api

Also, there are quite a lot of performance and overall improvements both functionality-wise and performance-wise.

It might be worth documenting on Maybe what the differences from Optional are; currently, it's a bit hard to tell why one might want to use this in place of Optional

As far as I understand with my little JVM knowledge, this cannot be any "better than Optional" performance-wise.
Optional is a final class with a final, nullable field, and single implementations of all its methods.
Having an abstract class with abstract methods and 2 implementations can only be slower... do you have any proof for it being better?
The Optional -> Maybe helper also looks very suspicious.
That aside... avoiding to use Optional (or Maybe, or whatever you want to replace it with) may look a bit worse for APIs... but does that overweigh the performance benefits of using simple null/non null values instead?
On Lazy: multiple libraries Minecraft depends on provide facilities that lazily compute a value when required, why would one use this over those?

If I remember correctly these are used in the component api

Also, there are quite a lot of performance and overall improvements both functionality-wise and performance-wise.

I would like to see actual numbers and tests ran to prove that as that doesn’t seem right. There are other options besides reimplementing optional. This is definitely a case of take a step back and look over the whole goal again as some people have stated this PR is basically one big code smell which may be indication of a bigger underlying issue that this pr is masking.

one big code smell which may be indication of a bigger underlying issue that this pr is masking.

So I take it this is targeting the component API.
Firstly, I can assure you that the component API doesn't require the Maybe class per se. I had a discussion in Discord with Lambda and Platymeno about this. I just made the Maybe class for another project I was working on, and after using it I thought that this would be cool to work with on other projects as well. I asked and people seemed to not have a big problem with it.
Component API was using Optional in the beginning as well. It doesn't require Maybe nor is Maybe hiding an underlying component API issue.
I feel a bit attacked by this, but I guess its not that big a deal. It's only natural for people to be suspicious of things like this.

I would like to see actual numbers and tests ran to prove that as that doesn’t seem right.

I am in the middle of running some tests right now. I will post the results once I am done.
Finally
I would like to say that whether Maybe and Lazy make it into the qsl or not, isn't that big a deal for me.
If  people don't approve of them, I am just fine using Optional and Suppliers.memoize for everything.

Since nobody seems to have yet benchmarked this properly before making performance claims, I did. The benchmark code is here, uses JMH on Java 17, feel free to try and replicate my results.
Bottom line: Maybe is just as fast as Optional, within the margin of error and in a few cases very slightly slower. There is zero evidence that Maybe is faster in any tangible way.
Results:
Benchmark                                                 Mode  Cnt   Score   Error  Units
MaybeVsOptionalBenchmark.benchmarkOptionalNew             avgt   15  25.028 ± 1.066  ns/op
MaybeVsOptionalBenchmark.benchmarkMaybeNew                avgt   15  29.014 ± 3.828  ns/op

MaybeVsOptionalBenchmark.benchmarkOptionalIsPresent       avgt   15  24.688 ± 0.767  ns/op
MaybeVsOptionalBenchmark.benchmarkMaybeIsPresent          avgt   15  27.994 ± 4.216  ns/op

MaybeVsOptionalBenchmark.benchmarkOptionalOrElse          avgt   15  24.883 ± 0.797  ns/op
MaybeVsOptionalBenchmark.benchmarkMaybeOrElse             avgt   15  24.838 ± 0.935  ns/op

MaybeVsOptionalBenchmark.benchmarkOptionalOr              avgt   15  24.803 ± 0.647  ns/op
MaybeVsOptionalBenchmark.benchmarkMaybeOr                 avgt   15  24.569 ± 0.126  ns/op

MaybeVsOptionalBenchmark.benchmarkOptionalMapToString     avgt   15  67.577 ± 1.989  ns/op
MaybeVsOptionalBenchmark.benchmarkMaybeMapToString        avgt   15  67.084 ± 0.307  ns/op

MaybeVsOptionalBenchmark.benchmarkOptionalFilterHashCode  avgt   15  40.836 ± 0.501  ns/op
MaybeVsOptionalBenchmark.benchmarkMaybeFilterHashCode     avgt   15  40.831 ± 0.194  ns/op

My take on this is that, with that benchmark in mind, Maybe isn't particularly valuable; whether the components system should use optionals or just pass null values is another question, that I won't comment on without looking at those more closely. In terms of Lazy, I can see the value it has as opposed to Suppliers.memoize; after all, if you get a Lazy, you can be sure that it is lazy and not have to manually memoize it as you would a supplier. However, calling memoize on an already memoized supplier shouldn't have an appreciable performance impact in most cases (I haven't actually benchmarked this, so I won't claim more than that).
I believe, though am not certain, that the potential "underlying" issue in the components API being referred to was the use of optionals at all, as opposed to passing null values directly. (i.e, the difference between having a NotNull optional that is either empty or not, or just passing a Nullable value straight away), though I'm not certain myself on the costs/benefits of either approach, or whether this is the right place to discuss that.

Well, it seems like a decision has been reached. I will therefore close this PR and move components over to Optional or a Nullable method return value. Thanks everyone for your contributions. I am sorry this didn't happen earlier but I was on holidays this past week.


Allow custom data (or tag, or JSON) attached to symbols and other annotations

In general, it's useful for clients of an API to be able to associate their own custom data with instances of object types owned by the API.  In this case, it's useful for clients of the Mapbox SDK to be able to associate their own custom data with annotation objects.
For example, if each symbol corresponds to an object that has an ID in the client app, it could be useful to attach that ID to the symbol so the client app can find the object associated with a given symbol.  Or, suppose each symbol identifies a point that has a latitude, longitude, and altitude; it could be useful to add a custom numeric field to the symbol for the altitude.
The Google Maps SDK supports this by letting you attach an arbitrary Java object to a Marker with the Object getTag() and setTag(Object) methods.
For the Mapbox SDK, I could imagine a couple of possible solutions:

Add Object getTag() and setTag(Object) methods to Annotation, just like Google Maps.

Add a JsonObject getData() method that returns a JSON container (initially empty).  The caller can then freely manipulate the JSON container, reading and writing whatever fields it wants.

Solution 1 is more flexible and easy to use because you can attach anything.
Solution 2 seems like it might be closer to following the conventions of the Mapbox SDK, which seems to store everything internally as JSON.  I don't really understand the reason for this convention, though; maybe it's for serialization?  In that case, if the JSON data container is emitted as part of the Annotation's JSON, that would make it easier to serialize and restore the custom data fields along with the rest of the Annotation's fields.
Also, there's no reason why you couldn't support both.

@zestyping attaching an arbitrary java object won't be possible as the annotation plugin is backed by a geojson source, the data stored should follow the geojson rfc and as already indicated we need to be able to serialize that data. That said, option 2 is a viable solution to your issue.

Okay, option 2 totally works!  What API call is the right way to do this?


GUACAMOLE-437: Allow to send custom headers with the Guacamole tunnel requests

https://issues.apache.org/jira/browse/GUACAMOLE-437
When establishing a Guacamole tunnel to an endpoint that requires (for example) authentication, it is often needed to send custom headers. The existing withCredentials option works well for session cookies in cross-domain environments, but when there are no sessions or authentication relies on headers, there is no way to have an authenticated tunnel request.
This PR adds an optional variable to the HTTPTunnel so users can configure a set of custom headers to be sent on every tunnel request. That can be used to configure additional headers for authentication, distributed tracing, and other needs. Something like:
var tunnel = new Guacamole.HTTPTunnel(endpoint, true);
tunnel.extraHeaders = {
    "X-Auth-Token": "Foo",
    "X-Auth-Signature": "Bar",
    "X-Trace-Id": "uuid"
};
var guac = new Guacamole.Client(tunnel);

I've also preferred not to add the extra headers to the tunnel constructor to keep backward compatibility.

To start, you need to open a JIRA issue for this and tag both this pull request and the commits with the JIRA issue (GUACAMOLE-XXX).

Though useful in the case of the HTTP tunnel, anyone that must rely on this feature will implicitly be unable to use WebSocket, since there is no mechanism to add such headers via JavaScript's WebSocket API.
This is not necessarily a sign that this shouldn't be done, but something worth thinking about. Any solution which must leverage this feature will have inherently limited performance.

Thanks for the review and the javascript hints. I am from the Java world and trying to get used to it :)
I've applied the suggested fixes and moved the configuration of the headers to the constructor.

Though useful in the case of the HTTP tunnel, anyone that must rely on this feature will implicitly be unable to use WebSocket, since there is no mechanism to add such headers via JavaScript's WebSocket API.

Yes, and that's a limitation on the WebSocket API itself. Whilst it can be used for Basic auth, by setting the credentials in the websocket URL, it does not support headers or an other auth schema. It is not a Guacamole limitation but a WebSocket API one, so I'd say it is fair to assume users connecting to a websocket endpoint will be already aware of that.

Once the PR is good to merge I'll squash the commits into a single one and properly tag the commit with the JIRA id for a clean merge.

Looks generally good, however:

Once the PR is good to merge I'll squash the commits into a single one and properly tag the commit with the JIRA id for a clean merge.

If you wish to squash things, that's definitely your choice, but we don't have a requirement for this. As long as commits cover logical changes and properly tagged with the JIRA issue, things are good.
That said, please don't put off intended changes until after review passes. That would defeat the purpose of review, and could result in your changes being lost during merge of the approved changes.

Fixed.
I tend to squash the commits to avoid merging meaningless commits like review fixes, etc, after the PR is approved, but that's entirely up to the reviewers. If you want me to squash the commits before merging, just let me know. If you want to directly merge as-is or squash them yourselves, please, do it 😄
Thanks for having a look at the PR so quickly!

If you want me to squash the commits before merging...

Done


8 Puzzle Game using Vanilla JS

WebMasterLog Repository (Proposing new issue)
:red_circle: Project Title :  8 Puzzle Game
:red_circle: Aim : The 8 Puzzle Game is a sliding puzzle with a 3x3 grid and eight numbered tiles plus one empty space. The goal is to arrange the tiles in numerical order by sliding them into the empty space.
:red_circle: Tech Stack Used :  HTML, CSS, JS
:red_circle: Category : Vanilla JS

📍 Follow the Guidelines to Contribute in the Project :

You need to create a separate folder named as the Project Title.
Inside that folder, there will be all the main components.

Cover image of the application, if project will be deployed in future, with the name of the folder in Kebab-Case (hypen-separated).
Main files in formatted state so that code will be readable.
Other Images - In seprate folder named Images used to form the application.

Inside the Project folder, the README.md file must be filled up properly, with proper visualizations and descriptions.

:red_circle::yellow_circle: Points to Note :

The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.
"Issue Title" and "PR Title should be the same. Include issue number along with it.
Follow Contributing Guidelines & Code of Conduct before start Contributing.

:white_check_mark: To be Mentioned while taking the issue :

Full name : Surajit Maity
GitHub Profile Link : https://github.com/Surajit0573
What is your participant role? JWOC Contributor

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎

@Surajit0573  No More Games are allowed in this repository.


Not Permitted Message

Permission Not Permitted
When I click read file button, I get 'Not Permitted` message on Frappe.
To Reproduce
Steps to reproduce the behavior:

Go to New OCR Read
Import pdf/image file
Click read file button
See error

** What I tried **

Clear browser cache and run bench clear-cache
I tried on several users(include Administrator)

Screenshots

Desktop

OS: Ubuntu 20.04
Browser: Chrome
Version: latest version

Actually that is the case with any custom document I have created having file attachment field. Good to see a post of same error, otherwise was think I am missing some configuration.

Any update on this issue
I am facing same issue on version 13
tried whitelisting the read_image methods.
Still issue persists .

Old subject, and not not working on this anymore, but probably still relevant.

Change this py file like below.


Is there any documentation?

Hello! This project sounds very interesting along the lines of mriqc but unfortunately I can't seem to find any documentation or at least some example Jupyter notebooks. Any help? Thanks!

Try the qmtools support site: https://github.com/hickst/qmtools-support
[https://opengraph.githubassets.com/94302db1ea2aa82ee60d6e15642944ab5e765bc0628bd126e6a2cf2877d9181a/hickst/qmtools-support]https://github.com/hickst/qmtools-support
GitHub - hickst/qmtools-support: Support project for running QMTools from the QMTools Docker containerhttps://github.com/hickst/qmtools-support
Support project for running QMTools from the QMTools Docker container - GitHub - hickst/qmtools-support: Support project for running QMTools from the QMTools Docker container
github.com
-Dianne
Dianne Patterson, Ph.D
RII Neuroimaging Staff Scientist
Speech, Language and Hearing Sciences, Room 314
@.***
https://profiles.arizona.edu/person/dkp

From: Ioannis Valasakis @.>
Sent: Sunday, December 19, 2021 2:51 PM
To: hickst/qmtools @.>
Cc: Subscribed @.***>
Subject: [EXT][hickst/qmtools] Is there any documentation? (Issue #4)
External Email
Hello! This project sounds very interesting along the lines of mriqc but unfortunately I can't seem to find any documentation or at least some example Jupyter notebooks. Any help? Thanks!
—
Reply to this email directly, view it on GitHubhttps://github.com/hickst/qmtools/issues/4, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAHLUQFU33HDTFXTA7C7PZ3URZHUTANCNFSM5KMKWLKQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message ID: @.***>


update tableland deps

Updating the tableland deps with the newest registry and validator

package conflicts need to be resolve, but other than that looks gtg.

Awesome!  I'll rebase now.


Pylint incorrectly identifies tensorflow public API functions in tensorflow 2.2+

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Apart from the example below, no
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 16.04/OSX 10.15.6
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: :x:
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 2.2+
Python version: 3.7.4
Bazel version (if compiling from source): :x:
GCC/Compiler version (if compiling from source): :x:
CUDA/cuDNN version: :x:
GPU model and memory: :x:

Describe the current behavior
When using pylint, a lot of functions from the public API are misidentified.
For example, the public api function tf.split, which is publicly defined as tensorflow/python/ops/array_ops.split is misidentified (I think as tensorflow/python/ops/gen_array_ops.split).
Other examples include tf.random.uniform, tf.concat and the list goes on.
Let's take the code snipped below:
example.py:
import tensorflow as tf

tensor = tf.random.uniform((2, 4), minval=0, maxval=256)
tf.split(tensor, num_or_size_splits=2, axis=-1)

This is perfectly fine code, it runs as expected.
However, when running pylint both functions are misidentified and lots of linting errors are raised.
Running pylint on the module (pylint -E example.py) gives:
example.py:3:9: E1123: Unexpected keyword argument 'minval' in function call (unexpected-keyword-arg)
example.py:3:9: E1123: Unexpected keyword argument 'maxval' in function call (unexpected-keyword-arg)
example.py:3:9: E1120: No value for argument 'dtype' in function call (no-value-for-parameter)
example.py:4:0: E1123: Unexpected keyword argument 'num_or_size_splits' in function call (unexpected-keyword-arg)
example.py:4:0: E1124: Argument 'axis' passed by position and keyword in function call (redundant-keyword-arg)
example.py:4:0: E1120: No value for argument 'value' in function call (no-value-for-parameter)
example.py:4:0: E1120: No value for argument 'num_split' in function call (no-value-for-parameter)

Describe the expected behavior
Running pylint -E example.py should not give any errors.
Standalone code to reproduce the issue
import tensorflow as tf

tensor = tf.random.uniform((2, 4), minval=0, maxval=256)
tf.split(tensor, num_or_size_splits=2, axis=-1)

Other info / logs
This occurs with tensorflow>=2.2.0.
Previous versions of tensorflow 2.X (e.g. tensorflow 2.1.X and tensorflow 2.0.X) do not have these problems.
I have used pylint==2.6.0 for the example, but previous versions have the same behaviour.
One of the things that might have caused this (just a guess) is the upgrade to a new version of gast that occurred in tensorflow 2.2, where they went from gast==0.2.2 to gast==0.3.3.
Now, I know that this issue is not a code breaking issue, but it is a workflow breaking issue when using tensorflow in a professional setting. For example, one of the requirements for passing all steps in the CI may be running pylint, which now fails. Pylint allow disabling errors for specific third-party packages, so really the only solution is to add a pylint: disable=... comment every time you use a tensorflow function which is misidentified or to disable pylint for the project all together. Both options aren't desirable.
This issue was also raised in the pylint repo (https://github.com/PyCQA/pylint/issues/3613) and probably also related to https://github.com/PyCQA/pylint/issues/3596. But I don't think these issues belong in the pylint repo(orastroid` for that matter), but here in the tensorflow repo as it's probably caused by the import structure of tensorflow.
One lead might be that a wildstar import overwrites functions. An examples might be the wildstar import in https://github.com/tensorflow/tensorflow/blob/v2.2.0/tensorflow/python/ops/array_ops.py#L40 which overwrites tensorflow/python/ops/array_ops.split with the starred import tensorflow/python/ops/gen_array_ops.split. I'm not sure, but not performing wildstar imports might solve this linter problem.

This is true with newer pylint versions. As you see currently in master we are on 1.6.4:
tensorflow/tools/ci_build/rel/ubuntu/sanity.sh:sudo python2 -m pip install pylint==1.6.4
tensorflow/tools/ci_build/rel/ubuntu/sanity.sh:sudo python3 -m pip install pylint==1.6.4
tensorflow/tools/ci_build/presubmit/ubuntu_16/sanity/build.sh:  sudo python3 -m pip install pylint==1.6.4
tensorflow/tools/ci_build/install/install_centos_pip_packages.sh:pip2 install pylint==1.6.4
tensorflow/tools/ci_build/install/install_centos_pip_packages.sh:pip3 install pylint==1.6.4
tensorflow/tools/ci_build/install/install_pip_packages.sh:# pylint==1.6.4 requires python-astroid (>= 1.4.5) requires lazy-object-proxy
tensorflow/tools/ci_build/install/install_pip_packages.sh:pip2 install pylint==1.6.4
tensorflow/tools/ci_build/install/install_pip_packages.sh:pip3 install pylint==1.6.4
tensorflow/tools/ci_build/release/ubuntu_16/sanity/build.sh:sudo python2 -m pip install pylint==1.6.4
tensorflow/tools/ci_build/release/ubuntu_16/sanity/build.sh:sudo python3 -m pip install pylint==1.6.4

Ahh, I see. I can indeed verify that when using pylint==1.6.4, there are no linting errors in the example.py I mentioned.
Are there plans to support newer versions of pylint? pylint==1.6.4 was released on July 19th 2016 and numerous improvements have been made since.

I don't know just let see what kind sanity checks will fails with https://github.com/tensorflow/tensorflow/pull/43040.

I did some more digging with older versions of pylint.
No errors on example.py:

last 1.x release (1.9.5): ✅
2.0.1 up until 2.2.3 gave an error that probably has something to do with the astroid dependency https://github.com/PyCQA/astroid/issues/649
2.3.3: ✅
2.4.4: ✅
2.5.3: ❌
2.6.0: ❌

Now these only check the minimal example above, but might give an indication of what might still work.
I saw that 69a975e6a35279a91035f601b36f6771331d6619 upgrades to 2.6.0 and the CI failed. Maybe we could try upgrading to one of the versions above?

With 2.6.0 the list of things to fix or ignore it is quite long:
https://source.cloud.google.com/results/invocations/65c2a3ec-39f8-4d43-823d-ba791a96cbb2/targets/%2F%2Ftensorflow%2Ftools%2Fci_build:gen_ci_sanity_out/log

I can imagine that the list is quite large. There are a lot of new error code introductions along the way to newer versions.
Would you (or the tensorflow team) be interested in bumping one minor pylint version at a time and fixing/disabling issues along the way? I can image that fixing (at least some of them) would require backwards-compatibility breaking changes.

@ScaleRunner Yes let's see what they want to do after having an overview on the LOG.

Was able to reproduce the issue with TF v2.3 and TF-nightly. Please find the gist of it here. Thanks!

can i solve this issue?

@mihaimaruseac Please reopen this.

@mihaimaruseac I've maintained the related PR branch so let know if we want to handle this with another PR or do you want to push this internally.

If you want to work on it that should be good, I'll handle off on fixing this internally.
Do you want the full list of error messages?

@mihaimaruseac I think the problem Is more on the policy point of view and I don't know where we want to discuss this cause we need some feedbacks from the internal team. Also with the current pylint versiin we are in a mix of accepted pylint error that we ignore and things that we care.
On what we want to expand the allowed-list and what instrad we need to fix? So we Need to collect an  internal feedback somewhere.

The ignored list was seeds with errors that the internal python linting and formatting tools would allow but fail in OSS. Then stuff got added to the ignored list to fix breakages but these would need to be removed in time.
We also have inline annotations that at some point will have to be cleared if not relevant anymore but there's no timeline on that.

The ignored list was seeds with errors that the internal python linting and formatting tools would allow but fail in OSS. Then stuff got added to the ignored list to fix breakages but these would need to be removed in time.
We also have inline annotations that at some point will have to be cleared if not relevant anymore but there's no timeline on that.

I think that the currently it is a little bit different cause we have  a specific error list to fail:
https://github.com/offscale/tensorflow/blob/master/tensorflow/tools/ci_build/ci_sanity.sh#L203-L213
And a general allow list:
https://github.com/offscale/tensorflow/blob/626a13aafa15d2a0d51c1cf9251a074a6b65ae3b/tensorflow/tools/ci_build/ci_sanity.sh#L100-L121
Plus inlines.


skewt_1

Closes #132
The original NCL example creates three plots. The first a skew-t plot using NCL's defaults. The second adds shading between every other pair of isotherms and a height scale, and the third is the same as the second except it uses metric units.
Due to limitations in Python and with MetPy, I decided to make two figures. The first shows MetPy's default style for a skew-t. The second is a close approximation to the NCL default styling with the isotherm shading.
MetPy forces the pressure scale to be in hPa and the temperature to be in Celsius regardless of the units attached to the plotted data. Because of this, there isn't a good way for me to make an equivalent plot using customary units. Additionally, the axes labels are missing. This is because MetPy automatically adds the labels after data is plotted. I'm not sure how to convert height in meters to pressure level, so I have omitted the altitude scale for now.

This is great! Could you add a 3rd plot that adds some temperature, dew point temperature, and pressure data? Perhaps shading in CAPE too?

This is great! Could you add a 3rd plot that adds some temperature, dew point temperature, and pressure data? Perhaps shading in CAPE too?

The NCL example gallery plots data in a separate example skewt_2. I could certainly make this current comprehensive example script showing plotting data and shading CAPE if you think that would be better.

I believe I fixed the issue with the first figure not showing up. Please let me know if the documentation still needs work. @anissa111

I have fixed the merge conflict that was causing the build checks to stall. You all should be good to review this now. @anissa111 @michaelavs @jukent

This is great! Could you add a 3rd plot that adds some temperature, dew point temperature, and pressure data? Perhaps shading in CAPE too?

The NCL example gallery plots data in a separate example skewt_2. I could certainly make this current comprehensive example script showing plotting data and shading CAPE if you think that would be better.

@jukent Did you want me to make a single comprehensive example or save adding data and shading CAPE for a separate example?

This is great! Could you add a 3rd plot that adds some temperature, dew point temperature, and pressure data? Perhaps shading in CAPE too?

The NCL example gallery plots data in a separate example skewt_2. I could certainly make this current comprehensive example script showing plotting data and shading CAPE if you think that would be better.

@jukent Did you want me to make a single comprehensive example or save adding data and shading CAPE for a separate example?

2 examples is fine! Great work.

This looks really good Rose!
Before I go ahead and merge this example, I wanted to make a comment that for the moment, forked branches are not actually included in the checks, and so the documentation generation needs to be verified on forked branches. There may be a better way to accomplish this, but I created an identical, non-forked branch to run the RTD generation on before approving this merge.

When I started working on this project in May, I was told to fork the repository and do my development there. Is this no longer the case then? Should I make new branches directly from NCAR:master?

@anissa111 When I started working on this project in May, I was told to fork the repository and do my development there. Is this no longer the case then? Should I make new branches directly from NCAR:master?

No, you're doing everything right! The way we have the github checks set up right now isn't correctly checking forked branches, but we obviously need to be able to have development forked branches, so for the time being, I just wanted to note before I merged that I did run the checks on this branch directly from readthedocs.


Fix memo serialization.

❓ Context

Impacted projects:
Helium ledger integration - libs/ledgerjs/packages/hw-app-helium

Fixes incorrect serialization of memo field which was causing transaction verification to fail.
✅ Checklist

[x] Test coverage: Did you write any tests to cover the changes introduced by this pull request?
[x] Atomic delivery: Is this pull request standalone? In order words, does it depend on nothing else?
[x] No breaking changes: Does this pull request contain breaking changes of any kind? If so, please explain why.

@matthewcarlreetz looks good to me, can you please just solve the conflict.

@haammar-ledger conflicts resolved ✔

Hi @matthewcarlreetz sorry about the delay I was off last week. :slightly_smiling_face:


Import GIT project using the New Project wizard throws coreException

System information:

Win10, DBeaver CE 21.3.2

Describe the problem you're observing:

Steps to reproduce, if exist:
open projects tab and start cloning project from GIT (e.g. https://github.com/dbeaver/dbeaver-qa.git).
On this step select Import using the New Project wizard and click finish

Select Project wizard and click next
Type project name and click Finish.
Here you can see the error
Include any warning/errors/backtraces from the logs
Connecting Git team provider failed. See log for details.
Connecting Git team provider failed. See log for details.
Error connecting project testing, no Git repositories found

!ENTRY org.eclipse.egit.ui 4 0 2021-12-26 19:42:48.270
!MESSAGE Connecting Git team provider failed. See log for details.
!STACK 1
org.eclipse.core.runtime.CoreException: Connecting Git team provider failed. See log for details.
	at org.eclipse.egit.core.op.ConnectProviderOperation.execute(ConnectProviderOperation.java:118)
	at org.eclipse.egit.ui.internal.clone.GitImportWizard$8.run(GitImportWizard.java:289)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2313)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2333)
	at org.eclipse.egit.ui.internal.clone.GitImportWizard.importProjects(GitImportWizard.java:296)
	at org.eclipse.egit.ui.internal.clone.GitImportWizard.access$2(GitImportWizard.java:236)
	at org.eclipse.egit.ui.internal.clone.GitImportWizard$4.run(GitImportWizard.java:206)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
Contains: Error connecting project lalala, no Git repositories found
!SUBENTRY 1 org.eclipse.egit.core 4 0 2021-12-26 19:42:48.270
!MESSAGE Connecting Git team provider failed. See log for details.
!SUBENTRY 2 org.eclipse.egit.core 4 0 2021-12-26 19:42:48.270
!MESSAGE Error connecting project lalala, no Git repositories found

dbeaver-qa already contains Eclipse project definition (.project file).
Thus you must import it as Import existing Eclipse Projects.
Import New Project or general project works in target repository doesn't contain .project file.


Extract and share CI

The @pcf-platform-automation and @pivotal-cf/pcf-release-engineering teams met up to discuss how we want to share ownership of om in the future.
One of the things that needs to happen is to share CI, both the code (pipelines, tasks, docker images) and the CI environment itself.
After discussion, we added a new om team to https://releng.ci.cf-app.com and gave access to both teams.
We also came up with a few action items and a few things to explore:

[x] Move unit testing to om team
[x] Move unit testing code from pcf-releng-ci to a folder in om, e.g. om/.ci or om/ci
[x] Explore how to move functional/acceptance testing from each of our current CI

Look into local ops managers (PCF Automation Team)
Look into toolsmiths GCP pooled environments (PCF Releng)
Look into toolsmiths prepared vSphere environments (PCF Releng)

The @pivotal-cf/pcf-release-engineering team looked into using toolsmiths environments, and found this out:

GCP pooled environments are an option, and we could follow this doc to get a worker and have access to the concourse resource. However, because this pooled environment already comes with an installed OpsManager, we wouldn't be able to test our Ops Manager configuring authentication paths in om
Custom vSphere environment is also an option, we would just ask the toolsmiths team to reserve one for us, and they give us the environment name and subnet to use when creating the environments. The biggest con is that we'd only be testing on vSphere? And that the tooling for deploying ops manager onto vSphere is iffy (rake opsmgr:install or an experimental terraforming-vsphere?)

The @pivotal-cf/pcf-platform-automation team took a brief look at the local Opsman option. In order to do that, we need to have a virtual box setup in the ci worker so that the ci can talk to. And each time we start the ci task a new virtual box installation needs to be done, which feels like overkill. This would also take a very long time.

... the tooling for deploying ops manager onto vSphere is iffy...

Our (alpha) commercial product has a tool for that which works pretty reliably (p-automator create-vm).

@chendrix

GCP pooled environments are an option

as you said if we are using this option we cannot cover configure-authentication. Although that's generally not a problem as we have iaas-specific ci to cover that part everyday, it is bad for visibility for both teams.

Custom vSphere environment is also an option

this would work for us. using terraforming-vsphere to pave the infrastructure together with our tool to create vm would not be that hard to set up.

The biggest con is that we'd only be testing on vSphere?

even if we are using GCP, we are only testing one IAAS right? Is there any preference of testing on gcp over vsphere?

Create a new GCP account that's shared

also works, I don't think personally I have any preference in between vsphere or shared gcp. The only difference is that we get an env from ask or toolsmith.

@fredwangwang general rule of thumb at Pivotal is all new projects use GCP as our vSphere environments are severely limited hardware-wise. Unless we are testing vSphere-specific functionality in the om pipeline, we should probably be using GCP. As om is just a thin wrapper around the OpsMgr API I don't think we need to concern ourselves with testing multi IaaS in CI.

@ljfranklin I didn't know that... seems like gcp would be a better fit then.

We've moved over the unit testing and are trying our hand at moving over the PR testing. It is currently failing, maybe because we cannot use the pullrequest resource with a deploy key?
Still open questions on what to do re acceptance testing.

I'll look into it. I am fairly sure a deploy key can be used.

 The deploy keys are the SSH keys for a specific repo, not an access token for a specific repo. I messed that up, because I totally forgot about it. 😢
You do need to create an access token.
It needs to have repo and repo:status permissions. Those are documented there.
Sorry for the delay.


404 error after redirection to Zebrunner landing page

Test scenario:

Open https://www.carina-core.io/
Click 'Learn more' Zebrunner

Actual result:  404 error after redirection to Zebrunner landing page

https://github.com/zebrunner/zebrunner/commit/1f3e6458af1a78bbaa823a92700a34cc2fd7ddb5
https://github.com/zebrunner/zebrunner/commit/7a3a035c4654bfa4b9961e01b6712ff43cecedf6

The same issue on  https://www.qps-infra.io after click "Read more" on Zafira

Verified, fixed.


cURL errors are not caught and thrown as an user exception

(2) [2016-02-25 10:22:07] ex-generic-v2.ERROR: cURL error 6: Could not resolve host: .zendesk.com; Name or service not known {"er ... ass":"Keboola\\GenericExtractor\\Executor","type":"->","args":[]}],"exception":"GuzzleHttp\\Exception\\RequestException"} []

https://papertrailapp.com/groups/23635/events?q=523b5c8295a47f6edf4483dbc6e607bb

Fixed in 27fb27684026b3fd0ba70af6dfd955c49fa48086 (0.6.17)


When I run wsl, 'Window Subsystem for Linux' appears and disappears in Volume Mixer's Apps section.

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

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>-microsoft-standard-WSL2
Distro Version
Ubuntu 22.04
Other Software
No response
Repro Steps
Run Ubuntu
Expected Behavior
There should be no errors whatsoever.
Actual Behavior
In the 'Apps' section of the Volume Mixer, 'Window Subsystem for Linux' appears and disappears. The symptom goes away when I quit WSL2. (In the 'Apps' section, the 'Window Subsystem for Linux' item has disappeared.) This recurring symptom causes keystrokes on the keyboard to be lost intermittently, making it difficult to type. I've tried deleting wsl, reinstalling it, and updating (wsl --update), but it doesn't work. Windows also installed the latest updates, but it doesn't solve it either.

Diagnostic Logs
No response

This is most likely because of wslg, because we support sound from linux apps.
Closing since this is by design.

@OneBlue
https://github.com/microsoft/WSL/assets/2697067/b5235e5c-4ef0-4852-ba13-29a0b25f013e
Oh, wait. It seems that the animation gif link attached to the text is broken. I've attached the gif again, and I'm attaching it as a 10-second video. The problem with this issue is that when you repeat 'appear and disappear', if you type 'abcdefg' on the keyboard, a specific key is lost in the middle, resulting in 'abcefg'. Losing keys is causing a lot of stress when programming with wsl. Any solution?

Oh OK I see the issue. Let me reopen and transfer to wslg


gitbase returns commit_author_when that can't be parsed by pymysql

Reproduce:
git clone gitlab.com/gitlab-org/gitlab-test
<run gitbase with this repo>

query:
select commit_author_when from commits where repository_id = 'gitlab-test';

returns
...
292278994-08-17 07:12:55
...

If you try to query it with pymysql it would return error:
ValueError: invalid literal for int() with base 10: '4-'

full traceback:
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-8-80cb0324a498> in <module>
      8 #     i += 1
      9
---> 10 query_gitbase("select commit_author_when from commits")

/home/jovyan/work/gitbase.py in query_gitbase(sql_query, host, port, user, password, db)
     50             # might be broken.
     51             _kill_conn(id, host, port, user, password, db)
---> 52         raise e
     53     finally:
     54         connection.close()

/home/jovyan/work/gitbase.py in query_gitbase(sql_query, host, port, user, password, db)
     43
     44         with connection.cursor() as cursor:
---> 45             cursor.execute(sql_query)
     46             return cursor.fetchall()
     47     except (Exception, KeyboardInterrupt) as e:

/usr/local/lib/python3.6/dist-packages/pymysql/cursors.py in execute(self, query, args)
    168         query = self.mogrify(query, args)
    169
--> 170         result = self._query(query)
    171         self._executed = query
    172         return result

/usr/local/lib/python3.6/dist-packages/pymysql/cursors.py in _query(self, q)
    326         self._last_executed = q
    327         self._clear_result()
--> 328         conn.query(q)
    329         self._do_get_result()
    330         return self.rowcount

/usr/local/lib/python3.6/dist-packages/pymysql/connections.py in query(self, sql, unbuffered)
    515                 sql = sql.encode(self.encoding, 'surrogateescape')
    516         self._execute_command(COMMAND.COM_QUERY, sql)
--> 517         self._affected_rows = self._read_query_result(unbuffered=unbuffered)
    518         return self._affected_rows
    519

/usr/local/lib/python3.6/dist-packages/pymysql/connections.py in _read_query_result(self, unbuffered)
    730         else:
    731             result = MySQLResult(self)
--> 732             result.read()
    733         self._result = result
    734         if result.server_status is not None:

/usr/local/lib/python3.6/dist-packages/pymysql/connections.py in read(self)
   1080                 self._read_load_local_packet(first_packet)
   1081             else:
-> 1082                 self._read_result_packet(first_packet)
   1083         finally:
   1084             self.connection = None

/usr/local/lib/python3.6/dist-packages/pymysql/connections.py in _read_result_packet(self, first_packet)
   1150         self.field_count = first_packet.read_length_encoded_integer()
   1151         self._get_descriptions()
-> 1152         self._read_rowdata_packet()
   1153
   1154     def _read_rowdata_packet_unbuffered(self):

/usr/local/lib/python3.6/dist-packages/pymysql/connections.py in _read_rowdata_packet(self)
   1188                 self.connection = None  # release reference to kill cyclic reference.
   1189                 break
-> 1190             rows.append(self._read_row_from_packet(packet))
   1191
   1192         self.affected_rows = len(rows)

/usr/local/lib/python3.6/dist-packages/pymysql/connections.py in _read_row_from_packet(self, packet)
   1207                 if DEBUG: print("DEBUG: DATA = ", data)
   1208                 if converter is not None:
-> 1209                     data = converter(data)
   1210             row.append(data)
   1211         return tuple(row)

/usr/local/lib/python3.6/dist-packages/pymysql/converters.py in convert_mysql_timestamp(timestamp)
    330     year, month, day, hour, minute, second = \
    331         int(timestamp[:4]), int(timestamp[4:6]), int(timestamp[6:8]), \
--> 332         int(timestamp[8:10]), int(timestamp[10:12]), int(timestamp[12:14])
    333     try:
    334         return datetime.datetime(year, month, day, hour, minute, second)

most probably some other drivers would also fail to parse such datetime.

Needs https://github.com/src-d/go-mysql-server/pull/694 merged and updated before applying the fix here. Will leave blocked until then.


Improve memory usage in SubmissionOverviewView and SubmissionsByRound

https://scoutapm.com/apps/28725?time=d:1-day&section=memory

@Parbhat Do not know how much can be done but it would be good if you can take a look.

api_views.SubmissionList and SubmissionListView could also be worth looking at.

@frjo I will check these views if we can reduce the DB queries etc. to improve performance.


manifest: references should cover all children

To allow generic manifest walking, we define an interface method of
References that returns the referenced items in the manifest. The
current implementation does not return the config target from schema2,
making this useless for most applications.
The garbage collector has been modified to show the utility of this
correctly formed References method. We may be able to make more
generic traversal methods with this, as well.
Signed-off-by: Stephen J Day<EMAIL_ADDRESS>

With this change, what would be the right way to walk the list of layers in a manifest? Currently the engine uses References() to do this.

@aaronlehmann Where?
$ git grep 'References()'
layer/layer_store.go:           if l.hasReferences() {
layer/layer_store.go:   if m.hasReferences() {
layer/mounted_layer.go:func (ml *mountedLayer) hasReferences() bool {
layer/ro_layer.go:func (rl *roLayer) hasReferences() bool {
vendor/src/github.com/docker/distribution/manifest/manifestlist/manifestlist.go:func (m ManifestList) References() []distribution.Descriptor {
vendor/src/github.com/docker/distribution/manifest/schema1/config_builder.go:func (mb *configManifestBuilder) References() []distribution.Descriptor {
vendor/src/github.com/docker/distribution/manifest/schema1/manifest.go:func (sm SignedManifest) References() []distribution.Descriptor {
vendor/src/github.com/docker/distribution/manifest/schema1/reference_builder.go:func (mb *referenceManifestBuilder) References() []distribution.Descriptor {
vendor/src/github.com/docker/distribution/manifest/schema2/builder.go:func (mb *builder) References() []distribution.Descriptor {
vendor/src/github.com/docker/distribution/manifest/schema2/manifest.go:func (m Manifest) References() []distribution.Descriptor {
vendor/src/github.com/docker/distribution/manifests.go: References() []Descriptor
vendor/src/github.com/docker/distribution/manifests.go: References() []Descriptor

References was meant to be the things that a manifest references. There was never any guarantee that this represented the layers.

My mistake. It looks like it uses the Layers field. I forgot that we provided this as an exported field.
The change looks fine to me, but tests need some updates:
--- FAIL: TestManifest (0.00s)
	manifest_test.go:94: unexpected number of references: 2

Looks like this is failing due to some assumptions made in the manifest validation code. Looking if there is a quick fix, but it might be easier not to have this change.

Updated with new fix. If we use References() elsewhere, we may need to be careful about what it means. It was never meant to be synonymous layers; it meant all of the child blobs that may be referenced.

Current coverage is 50.81% (diff: 71.79%)

Merging #1999 into master will decrease coverage by 10.20%

@@             master      #1999   diff @@
==========================================
  Files           125        125
  Lines         11136      11136
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           6795       5659   -1136
- Misses         3453       4730   +1277
+ Partials        888        747    -141

Powered by Codecov. Last update 04c8db5...4d6c196

LGTM
I agree with Stephen about the behavior change, it was a bug before. The documentation makes no mention of a strict relationship between urls and mediaType. I believe this was left over from an earlier iteration of the foreign layers which were much narrower in definition.

LGTM


Add support for nested fenced code blocks

First, thanks for this crate! (and more generally all the awesome work you do to help developers parse Markdown! 🙌🏽 )
In my usage, I need to handle nested fenced code blocks, but as the follow test shows, this is currently not supported. If you think this would be a good thing to support let me know and I can have a go at a PR.
use common_dev::pretty_assertions::assert_eq;
use markdown::{
    mdast::{Code, Node},
    to_mdast, ParseOptions,
};

#[test]
fn nested_code_block() {
    let options = ParseOptions::gfm();

    let mdast = to_mdast(
        r#"
```md

First code block

````python
# Nested code block
````

```
"#,
        &options,
    )
    .unwrap();

    match mdast.children().unwrap().first().unwrap() {
        Node::Code(Code { lang, value, .. }) => {
            assert_eq!(lang.as_deref(), Some("md"));
            // This currently passes but it shouldn't: the python code block is truncated
            assert_eq!(
                value,
                "
First code block

````python
# Nested code block"
            );
        }
        _ => assert!(false, "unexpected node type"),
    }
}

Welcome @nokome! 👋
It is supported, the syntax is different from what you are trying.
It needs to have a descending number of backticks.
Larger on the outside smaller on the inside.
````md

First code block

```python
# Nested code block
```

````

Thanks @ChristianMurphy for the quick response! That syntax is a little more awkward to implement for my use case but great to know it is supported. Feel free to close this.

I assume your use case is wanting to use markdown.
The markdown crate, follows the markdown standard https://commonmark.org/
Descending number of backticks is how nesting code works in markdown.
If your use case includes making yet another markdown flavor, see https://github.com/wooorm/markdown-rs/issues/32 for work toward plugins and syntax extensions.

Sticking with standards (in this case, CommonMark/GFM), means that your markdown files will work everywhere. Here on GH too. And in the syntax highlighter in your editor.
Going with a non-standard format would mean the content is not so portable!


about 'unlabeled' category in Detectron2

in Detectron2 builtin_meta.py,
CITYSCAPES_CATEGORIES doesn't contain the 'unlabeled' category.
only foreground categories are registered.
So, IMHO, when inference, there should be some 'threshold' to determine the background,
such as ROI_HEADS.SCORE_THRESH_TEST, isn't it?
If there is no threshold, the background would be covered with other categories.
How can we set the threshold?

There is no background class in Cityscapes, all 'unlabeled' categories are ignored in evaluation. Please check the Citysacpes official evaluation code for more detail.

Checked the evaluation code, you're right. Thanks!


DiscoveryGo while using cookies

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like that [x])
Use Preview tab to see how your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2016.11.18. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2016.11.18

Before submitting an issue make sure you have:

[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add -v flag to your command line you run youtube-dl with, copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
C:\>youtube-dl.exe --restrict-filenames --continue --no-check-certificate --verbose --cookies cookies.txt https://www.discoverygo.com/gold-rush/misery-on-the-mountain/

[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['--restrict-filenames', '--continue', '--no-check-certificate', '--verbose', '--cookies', 'cookies.txt', 'https://www.discoverygo.com/gold-rush/misery-on-the-mountain/']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2016.11.18
[debug] Python version 3.4.4 - Windows-10-10.0.14393
[debug] exe versions: ffmpeg N-79209-gb3eda69, ffprobe N-79209-gb3eda69
[debug] Proxy map: {}
[DiscoveryGo] misery-on-the-mountain: Downloading webpage
ERROR: misery-on-the-mountain: Failed to parse JSON  (caused by ValueError("Expecting ',' delimiter: line 1 column 68762 (char 68761)",)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmptx6jnsy6\build\youtube_dl\extractor\common.py", line 559, in _parse_json
  File "C:\Python\Python34\lib\json\__init__.py", line 318, in loads
  File "C:\Python\Python34\lib\json\decoder.py", line 343, in decode
  File "C:\Python\Python34\lib\json\decoder.py", line 359, in raw_decode
ValueError: Expecting ',' delimiter: line 1 column 68762 (char 68761)
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmptx6jnsy6\build\youtube_dl\extractor\common.py", line 559, in _parse_json
  File "C:\Python\Python34\lib\json\__init__.py", line 318, in loads
  File "C:\Python\Python34\lib\json\decoder.py", line 343, in decode
  File "C:\Python\Python34\lib\json\decoder.py", line 359, in raw_decode
ValueError: Expecting ',' delimiter: line 1 column 68762 (char 68761)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmptx6jnsy6\build\youtube_dl\YoutubeDL.py", line 694, in extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmptx6jnsy6\build\youtube_dl\extractor\common.py", line 357, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmptx6jnsy6\build\youtube_dl\extractor\discoverygo.py", line 53, in _real_extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmptx6jnsy6\build\youtube_dl\extractor\common.py", line 563, in _parse_json
youtube_dl.utils.ExtractorError: misery-on-the-mountain: Failed to parse JSON  (caused by ValueError("Expecting ',' delimiter: line 1 column 68762 (char 68761)",)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

If the purpose of this issue is a site support request please provide all kinds of example URLs support for which should be included (replace following example URLs by yours):

Single video: https://www.discoverygo.com/gold-rush/misery-on-the-mountain/

Description of your issue, suggested solution and other information
I have been using this method without issue and recently stopped working. I am in the US and have no issues watching the video at the link provided.

Re-export cookies and try again.

I have re-exported multiple times, and just tried again and received the same errors.

I, too, have verified this issue. I exported my cookies twice.

Just FYI... there are some "unlocked" episodes on DiscoveryGo where the m3u8 can be extracted without a logon or cookies.
https://www.discoverygo.com/killing-fields/a-body-in-the-bayou/
https://www.discoverygo.com/gold-rush/frankenstein-machinery/
E:\>youtube-dl --verbose https://www.discoverygo.com/killing-fields/a-body-in-the-bayou/
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['--verbose', 'https://www.discoverygo.com/killing-fields/a-body-in-the-bayou/']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2016.12.01
[debug] Python version 3.4.4 - Windows-10-10.0.10586
[debug] exe versions: ffmpeg N-81721-g7447ec9, ffprobe N-72383-g7206b94, rtmpdump 2.4
[debug] Proxy map: {}
[DiscoveryGo] a-body-in-the-bayou: Downloading webpage
ERROR: a-body-in-the-bayou: Failed to parse JSON  (caused by ValueError("Expecting ',' delimiter: line 1 column 23968 (char 23967)",)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp6j6yd3lp\build\youtube_dl\extractor\common.py", line 559, in _parse_json
  File "C:\Python\Python34\lib\json\__init__.py", line 318, in loads
  File "C:\Python\Python34\lib\json\decoder.py", line 343, in decode
  File "C:\Python\Python34\lib\json\decoder.py", line 359, in raw_decode
ValueError: Expecting ',' delimiter: line 1 column 23968 (char 23967)
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp6j6yd3lp\build\youtube_dl\extractor\common.py", line 559, in _parse_json
  File "C:\Python\Python34\lib\json\__init__.py", line 318, in loads
  File "C:\Python\Python34\lib\json\decoder.py", line 343, in decode
  File "C:\Python\Python34\lib\json\decoder.py", line 359, in raw_decode
ValueError: Expecting ',' delimiter: line 1 column 23968 (char 23967)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp6j6yd3lp\build\youtube_dl\YoutubeDL.py", line 694, in extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp6j6yd3lp\build\youtube_dl\extractor\common.py", line 357, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp6j6yd3lp\build\youtube_dl\extractor\discoverygo.py", line 53, in _real_extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp6j6yd3lp\build\youtube_dl\extractor\common.py", line 563, in _parse_json
youtube_dl.utils.ExtractorError: a-body-in-the-bayou: Failed to parse JSON  (caused by ValueError("Expecting ',' delimiter: line 1 column 23968 (char 23967)",)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Inside of the data-video JSON, there is unescaped XML under "adParameters" keys causing the JSON parser to barf.  The XML root appears consistent, "VAST", and if you peel it out of the JSON string, things suddenly work (for me).
The hack I have:
youtube_dl/extractor/common.py:559
for i in xrange(json_string.count('"<?xml version="1.0" encoding="UTF-8"?> <VAST')):
        start = json_string.find('"<?xml version="1.0" encoding="UTF-8"?> <VAST')
        end = json_string.find('VAST> "') + len('VAST> "')
        json_string = json_string[:start] + json_string[end:]

Thanks, @KyleBS.
Would you mind posting a copy of your Discoverygo.py file?  Unfortunately, I'm on Windows and fairly new to this whole "git" thing, so I haven't been able to successfully integrate your changes.

Posted as .txt to appease github, be sure to change the extension back to .py!
discoverygo.py.txt

Could anyone paste a dump of the breaking XML string?

Thanks @KyleBS.  It still isn't working for me on Windows.  Oh well, I will just wait until its fixed.  Until then, its easy enough to get the m3u8 from the page and download it.

@yan12125
Is that something I can help you with?  Is there a command line I should run?

Add print(container.get('data-video') or container.get('data-json')) before video = self._parse_json and run

Hopefully this gives you what you asked for.
discoverygo-xml.txt

Does things work with this change?
diff --git a/youtube_dl/extractor/discoverygo.py b/youtube_dl/extractor/discoverygo.py
index c4e83b2c3..b4d686a09 100644
--- a/youtube_dl/extractor/discoverygo.py
+++ b/youtube_dl/extractor/discoverygo.py
@@ -49,7 +49,7 @@ class DiscoveryGoIE(InfoExtractor):
                 webpage, 'video container'))

         video = self._parse_json(
-            unescapeHTML(container.get('data-video') or container.get('data-json')),
+            container.get('data-video') or container.get('data-json'),
             display_id)

         title = video['name']

@yan12125
Yes...that works!!!  Thank you!

Thanks @StevenDTX. Which video(s) were you testing against?
Also, I'd like to hear more feedback before commiting it. @KyleBS Does that work for you?

Thanks @StevenDTX. Which video(s) were you testing against?
Also, I'd like to hear more feedback before commiting it. @KyleBS Does that work for you?

I downloaded a couple episodes of Gold Rush and several Alaska the Last Frontier.  It also tested fine on ScienceChannelgo.com and on AnimalPlanetgo.com

I downloaded a couple episodes of Gold Rush and several Alaska the Last Frontier.  It also tested fine on ScienceChannelgo.com and on AnimalPlanetgo.com

@yan12125 Can confirm, this solution worked for me as well, nice catch!

I remember there are some errors in "unlocked" videos mentioned in https://github.com/rg3/youtube-dl/issues/11219#issuecomment-264547986. However, they are now all subscribers-only, so I can't reproduce the error. Closing this first and feel free to open new issues if there's any problem.


etcd backups for CAPG

Story
-As a cluster admin, I want to have periodic backups of etcd for workload clusters in order to restore etcd in care of a failure.
Background
Giant Swarm uses the etcd-backup-operator to do backups for etcd. In order for this oeperator to work it needs to access etcd from the management cluster. Unfortunately, in CAPI clusters etcd is not accessible in a similar way.
Tasks

[ ] define how etcd backups should work;
[ ] align within KaaS on the solution;
[ ] configure etcd-backup-operator for workload clusters;

https://github.com/giantswarm/etcd-backup-operator/pull/343

CAPI clusers need to have in the config this https://github.com/giantswarm/config/pull/1167/files#diff-75eaf71e104f8b789894fbe39483264909c3c54a72f328d8dd9b46c61a70c31dR1


Visual Studio 2015 Support

Hi,
As I saw, Electron seems to only work on VS2013. When will VS2015 support be added? I can not uninstall my IDE and downgrade it because I am currently using some VS2015 features. We should move forward not backward, it's a bit awkward to ask people to downgrade to old software! and I don't think porting current toolset to 2015 is such a big deal.
Thanks

Chromium still uses VS 2013 because of a few problems with VS 2015, you can find more about it at https://crbug.com/440500.

@zcbenz that bug report is listed as fixed.

@charles-smith Recent version of Electron are built with VS2015 Update 2.


chore(travis): run script commands after success only

Automatically publish to GitHub pages

Coverage remained the same at 99.501% when pulling 521b7b5e34e31801b2dc30812607020996f5c9f7 on add-autopublish-to-github-pages into 9690fdae6ed1ab3b29135f143587f062313019e6 on master.


Confusion with count and frequency in results.tsv

Hi. I'm confused by some of the results.tsv file. What are the definitions of the count and frequency columns? My understanding is that frequency is the number of reads mapped to a CDR3 region divided by the total BCR reads. When I sum the values in my frequency column, however, I'm getting a value over 1. Furthermore, when looking at the top clones in this example...the values don't add up. See screen shot of the top clones in a report.tsv sorted by frequency:

clone 1 has 2630 reads and a frequency of .3
clone 2 has 315 reads and a frequency of .28
The only thing I can think of is that this is because clone 1 is a light chain (kappa) clone and clone 2 is heavy chain. How would this affect things?
Furthermore, do you have any insight into why
most cells are light chain and not heavy chain? Is it possible to have analyzed reads of both heavy and light from the same cells?
Full report.tsv is attached for reference. Thanks.
01-076_report copy.csv

Yes, each chain is normalized separately to get the frequency value, in which IGK/IGL read count is combined. Therefore, the frequency column can sum up to 6 (IGH, IGK/IGL, TRB, TRA, TRG, TRD). The light chains usually express much more than heavy chains, so the sensitivity is higher on recovering light chains.
If you need paired-chain as the clonotype and calculate the frequencies, you may need to write your own code or use single-cell TCR/BCR analysis tools. There are many variations, such as whether to keep single-chain cells. You may also want to calculate the diversity for different cell clusters (inferred from gene expression). Therefore, we did not provide comprehensive statistics for paired-chain comparisons. For the single-cell downstream analysis, the barcode_report.tsv file or the barcode_airr.tsv file would be more appropriate.

Perfect. Thanks for clarifying.

Ahhh. This is because in the barcode_report file each row does not necessarily refer to a unique cell barcode, right? So for a cell that has both heavy and light chain calls there will be separate rows (with slightly different sequence_ids) for the heavy call and the light call?

Each row should be for a unique cell barcode. The heavy chain will be in the chain1 column, and the light chain will be in the chain2 column.

Oooo got it. I was looking at the barcode_airr.tsv, not the barcode_report.tsv. Thanks for clarifying and for the timely responses!


Add call parameter to generation with other language model available in piper-sample-generator (French, Dutch, ...)

The piper-sample-generator as many option and the model configuration is by default en_US-libritts_r-medium.pt
Permit to use as configuration the other model avalable in release https://github.com/rhasspy/piper-sample-generator/releases/tag/v2.0.0 :

fr_FR-mls-medium.pt
de_DE-mls-medium.pt
en_US-libritts_r-medium.pt
nl_NL-mls-medium.pt

This model need sme different configuration option like so need to define parameter like:

noise-scales
noise-scale-ws
min-phoneme-count
need for a proper generation of the sound model

cf  https://github.com/rhasspy/piper-sample-generator?tab=readme-ov-file#short-phrases
python3 generate_samples.py \
    'framboise,' \
    --model models/fr_FR-mls-medium.pt \
    --noise-scales 0.333 \
    --noise-scale-ws 0.333 \
    --min-phoneme-count 300
    --max-samples 1 \
    --output-dir .

The openWakeWord don't permit to customize this paameter https://github.com/dscripka/openWakeWord/blob/main/openwakeword/train.py#L669

Add options in all generate_samples function call to pass the needed parameter

noise-scales
noise-scale-ws
min-phoneme-count

One option is to add this options in the config file to have a call like
https://github.com/dscripka/openWakeWord/blob/main/openwakeword/train.py#L669
        if n_current_samples <= 0.95*config["n_samples"]:
            generate_samples(
                text=config["target_phrase"], max_samples=config["n_samples"]-n_current_samples,
                batch_size=config["tts_batch_size"],
          model=config["models"], min-phoneme-count=config["min-phoneme-count"],
          noise_scales=config["noise_scales"], noise_scale_ws=config["noise_scale_ws"], length_scales=config["length_scales"],
                output_dir=positive_train_output_dir, auto_reduce_batch_size=True,
                file_names=[uuid.uuid4().hex + ".wav" for i in range(config["n_samples"])]
            )
            torch.cuda.empty_cache()
        else:
            logging.warning(f"Skipping generation of positive clips for training, as ~{config['n_samples']} already exist")

But the value of this parameters is different beetween call of generate_samples function

noise_scales
noise_scale_ws

They are a rule to compute this value changes ?
or shoud be some differents configuration in files ?


Runtime reorg

Why are these changes needed?
Continued work on splitting transforms.  For now this includes filter and some fixes for noop.
Extends the test-image target to not just run pytest, but to try and execute the transform using --help.
Fixes non-python transform runtimes by properly installing the adjacent python transform into the venv
Related issue number (if any).

@roytman approval or not I will wait on your ok before any merging of this.  KFP v2 has priority if so if this somehow conflicts (although it may also fix some issues),  this can wait until kfp is merged.

@roytman approval or not I will wait on your ok before any merging of this. KFP v2 has priority so if this somehow conflicts (although it may also fix some issues), this can wait until kfp is merged.
Of course, you should feel free to merge in my absence.

@roytman approval or not I will wait on your ok before any merging of this. KFP v2 has priority so if this somehow conflicts (although it may also fix some issues), this can wait until kfp is merged.
Of course, you should feel free to merge in my absence.

@daw3rd thank you very much.


Balance query calls cw20's balance query

the balance query calls cw20's query_balance method:
https://github.com/Wasmswap/wasmswap-contracts/blob/acb01400dde195d78fc7be3870f3ae03e31dbcd0/src/contract.rs#L10
https://github.com/Wasmswap/wasmswap-contracts/blob/acb01400dde195d78fc7be3870f3ae03e31dbcd0/src/contract.rs#L913
this doesn't error as that method uses may_load, but it will always return zero. presumably that method should be removed?

we're also experiencing this. What should we actually be calling to get balance?
cc @aidanaden
https://github.com/CosmosContracts/typescript/issues/4


Active Admin currently does not upload or remove chapter leader images

In the current state, the chapter leader images are statically created at the initial seed. We need to create a way for folks to easily add/remove/update images for their chapter leaders.

Got this working. Should be included with my Meetup API fix PR.

Fixed #112.


[Question] Any rule to match a tree-sitter node that does not have children?

As the title said.
If there isn't, maybe we can plan for this as a new feature.
If there is already one rule pattern there, it's worth a documentation.

Sure there is a way to match such node!
The trick here is to use wildcard meta variable with not operator.
rule:
  pattern: $A
  not:
    has:
      pattern: $B

Note $B will match anything, so the not rule will effectively match only node without any child.
playground


Increasing buffer size on responses channel

Because of "Dequeue request loop" returning message into the channel (req.rspc <- r) this may deadlock if another response has been already pushed by other routine to the channel.
It does locks consistently with devices that send a lot of notifications.
Adding extra buffer in channel reserves space for that extra command to be returned.

Per spec,  within a connection the requests and responses are strictly serialized. A request/command is only sent if we got the response from the previous request or it was a command, which doesn't require a response. So the unbuffered channel and the loop here is for serialization purpose. Otherwise the loop can be eliminated, and each call to the sendReq() could wait the response within. (And this would leave the serialization to upper layer though.)
If the upper layer queues a lot of request, for example, we would expect the stack to send them with the following sequence: req1, rsp1, req2, rsp2, req3, rsp3, req4, rsp4.
Increase the buffer might resulting something like: req1, req2, rsp1, req3, rsp2, rsp3, req4, rsp4.
Do you have a sample sequence that could cause deadlock? Screenshot of sniffer capture, or adding some log message when the deadlock happens.
Current code seems only deadlock if we missed an expected response. If that's the case, we should gracefully terminate the connection with time out. (An important TODO...)

I share your concern regarding sequence of req/resp. I do a simple scenario of discovering sensortag and writing two characteristics to enable sensor and then subscribe to notifications.
Once notifications start coming in both loops lock:
The one on peripherial_linux.go on line 374 and hci.go on line 382
but the root cause for me happens on line 351
it locks there as most likely req.rspc already has data in channel which is not being pulled by abything.
I have saved log and dump using hcidump tool. Hope this will be useful.

The "log" seems only have the device initialization part, is it truncated?
Are they "notifications" or "indications"?
In case of indications, the early return at https://github.com/paypal/gatt/blob/master/peripheral_linux.go#L373 will be the bug as it prevent the acknowledge from being sent (at the bottom of the loop).
p.s. I might not be able to get my environment setup to debug until next week. So I need to trouble you to peak and poke around :-)

Roy,
thank you for the comment it helped to investigate issue  further.
The root cause that we found it unrelated to my proposed change so I'm closing this issue.
But please look at PR #34 form my colleague with the right fix.


Color of the bars

The color of the bars is translucent, how can we make it solid? I tried using the opaque feature but I don't think that it works.

I have made minor modifications to the code. Alpha level can be setup explicitly so change the colors appear solid/translucent.


Update storage-disaster-recovery-guidance.md

Fixed typo.

Hi @alexandair, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
We will now validate the agreement and then real humans will evaluate your PR.
TTYL, AZPRBOT;

@alexandair : Thanks for your contribution to the Azure documentation! The author, @robinsh, has been notified to review your proposed change.

Hi @alexandair Thanks very much for fixing my typo in the DR article!
@tysonn This PR is ready to be merged.

@robinsh Your articles are fantastic. It's a pleasure to read them.

@alexandair Thanks! I'm glad they are helpful to you.


Edit in the User Guide Chap 1-7

Issue Description
User guide reference scripts in all chapters generate figures with the wrong colors(All figures).
Reference subchapters cannot be linked in a different chapter. (P.54 p3 ...)
The batch size number in the text is different from the number in the script(P.55 p2 ...).
Some description is confusing (P55 " run simultaneously. Every time a simulation ends, a new one is launched.") and redundant (P25 line 1 and line 2)
Some reference scripts have the unused subclass (P52  ...output_1... output2...)

For Change Control Board: Issue Review
This review should occur before any development is performed as a response to this issue.

[x] 1. Is it tagged with a type: defect or task?
[x] 2. Is it tagged with a priority: critical, normal or minor?
[x] 3. If it will impact requirements or requirements tests, is it tagged with requirements?
[x] 4. If it is a defect, can it cause wrong results for users? If so an email needs to be sent to the users.
[x] 5. Is a rationale provided? (Such as explaining why the improvement is needed or why current code is wrong.)

For Change Control Board: Issue Closure
This review should occur when the issue is imminently going to be closed.

[x] 1. If the issue is a defect, is the defect fixed?
[x] 2. If the issue is a defect, is the defect tested for in the regression test system?  (If not explain why not.)
[x] 3. If the issue can impact users, has an email to the users group been written (the email should specify if the defect impacts stable or master)?
[x] 4. If the issue is a defect, does it impact the latest release branch? If yes, is there any issue tagged with release (create if needed)?
[x] 5. If the issue is being closed without a pull request, has an explanation of why it is being closed been provided?

Approved for closure via #951.


Fix version number in example workflow

Subject
The example workflow does not work, as it requires the version to be fully fleshed out, i.e. @1.0.0. With @1 as version, you only get an error message:

Thanks @schlessera


Popup Context menu on right click of the node or edge

Thank you team for an amazing lib.
I have one feature that is been proposed for my project requirement. That is popping a Custom context menu on right click of the node or edges.
Is this feature is already available or if it is new implementation then how can i contribute for this. what is the plan ?

Hi @abhinpai,
key question: How would this work on touchscreen?

Honestly, i haven't thought about it. But yes i can think of long press on the node to popup the custom context menu and where as in the laptop or the desktop the the same can be achieve with the help of right click on node. What is your opinion on it ?

Yeah, that sounds reasonable.

@Thomaash i have implemented these feature in my react (Typescript) application and AntDesign Lib, there are some glitches in it. In this i have introduced few features like, On right click to show context menu on edge and the node. And Bulk selection on drag, but the the UI hangs for a sec. Can you just find what am doing wrong ?
I know this is not the right forum to discuss on this but the thread is already on this topic so thought of asking here
https://github.com/abhinpai/react-vis-graph

Sorry, I can't help you with that. I have never used React so I have no idea.

@Thomaash  No problem 😄


[Feature request] Store key material in a Key Store

Is your feature request related to a problem? Please describe.
Private key material is currently stored in individual groups and the consumer of the library has to manage CredentialBundles itself. I believe the storage of private key material (and the attached context) should really be handled by the library.
Describe the solution you'd like
There could be a Key Store component that stores private all key material. This allows us to store and manage it separately from the rest of the group states.
The Key Store is meant to be a part of OpenMLS, that interfaces with different components as follows:

Every MLS client maintains one or more key stores
Each ManagedGroup gets a reference to a key store upon creation and uses it to store/load key material. This allows the use of key material across groups. Note that group-specific key material should be marked as belonging to a specific group.

Note, that currently, each ManagedGroup manages its own key material and in particular its leaf KeyPackageBundle. This is problematic, as the KeyStore should be able to track which Credential is used by whom. This is so that the Key Store can ensure that no key material is deleted that is still in use.

Generally, the Key Store should allow create, read, delete operations (no update) for the individual categories of key material.
The Client could generate "init" KeyPackages for publication and later creation of a group, as well as Credentials. In both cases, the KeyStore would store the corresponding Bundles, such that the ManagedGroup can obtain the private key material when needed.
Later, we could extend the Key Store such that it stores any private key material in a group, including symmetric secrets, making it available for use in other groups or the Client.
The KeyStore should be thread safe, such that multiple groups can share CredentialBundles and still operate in parallel.
The KeyStore should keep track of which key material is used by whom, when it expires and when it is safe to delete (i.e. when it's not used by anyone anymore, or when it's expired for a reasonable amount of time).

This could happen in individual steps:

[x] Introduce a simple key store that stores CredentialBundles in memory. Each ManagedGroup has access to the KeyStore, enabling us to share individual CredentialBundles across groups.
[ ] Enable the key store to manage KeyPackageBundles corresponding to prepublished "init" KeyPackages.
[x] Make the KeyStore thread safe, such that it enables multiple concurrent reads.
[ ] Implement a persistence layer that allows the KeyStore to keep key material in memory (i.e. cache it), but also persist it safely.
We have to be careful to keep cached and persistent key material in sync. Since the Key Store doesn't provide a way to update key material, we don't have to worry about cached key material getting stale, at least as long as delete operations delete both persisted and cached copies of the target.
[ ] The key store also manages other key material previously stored in the group (this is eventually going to have a few sub-points, but it should do as a goal for now).

[ ] KeyPackageBundles of KeyPackages stored in the client's leaf
[ ] Resumption Secrets
[x] PSKs

The key store should be for all key material (not only private). I think we need a description of the basic architecture how it should look in the end in order to guide the way. This includes in particular a rough description of the API and ownership.

Let's collect key store things here and clean up the description.
Here are some items

[ ] Add a read-and-delete function
[ ] Make the key store async
[ ] Ensure the key store is only used in the entry function, i.e. not within the protocol code


[rstmgr / pwrmgr] connect reset requests into pwrmgr / rstmgr

Re-use NMI gen as the escalation reset (this logic can be moved into pwrmgr long term)
Re-work reset info as the previous one was unnecessary

let me know if this looks good to you guys.
thanks!


Elasticsearch example broken

See: http://stackoverflow.com/questions/37209788/error-unrecognized-option-packages

Fixed by https://github.com/snowch/bluemix-spark-submit-examples/commit/0928627d804ce252d416c9636f92d6c37b233b57


Website: YAML demo not working

YAML demo on website is not working.
Error:
Failed to load yaml sample
Other examples seems to work.

Fixed & republished website


feat: update execute event

AXE-6048

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

Project coverage is 98.27%. Comparing base (d330956) to head (1ea348d).

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #29      +/-   ##
==========================================
- Coverage   98.48%   98.27%   -0.22%
==========================================
  Files          24       24
  Lines        1788     1799      +11
==========================================
+ Hits         1761     1768       +7
- Misses         27       31       +4

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


[FancyZones] Use Direct2D to draw

Summary of the Pull Request

Read the title
Removed flashZones and references to it

PR Checklist

[x] Applies to #4073
[x] CLA signed. If not, go over here and sign the CLA
[x] Tests added/passed
[ ] Requires documentation to be updated
[ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

Info on Pull Request
Refactored existing code for drawing and used Direct2D to do drawing. Ensured we have fine control over what and when something is drawn by using a dedicated thread and securing data access using mutexes and condition variables.
Validation Steps Performed
Create a zone layout with many rows/columns and shift-move a window quickly across the screen. You should see absolutely no stuttering of any kind.

Since we are making changes to the animation, it would be a good opportunity to start supporting the Windows animation settings https://github.com/microsoft/PowerToys/issues/1911
For this PR would be OK to just add the option in the settings with of default value ON for the animation/transparency.
We will later decide if we want to expose it explicitly to the user or to just check the system settings.

For testing, I suggest to use multiple monitors enabling all the animation/transparency, including showing the zones on all monitors and have different DPI on each monitor.


outputs[0] is the zeroes tensor initialized by torch.zeroes()

I have a question regarding the first element of the outputs (the prediction tensors).
So in the class Seq2Seq(nn.Module), outputs gets initialized by calling "outputs = torch.zeros(max_len, batch_size, trg_vocab_size).to(self.device)." And in the for loop followed right after the initialization, we are starting from the 1st idx of outputs and put predicted tensor in each timestamp in outputs[t].
I am not sure whether I have explained it well, but shouldn't the outputs[0] always correspond to the start token ? I am asking this because I have tried training the model and I am getting very weird output at outputs[0].

The outputs tensor is just a tensor to store all of the translations. Because the loop goes from 1 to max_len - 1 and not from 0, this means outputs[0] will stay full of zeros. This is fine, however, as before we compare it with the target sentence we cut off these zeros with output[1:].
Not sure if this answers your question, but this image may help:

@bentrevett
Thanks for the quick and detailed reply! And thanks for drawing this out. =)
My concern is this won't be taking into the consideration when we are computing the loss, right? As from the tutorial, I am seeing we are ignoring "" by "criterion = nn.CrossEntropyLoss(ignore_index = PAD_IDX)" but not the init_token and eos_token.
Thanks in advance!

You're correct. This is an example without padding. When there is padding in the sequence, which is very often the case, we have the padding tokens at the end of the sequence after the <eos> token. These are not cut off by the trg[1:] and are just left at the end. This is fine as, like you mentioned, we are ignoring the loss over the padding tokens.

So, in the example above, we only calculate the loss across the three items in the sequence and the <eos> token, not across the padding tokens, which is exactly what we want.
One thing to note is that it only ignores the loss between items where the trg sequence has a padding token. In the example below, there model had incorrectly predicted a pad token where it should've predicted an <eos> token. The loss is calculated for that token because trg at that index is not a padding token. The loss is still not calculated over the final two tokens as both of those are padding tokens in trg.


Getting deadflag netvar

hey, this seems like an odd question, but I really have a hard time getting the deadflag netvar.
What I already tried:
1) NETVAR("DT_CSPlayer", "deadlag", deadflag, int);
2) auto dwFlag = netvar_manager::get_net_var(fnv::hash("CBasePlayer"), fnv::hash("deadflag"));

What is the problem?
(I know it's wrong because I am getting a nullpointer, for example with:
*reinterpret_cast<vec3_t*>(reinterpret_cast<DWORD>(csgo::local_player) + dwFlag + 4)
)

vec3_t* get_v_angles() {
		return reinterpret_cast<vec3_t*>(reinterpret_cast<uintptr_t>(this) + netvar_manager::get_net_var(fnv::hash("DT_BasePlayer"), fnv::hash("deadflag")) + 4);
	}

possibily deadlag and CBasePlayer which is DT_BasePlayer

Hey, thanks for your answer. I tried multiple things now:
auto deadflag = netvar_manager::get_net_var(fnv::hash("DT_BasePlayer"), fnv::hash("deadflag")); auto deadflag = netvar_manager::get_net_var(fnv::hash("CBasePlayer"), fnv::hash("deadflag")); auto deadflag = netvar_manager::get_net_var(fnv::hash("DT_BasePlayer"), fnv::hash("deadlag"));
All gave me back 0, so somehow it doesn't find the netvar. What is wrong?

Hey, thanks for your answer. I tried multiple things now:
`
auto deadflag = netvar_manager::get_net_var(fnv::hash("DT_BasePlayer"), fnv::hash("deadflag"));
auto deadflag = netvar_manager::get_net_var(fnv::hash("CBasePlayer"), fnv::hash("deadflag"));
auto deadflag = netvar_manager::get_net_var(fnv::hash("DT_BasePlayer"), fnv::hash("deadlag"));
`
All gave me back 0, so somehow it doesn't find the netvar. What is wrong?
@bruhmoment21

is there a use for deadflag except getting view_angles? for what you use it

I want to draw the view angles of a model, better said show my anti aim in third person. I researched a bit and every time people use the cast I wrote above with deadflag.

I want to draw the view angles of a model, better said show my anti aim in third person. I researched a bit and every time people use the cast I wrote above with deadflag.

vec3_t* get_v_angles() { // get_view_angles
		return reinterpret_cast<vec3_t*>(reinterpret_cast<uintptr_t>(this) + netvar_manager::get_net_var(fnv::hash("DT_BasePlayer"), fnv::hash("deadflag")) + 4);
	}

this doesn't work?

maybe you shouldn't dereference
this ->*reinterpret_cast<vec3_t*>(reinterpret_cast<DWORD>(csgo::local_player) + dwFlag + 4)
im still learning p0inters

netvar_manager::get_net_var(fnv::hash("DT_BasePlayer"), fnv::hash("deadflag")) is always zero so I am writing to a wrong pointer, that's my problem.

I want to draw the view angles of a model, better said show my anti aim in third person. I researched a bit and every time people use the cast I wrote above with deadflag.

vec3_t* get_v_angles() { // get_view_angles
		return reinterpret_cast<vec3_t*>(reinterpret_cast<uintptr_t>(this) + netvar_manager::get_net_var(fnv::hash("DT_BasePlayer"), fnv::hash("deadflag")) + 4);
	}

this doesn't work?

So this here doesn't work either.

I want to draw the view angles of a model, better said show my anti aim in third person. I researched a bit and every time people use the cast I wrote above with deadflag.

vec3_t* get_v_angles() { // get_view_angles
		return reinterpret_cast<vec3_t*>(reinterpret_cast<uintptr_t>(this) + netvar_manager::get_net_var(fnv::hash("DT_BasePlayer"), fnv::hash("deadflag")) + 4);
	}

this doesn't work?

So this here doesn't and can't work either.

it worked for me when i was using thirdperson in override view in April can t be this outdated tho

hm, I am totally crashing after *get_v_angles() = qLastTickAngles; The variable is storing the last view angles.
Imo it's because deadflag is 0 so it is writing to a wrong location.

hm, I am totally crashing after *get_v_angles() = qLastTickAngles; The variable is storing the last view angles.
Imo it's because deadflag is 0 so it is writing to a wrong location.

don't dereference get_v_angles


[API] API in Django/Node.js as replacement for script.php

The API should be rewritten in Django or Node.js and should give out every information about the corresponding product.
It should also implement VeganCheck Grades, as it's on the roadmap for release v3.0. (#123)
Tasks

[x] Rewrite API
[x] EOL v0
[ ] Integrate API in Frontend

API is now written in Node.js and available:
https://jokenetwork.de/vegancheck-api
We still need to write an OpenAPI.yml

OpenAPI.yml is now available at https://api.vegancheck.me/v0/OpenAPI.yml


Suggestion for faster shell startup time

Operating system and version:
Manjaro ARM kde plasma
nvm debug output:

itai@pinebookpro: ~ $ nvm debug
nvm --version: v0.38.0
$SHELL: /bin/bash
$SHLVL: 1
whoami: 'itai'
${HOME}: /home/itai
${NVM_DIR}: '${HOME}/.nvm'
${PATH}: ${NVM_DIR}/versions/node/v16.0.0/bin:${HOME}/.local/bin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/var/lib/flatpak/exports/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
$PREFIX: ''
${NPM_CONFIG_PREFIX}: ''
$NVM_NODEJS_ORG_MIRROR: ''
$NVM_IOJS_ORG_MIRROR: ''
shell version: 'GNU bash, version 5.1.4(1)-release (aarch64-unknown-linux-gnu)'
uname -a: 'Linux 5.12.2-2-MANJARO-ARM #1 SMP Sat May 8 20:04:09 UTC 2021 aarch64 GNU/Linux'
checksum binary: 'sha256sum'
OS version: Manjaro Linux  ()
curl: /bin/curl, curl 7.76.1 (aarch64-unknown-linux-gnu) libcurl/7.76.1 OpenSSL/1.1.1k zlib/1.2.11 zstd/1.4.9 libidn2/2.3.0 libpsl/0.21.1 (+libidn2/2.3.0) libssh2/1.9.0 nghttp2/1.43.0
wget: /bin/wget, GNU Wget 1.21.1 built on linux-gnu.
git: /bin/git, git version 2.31.1
grep: /bin/grep (grep --color=auto), grep (GNU grep) 3.6
awk: /bin/awk, GNU Awk 5.1.0, API: 3.0 (GNU MPFR 4.1.0, GNU MP 6.2.1)
sed: /bin/sed, sed (GNU sed) 4.8
cut: /bin/cut, cut (GNU coreutils) 8.32
basename: /bin/basename, basename (GNU coreutils) 8.32
rm: /bin/rm, rm (GNU coreutils) 8.32
mkdir: /bin/mkdir, mkdir (GNU coreutils) 8.32
xargs: /bin/xargs, xargs (GNU findutils) 4.8.0
nvm current: v16.0.0
which node: ${NVM_DIR}/versions/node/v16.0.0/bin/node
which iojs: which: no iojs in (${NVM_DIR}/versions/node/v16.0.0/bin:${HOME}/.local/bin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/var/lib/flatpak/exports/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl)
which npm: ${NVM_DIR}/versions/node/v16.0.0/bin/npm
npm config get prefix: ${NVM_DIR}/versions/node/v16.0.0
npm root -g: ${NVM_DIR}/versions/node/v16.0.0/lib/node_modules
itai@pinebookpro: ~ $

nvm ls output:

itai@pinebookpro: ~ $ nvm ls
->      v16.0.0
         system
default -> node (-> v16.0.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v16.0.0) (default)
stable -> 16.0 (-> v16.0.0) (default)
lts/* -> lts/fermium (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.1 (-> N/A)
lts/fermium -> v14.16.1 (-> N/A)
itai@pinebookpro: ~ $

How did you install nvm?

install script in the readme.
The suggestion:
Add the following to the .bashrc or equivalent for your shell:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
function nvm() {
        if [[ $NVM_LOADED != 1 ]]; then
                echo -e "\e[1mTo use nvm, you have to run 'loadnvm' first to load it.\e[0m"
        fi
}
function loadnvm() {
        echo -n "loading nvm..."

Demo:
https://user-images.githubusercontent.com/70802936/118162796-d67b5d80-b429-11eb-8982-067325b1b20b.mp4
This solution is just a concept I made because its really annoying that the shell takes so long to start, maybe someone can improve it in ways I didn't think about.
A problem with this solution is that if you run npm or node or any other program that requires nodejs to run, it will give you a error...

This is already covered in the readme, but it has caveats as you noted - namely, your default node (and npm, npx, and any other installed global modules) won't be available until you explicitly type nvm.
Loading nvm is fast, it's only nvm use by default that's slow. You can nvm unalias default and make sure you have no .nvmrc file, and it should load immediately.


Gogs merge: check master as default branch when migrate

(cherry picked from commit c6531c4882123e412a288422d91dcd70ff913d33)

And if there is no master branch, which branch is the default branch?

I have not tried it but maybe the first of the availabe or just the same as before.


Support resolve.extensions

Would be nice to be able to do the following:
const Nav = require('ui/components/navigation')
// instead of
const Nav = require('ui/components/navigation.jsx')

+1

It would be a nice improvement, feel free to submit a PR.

resolve.extensions is now supported! See v1.8.0

@adriantoine Awesome, thanks for the update!


feat: support for AWS mixed instances

AWS recently introduced the option of using autoscalinggroups and combine multiple instances.
https://aws.amazon.com/blogs/aws/new-ec2-auto-scaling-groups-with-multiple-instance-types-purchase-options/
This PR changes the CF LaunchConfiguration templates into CF LaunchTemplates, which will add the ability to combine multiple instance types within an AutoScalingGroup.
Please let me know what you think about this! (since it's quite a refactor in the CF node pool template).
Related issue: https://github.com/kubernetes-incubator/kube-aws/issues/1500

What will happen when this change is rolled into existing clusters?

For what I understand a Launch Configuration will be replaced by a Launch template, and if you don't specify .AutoScalingGroup.MixedInstances.Enabled or  .AutoScalingGroup.MixedInstances at all the, AutoScaling group should just do a rolling update of all nodes.
The author @koen92 might have additional insight.

What will happen when this change is rolled into existing clusters?

As the co-author of this pr;
The launchconfiguration for ALL worker autoscaling groups (only workers, not masters / etcd) will be replaced by a launchtemplate.
I thought it will do a rolling update of the nodes in the asg but I will retest this and post the result to be 100% sure. (could also be the replace of the asg)
@paalkr Good one, we will change this.

@paalkr Fixed it!

Thx @koen92
According to the CloudFormation AutoScalingGroup documentation, changing either the LaunchTemplate or the LaunchConfiguration requires no interruption.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-launchtemplate
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-launchconfigurationname

Btw, I have tested using a Mixed Instance Policy with 100% spot resources, and an instance distribution and instance type mix (overrides), that simulates my currently running worker pool powered by a regular spotfleet (40+ nodes). When changing something in the LaunchTemplate that will issue a rolling update (like AMI ID or user data), the AutoScaling group nicely performs a rolling update of the spot resources - one by one. This actually solves a huge nightmare of how AWS spot fleet currently are handled.  Where a change to a spot fleet request, replaces all spot instances in a one shot operation.
I can't see any situation where the old spot fleets are preferable over this new mixed instance policy with overrides.

Just confirmed that cloudformation is doing a nice rolling update moving from launchconfiguration to launchtemplate. Seeing is believing, always nice if the docs are right ;).
@davidmccormick can you also approve this pr? have not seen a reaction @mumoshu recently.

Thank you for your contribution - good work! 🎉