Push breadcrumb fix to Live

Docs Build status updates of commit 7ed7935:
:clock10: Pending: waiting for processors (32 builds ahead of you)
:warning: Docs Build is busy, currently there are 32 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 7ed7935:
:warning: Validation status: warnings

File
Status
Preview URL
Details

articles/resources/relnotes.md
:warning:Warning
View
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

articles/README.md
:white_check_mark:Succeeded

articles/TOC.yml
:white_check_mark:Succeeded
View

articles/breadcrumb/toc.yml
:white_check_mark:Succeeded

articles/docfx.json
:white_check_mark:Succeeded

articles/how-to-guides/create-qsharp-project.md
:white_check_mark:Succeeded
View

articles/index.yml
:white_check_mark:Succeeded
View

articles/install-guide/toc.yml
:white_check_mark:Succeeded

articles/media/qft_firstH.PNG
:white_check_mark:Succeeded
View

articles/media/qft_firstqubit.PNG
:white_check_mark:Succeeded
View

articles/media/qft_full.PNG
:white_check_mark:Succeeded
View

articles/overview/toc.yml
:white_check_mark:Succeeded

articles/quickstarts/get-started.md
:white_check_mark:Succeeded
View

articles/quickstarts/index.md
:white_check_mark:Succeeded
View

articles/quickstarts/install-command-line.md
:white_check_mark:Succeeded
View

articles/quickstarts/install-cs.md
:white_check_mark:Succeeded
View

articles/quickstarts/install-jupyter.md
:white_check_mark:Succeeded
View

articles/quickstarts/install-python.md
:white_check_mark:Succeeded
View

articles/quickstarts/toc.yml
:white_check_mark:Succeeded

articles/quickstarts/update.md
:white_check_mark:Succeeded
View

articles/relnotes/0.3-migration.md
:white_check_mark:Succeeded
View

articles/relnotes/toc.yml
:white_check_mark:Succeeded

articles/resources/contributing/api-design-principles.md
:white_check_mark:Succeeded
View

articles/resources/contributing/code.md
:white_check_mark:Succeeded
View

articles/resources/contributing/docs.md
:white_check_mark:Succeeded
View

articles/resources/contributing/index.md
:white_check_mark:Succeeded
View

articles/resources/contributing/pull-requests.md
:white_check_mark:Succeeded
View

articles/resources/contributing/reporting-bugs.md
:white_check_mark:Succeeded
View

articles/resources/contributing/samples.md
:white_check_mark:Succeeded
View

articles/resources/contributing/style-guide.md
:white_check_mark:Succeeded
View

articles/resources/contributing/toc.yml
:white_check_mark:Succeeded

articles/resources/further-reading.md
:white_check_mark:Succeeded
View

articles/resources/glossary.md
:white_check_mark:Succeeded
View

articles/resources/toc.yml
:white_check_mark:Succeeded

articles/tutorials/explore-entanglement.md
:white_check_mark:Succeeded
View

articles/tutorials/intro-to-katas.md
:white_check_mark:Succeeded
View

articles/tutorials/quantum-random-number-generator.md
:white_check_mark:Succeeded
View

articles/tutorials/qubit-level.md
:white_check_mark:Succeeded
View

articles/tutorials/search.md
:white_check_mark:Succeeded
View

articles/tutorials/toc.yml
:white_check_mark:Succeeded

articles/user-guide/libraries/chemistry/concepts/algorithms.md
:white_check_mark:Succeeded
View

articles/user-guide/libraries/chemistry/concepts/hartree-fock.md
:white_check_mark:Succeeded
View

articles/user-guide/libraries/chemistry/concepts/jordan-wigner.md
:white_check_mark:Succeeded
View

articles/user-guide/libraries/chemistry/concepts/multireference.md
:white_check_mark:Succeeded
View

articles/user-guide/libraries/chemistry/concepts/quantum-dynamics.md
:white_check_mark:Succeeded
View

articles/user-guide/libraries/chemistry/concepts/quantum-models.md
:white_check_mark:Succeeded
View

articles/user-guide/libraries/chemistry/concepts/second-quantization.md
:white_check_mark:Succeeded
View

articles/user-guide/libraries/chemistry/concepts/symmetries-molecular.md
:white_check_mark:Succeeded
View

articles/user-guide/libraries/chemistry/concepts/toc.yml
:white_check_mark:Succeeded

This comment lists only the first 50 files in the pull request.

articles/resources/relnotes.md

[Warning-UidNotFound] 1 invalid cross reference(s) "microsoft.quantum.relnotes.migration-0-3".

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit febed40:
:clock10: Pending: waiting for processors (25 builds ahead of you)
:warning: Docs Build is busy, currently there are 25 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit febed40:
:warning: Validation status: warnings

File
Status
Preview URL
Details

articles/resources/relnotes.md
:warning:Warning
View
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

articles/README.md
:white_check_mark:Succeeded

articles/TOC.yml
:white_check_mark:Succeeded
View

articles/breadcrumb/toc.yml
:white_check_mark:Succeeded

articles/concepts/advanced-matrices.md
:white_check_mark:Succeeded
View

articles/concepts/circuits.md
:white_check_mark:Succeeded
View

articles/concepts/dirac-notation.md
:white_check_mark:Succeeded
View

articles/concepts/multiple-qubits.md
:white_check_mark:Succeeded
View

articles/concepts/oracles.md
:white_check_mark:Succeeded
View

articles/concepts/pauli-measurements.md
:white_check_mark:Succeeded
View

articles/concepts/the-qubit.md
:white_check_mark:Succeeded
View

articles/concepts/vectors-and-matrices.md
:white_check_mark:Succeeded
View

articles/docfx.json
:white_check_mark:Succeeded

articles/how-to-guides/create-qsharp-project.md
:white_check_mark:Succeeded
View

articles/index.yml
:white_check_mark:Succeeded
View

articles/install-guide/toc.yml
:white_check_mark:Succeeded

articles/media/qft_firstH.PNG
:white_check_mark:Succeeded
View

articles/media/qft_firstqubit.PNG
:white_check_mark:Succeeded
View

articles/media/qft_full.PNG
:white_check_mark:Succeeded
View

articles/overview/toc.yml
:white_check_mark:Succeeded

articles/quickstarts/get-started.md
:white_check_mark:Succeeded
View

articles/quickstarts/index.md
:white_check_mark:Succeeded
View

articles/quickstarts/install-command-line.md
:white_check_mark:Succeeded
View

articles/quickstarts/install-cs.md
:white_check_mark:Succeeded
View

articles/quickstarts/install-jupyter.md
:white_check_mark:Succeeded
View

articles/quickstarts/install-python.md
:white_check_mark:Succeeded
View

articles/quickstarts/toc.yml
:white_check_mark:Succeeded

articles/quickstarts/update.md
:white_check_mark:Succeeded
View

articles/relnotes/0.3-migration.md
:white_check_mark:Succeeded
View

articles/relnotes/toc.yml
:white_check_mark:Succeeded

articles/resources/contributing/api-design-principles.md
:white_check_mark:Succeeded
View

articles/resources/contributing/code.md
:white_check_mark:Succeeded
View

articles/resources/contributing/docs.md
:white_check_mark:Succeeded
View

articles/resources/contributing/index.md
:white_check_mark:Succeeded
View

articles/resources/contributing/pull-requests.md
:white_check_mark:Succeeded
View

articles/resources/contributing/reporting-bugs.md
:white_check_mark:Succeeded
View

articles/resources/contributing/samples.md
:white_check_mark:Succeeded
View

articles/resources/contributing/style-guide.md
:white_check_mark:Succeeded
View

articles/resources/contributing/toc.yml
:white_check_mark:Succeeded

articles/resources/further-reading.md
:white_check_mark:Succeeded
View

articles/resources/glossary.md
:white_check_mark:Succeeded
View

articles/resources/toc.yml
:white_check_mark:Succeeded

articles/tutorials/explore-entanglement.md
:white_check_mark:Succeeded
View

articles/tutorials/intro-to-katas.md
:white_check_mark:Succeeded
View

articles/tutorials/quantum-random-number-generator.md
:white_check_mark:Succeeded
View

articles/tutorials/qubit-level.md
:white_check_mark:Succeeded
View

articles/tutorials/search.md
:white_check_mark:Succeeded
View

articles/tutorials/toc.yml
:white_check_mark:Succeeded

articles/user-guide/libraries/chemistry/concepts/algorithms.md
:white_check_mark:Succeeded
View

This comment lists only the first 50 files in the pull request.

articles/resources/relnotes.md

[Warning-UidNotFound] 1 invalid cross reference(s) "microsoft.quantum.relnotes.migration-0-3".

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 150e103:
:warning: Validation status: warnings

File
Status
Preview URL
Details

articles/resources/relnotes.md
:warning:Warning
View
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

articles/README.md
:white_check_mark:Succeeded

articles/TOC.yml
:white_check_mark:Succeeded
View

articles/breadcrumb/toc.yml
:white_check_mark:Succeeded

articles/concepts/advanced-matrices.md
:white_check_mark:Succeeded
View

articles/concepts/circuits.md
:white_check_mark:Succeeded
View

articles/concepts/dirac-notation.md
:white_check_mark:Succeeded
View

articles/concepts/multiple-qubits.md
:white_check_mark:Succeeded
View

articles/concepts/oracles.md
:white_check_mark:Succeeded
View

articles/concepts/pauli-measurements.md
:white_check_mark:Succeeded
View

articles/concepts/the-qubit.md
:white_check_mark:Succeeded
View

articles/concepts/vectors-and-matrices.md
:white_check_mark:Succeeded
View

articles/docfx.json
:white_check_mark:Succeeded

articles/how-to-guides/create-qsharp-project.md
:white_check_mark:Succeeded
View

articles/index.yml
:white_check_mark:Succeeded
View

articles/install-guide/toc.yml
:white_check_mark:Succeeded

articles/media/qft_firstH.PNG
:white_check_mark:Succeeded
View

articles/media/qft_firstqubit.PNG
:white_check_mark:Succeeded
View

articles/media/qft_full.PNG
:white_check_mark:Succeeded
View

articles/overview/toc.yml
:white_check_mark:Succeeded

articles/quickstarts/get-started.md
:white_check_mark:Succeeded
View

articles/quickstarts/index.md
:white_check_mark:Succeeded
View

articles/quickstarts/install-command-line.md
:white_check_mark:Succeeded
View

articles/quickstarts/install-cs.md
:white_check_mark:Succeeded
View

articles/quickstarts/install-jupyter.md
:white_check_mark:Succeeded
View

articles/quickstarts/install-python.md
:white_check_mark:Succeeded
View

articles/quickstarts/toc.yml
:white_check_mark:Succeeded

articles/quickstarts/update.md
:white_check_mark:Succeeded
View

articles/relnotes/0.3-migration.md
:white_check_mark:Succeeded
View

articles/relnotes/toc.yml
:white_check_mark:Succeeded

articles/resources/contributing/api-design-principles.md
:white_check_mark:Succeeded
View

articles/resources/contributing/code.md
:white_check_mark:Succeeded
View

articles/resources/contributing/docs.md
:white_check_mark:Succeeded
View

articles/resources/contributing/index.md
:white_check_mark:Succeeded
View

articles/resources/contributing/pull-requests.md
:white_check_mark:Succeeded
View

articles/resources/contributing/reporting-bugs.md
:white_check_mark:Succeeded
View

articles/resources/contributing/samples.md
:white_check_mark:Succeeded
View

articles/resources/contributing/style-guide.md
:white_check_mark:Succeeded
View

articles/resources/contributing/toc.yml
:white_check_mark:Succeeded

articles/resources/further-reading.md
:white_check_mark:Succeeded
View

articles/resources/glossary.md
:white_check_mark:Succeeded
View

articles/resources/toc.yml
:white_check_mark:Succeeded

articles/supported-macros.md
:white_check_mark:Succeeded
View

articles/tutorials/explore-entanglement.md
:white_check_mark:Succeeded
View

articles/tutorials/intro-to-katas.md
:white_check_mark:Succeeded
View

articles/tutorials/quantum-random-number-generator.md
:white_check_mark:Succeeded
View

articles/tutorials/qubit-level.md
:white_check_mark:Succeeded
View

articles/tutorials/search.md
:white_check_mark:Succeeded
View

articles/tutorials/toc.yml
:white_check_mark:Succeeded

This comment lists only the first 50 files in the pull request.

articles/resources/relnotes.md

[Warning-UidNotFound] 1 invalid cross reference(s) "microsoft.quantum.relnotes.migration-0-3".

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Word/Bigram/Trigram download links do not work.

Amazing project!
The links to download the words, bigrams and trigrams don't work "This site can’t be reached"

Worked with vpn, so issue on my side

Glad it's working for you now. Let us know if you have any other issues or questions!


Startup taking > 8 minutes

I'm trying to start a UAA instance on GCP using the n1-standard-4 instance type. We're seeing it take around 8.5 minutes for the UAA to start responding to HTTP requests. Monit reports the process as fine the entire time though, since it has written the PID file and the process is running.
I bumped the Tomcat/Catalina log levels to FINEST in order to try to see what was happening while it was starting, and it seems to be just spending that whole time loading classes. The logs had just stuff like this taking up the time between initial boot and when the app is finally up and responding to requests:
26-Dec-2017 16:46:36.029 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.loadClass   Loading class from local repository
26-Dec-2017 16:46:36.029 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.loadClass loadClass(org.springframework.security.web.csrf.InvalidCsrfTokenException, false)
26-Dec-2017 16:46:36.029 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.loadClass   Searching local repositories
26-Dec-2017 16:46:36.029 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.findClass     findClass(org.springframework.security.web.csrf.InvalidCsrfTokenException)
26-Dec-2017 16:46:36.029 FINER [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.findClass       findClassInternal(org.springframework.security.web.csrf.InvalidCsrfTokenException)
26-Dec-2017 16:46:36.030 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.findClass       Returning class class org.springframework.security.web.csrf.InvalidCsrfTokenException
26-Dec-2017 16:46:36.030 FINE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.findClass       Loaded by ParallelWebappClassLoader
  context: ROOT
  delegate: false
----------> Parent Classloader:
java.net.URLClassLoader@63961c42

We're seeing this problem with uaa/53.1
Here are the log files from the instance: upgrade-validation-20171226-114732-235610058.tar.gz

It seems like the monit config should be fixed so that it doesn't see the UAA as "running" until it's actually capable of serving requests. It looks like https://github.com/cloudfoundry/uaa-release/blob/431334922758547f1ce751bcac262272d9f796f9/jobs/uaa/monit#L17-L20 is maybe trying to do this, but requests on 8989 just hang, so I would bet monit isn't handling timeouts correctly and that's why it continues to say that the UAA is healthy the entire time.

We were able to downgrade to 52.4 and saw our start times go down to ~2 minutes

I think you can set
properties:
uaa:
bpm:
enabled: false
and that should take care of it too. We will leave this issue open to see why BPM enabled causes this issue.


Claims list for JWT is incorrect in Mono 4.0.1

This function, https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/blob/master/src/System.IdentityModel.Tokens.Jwt/JwtSecurityTokenHandler.cs#L654, returns the wrong list of claims in Mono 4.0.1.
Trying to debug on my own why, but hoping to get ideas.
For example, when I process a JWT on Windows, I get back 12 claims. This is correct. On OS X with Mono 4.0.1 I get 10 claims with the same JWT.
Specifically the "scope" claim comes in as an array in the JWT and Windows will decompose that into several claims, while OS X keeps it as an array.

Fixed in #161


Recommended changes resulting from automated audit

We performed an automated audit of your Cake addin and found that it does not follow all the best practices.
We encourage you to make the following modifications:

[x] You are currently referencing Cake.Core 0.26.0. Please upgrade to 0.28.0
[x] The Cake.Core reference should be private. Specifically, your addin's .csproj should have a line similar to this: <PackageReference Include="Cake.Core" Version="0.28.0" PrivateAssets="All" />
[ ] Your addin should target netstandard2.0. Please note that there is no need to multi-target, netstandard2.0 is sufficient.

Apologies if this is already being worked on, or if there are existing open issues, this issue was created based on what is currently published for this package on NuGet.org and in the project on github.

Thank you for reporting this. 👍
While the first two points are completely reasonable, I do have a few objections against the third one. Cake.Curl already targets the .NET Standard 2.0 and I'd like it to support the .NET Framework 4.6 as well, which is what Cake.Core is currently doing.
Out of curiosity, what tool did you use to do the audit?

Regarding the third recommendation: the issue is not that your addin is not targeting netstandard2.0 (it obviously is, as you pointed out). The issue is that you are multi-targeting which is not necesary. The recommendation is to target netstandard2.0 only, no need to multi-target.
I am curious why you insist on supporting net46? netstandard2.0 is what the Cake team recommends in order to be compatible with Cake and cakeclr. In fact, there's a discussion about updating the guidelines document which includes a discussion about why netstandard2.0 is the recommended framework to target. Maybe you join the discussion and make your point regarding why you disagree with this recommendation?
As far as the tool: it's Cake.Auditdiscoverer which runs twice daily and outputs the following report.

The netstandard2.0 includes net461, not net46. I don't see why an addin that currently supports net46 would have to drop it.
Also, in the discussion on cake-contrib/Home#49 @gep13 wrote:

Regarding the netstandard2.0, I personally think that this is a good recommendation, and it is the way that things are going. There are times when cross-compiling to an earlier framework is needed, so things have to be taken on a per case basis.

I agree with that. In this case, I want Cake.Curl to support net46 because it's effectively free and there is no reason not to be compatible with more platforms if the cost is so low.
Feel free to reopen the issue, if you would like to discuss further.


definition of fitting function in m2.py

I like this module, as is makes analysis very easy. However, I wonder about the fitting for M2. Especially I refer to
def _beam_fit_fn_(z, d0, z0, Theta):     """Fitting function for d0, z0, and Theta."""     return d0**2 + (Theta*(z-z0))**2
I understand the idea of fitting d(z)^2 = ...    wwithout the sqrt. But if I change the input from d**2 to d and also the function from d0**2 + (Theta*(z-z0))**2  to np.sqrt(d0**2 + (Theta*(z-z0))**2), I get different results.
Has anyone an idea, where this change comes from and how to get the proper output? Which of the two versions is right?

I think I have opened this issue to early. The differences are not only related to the different fitting functions, they also depend on the data set himself and consequently on the proper definitions of starting values and bounds where the fit function ends up.
Therefore, the fitting by the sqrt-function seems to be all right and I close this issue again.

You bring up an interesting point though.  Changing the fitting function changes how errors in data are weighted.  I have to look more carefully, but the current code might be overweighting beam size measurement made farther away from the beam waist.


How to deploy updated container without stopping old one

Hi Team,
We are following Jenkins CICD pipeline flow for our AWS ECS container based applications. My CICD will start whether we updated any configuration in old container, Task definition, Service or any docker service. That will build new docker images based on the changes and uploaded in AWS ECR than it will deploy in our ECS cluster.
While we deploying we stopped old containers and start with new one, Since we cant use same docker name and same port for updated container.
Kindly someone can suggest how to deploy updated container without downtime.
Regards,
Raja

@rajasekaran07 Please use docker service if you would like this kind of functionality, which supports rolling updates.

While we deploying we stopped old containers and start with new one, Since we cant use same docker name and same port for updated container.

Also note that you can docker rename a container; https://docs.docker.com/engine/reference/commandline/rename/


remove jsonpath whitespace

Sort of a WIP
Fix for #39 - tested on Win10 and MacOSX. Removed whitespace in path spec for querying the kubectl context and placed single quotes to avoid 2nd @ from causing the email address in the OCP user. Dropped single quotes in namespace response from context.

There are also problems with the git-credentials secret being created on Windows 10, causing pipelines to fail. The password key is currently empty. Closing PR for now.

Tested further scenarios where there is an empty password for git-credentials. Appears to be a terminal bug and not an underlying problem with igc tooling. Reopening...


updates to ci process including docker tpl builds

updates scripts to build and tag a tpl container for ci
adds azure testing
adds docs about the ci container build process
wip

Ready for review: CI docker container update, and move to use Azure.
Also includes docs about the new process -- which includes new script to automate building containers with unique tags that we can then ref in our CI scripts, vet and update via a PR.

Note: I stopped circle CI testing in this PR, that is why circle is failing.

@markcmiller86 added more details about docker hub, etc, thanks for the feedback!


DCGM metrics not showing via curl xxxx:9100/metrics

DCGM metrics not showing via curl xxxx:9100/metrics, only node_*_ type metrics showing.
When I cat /run/prometheus/dcgm I do see what I want to collect.
Really no idea what I'm doing. Im new to this. Trying to scrape DCGM stats into prometheus on another server. Im working in an air gapped environment, so finding it hard to piece together, Im new enough to docker. I can see my GPUS so I think its running
#  docker exec nvidia-dcgm-exporter dcgmi discovery -i a -v | grep -c 'GPU ID:'
4
# nvidia-smi -L | wc -l
4

dcgm_power_usage{gpu="3",uuid="GPU-807436aXXXYYYZZZZZZZ0547d1624eae"} 24.196

I think I need to output curl xxxx:9100/metrics to display all the dcgm_ metrics ?
Any help appreciated

This should be fixed with the new version :)


Fixed #666 again

@kmining found that this patch in PyThaiNLP 3.0.6 doesn't complete. I rewrite to fix and I was add there sentence to unittest for nercut. I hope this pull request will complete fix the problem.

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

In the file tests/test_tokenize.py:

Line 617:80: E501 line too long (90 > 79 characters)


balenaSound slim: multiple improvements to reduce app size

Tested on:

[x] Raspberry Pi 4
[x] Raspberry Pi 3
[x] Raspberry Pi Zero W

Changelog
airplay: use shairport-sync base image

Allows easier control of shairport-sync version
Reduces image size ~200MB (240MB down to 40MB)

sound-supervisor: use node base image for production stage

Reduce image size by ~75MB (225MB down to 150MB)

spotify: replace base image with our own prebuilt

Allows easier version control of librespot binary
Reduces image size ~200MB (340MB down to 140MB)

log2screen: remove block
Closes: #513, #518, #519, #520
Change-type: minor
Signed-off-by: Tomás Migone<EMAIL_ADDRESS>

@balena-ci retest

@balena-ci I self-certify!


Sell Order when loss

Hello,
Is it possible, with actual available settings, to set an automatic sell when the current price comes lower than the last buy price ?
Thanks.

It looks like a duplicate
Please check #66

Hey @Obi49
I can, but I would rather not add that feature as I prefer to wait until it recovers.
You can still do it manually. :shrug:

Ok thanks for the answer @chrisleekr


How to integrate bert into a different model?

As pretrained embeddings are very large we need to infer on bert model in the time of training.
Let's say I have a batch of data in following format,
(B, T, I) = (sentence no, words, word_index)
(B, L) = (sentence no, sentence length)
Now Is there any way to do infer on the pretrained BERT model and get an output like below,
(B, T, I, E) = (sentence no, words, word_index, embeddings)
All I see here, https://github.com/google-research/bert/blob/master/run_pretraining.py#L131
But I am not sure what are
token_type_ids=segment_ids,  use_one_hot_embeddings=use_one_hot_embeddings
these two arguments and how to get the desired output?

do you mean the true ‘word’ embedding?
bert uses bpe tokenizer to segment an oov word to series of tokens. so, you need to prepare

input sentence : length T
bpe tokenized sentence : length T’
convert it to ids : length T’

this is token_ids
segment_ids are all 1 with length T’
use one hot embeddings flag is just for TPU or GPU.

if you have
(batch size, max sentence size)
then, after converting it, you will get :
(batch size, bert max sentence size)
and feed it to bert model,
you will get :
(batch size, bert max sentence size, bert model size)
as you see, the true word embedding lies across a number of bert embeddings.
in NER task, we can regard the first bert toekn embedding of an word embedding.
or
we could merge the bert token embeddings to an word embedding.
but, it is hard to compute via tensorflow ops.
(may be pytorch is possible?)

I'm not sure if I got the question completely right. But, the only thing you need, to get the BERT embeddings is the sequence of words in your sentence which seems to me that you have in T.
Just remember to use model.get_sequence_output() instead of model.get_pooled_output() after creating the model using modeling.BertModel. The former, as the name suggests, returns a vector for each token in the input sequence.
use_one_hot_embeddings is the method of retrieving word embeddings out of the embedding tensor. If False, uses tf.gather otherwise, a simple tf.matmul generates requested embeddings. It seems to me that setting use_one_hot_embeddings to False is usually preferred (unless you want your model less parallel; for some reason).
token_type_ids, as I understood, is a generalization for segment_id. It's quite intuitive to add some information to words of the second sequence (e.g. answer) to make the model, somehow, aware that this word belongs to the second sequence. So, for tasks like the question answering, token_type_ids are 0 for words in the question and 1 for words in the answer. One might also imagine a task which has more than two types of token which makes token_type_ids quite handy.

@dsindex hi there!
Nice repo you have.
I saw you are working on NER. Awesome work. Once I worked with it.
I still don't get it.
What is the segment id?
Apart from that I got my answer.

@sbmaruf
segment_id is always 1’s with length T’ for NER.
if you try to slove a problem with A and B,
(for example, MRC, sentence pair classification)
then, A sentence should have 1’s and B should have 0’s segment_id for segment embedding.
there is the pretrained segment embedding in the pretrained bert. and the size of vocab for segment embedding is 2.


Keras classifier not using parameters

BATCH_SIZE/EPOCHS etc are currently ignored.

This is fixed not


Pluralization Issue

With:
module.exports = {
  "greeting": "Hello, %(name)s!",
  "x_nights": {
    "zero": "No Night",
    "one":   "1 Night",
    "other": "%(count) Nights"
  }
}

executing:
translate('x_nights.other', {count: 3}) results in:
Uncaught Error: [sprintf] %(count) Nächte(…)

Hi,
it has to be "%(count)s Nights". Notice the "s" after the ")".

@martinandert: That was not obvious in the first place. Thx for your quick reaction!


Add zfs property to indicate where objects came from

Thinking ahead to when I implement replication, either in SIAZ itself or as a separate utility,[^note5] it would be quite useful for objects that SIAZ touches to have a way to indicate what system they were created on.
Consider the following situation:

Two systems: hostA and hostB, both running ZFS and SIAZ
hostA has local ZFS file system fsA, configured with enabled,[^note6] takesnapshots,[^note6] and prunesnapshots[^note6] all true (as is standard)
hostB has local ZFS file system fsB, configured with enabled,[^note6] takesnapshots,[^note6] and prunesnapshots[^note6] all true
hostA sends snapshots of fsA to hostB[^note1] and hostB receives them as fsB/fsA (thus, property inheritance applies)
At least one of the following is true:

fsB/fsA is inheriting enabled[^note6] and takesnapshots[^note6] from fsB
fsB/fsA has enabled and takesnapshots[^note6] explicitly set to true

In this scenario, without something to prevent it, SIAZ will happily take a snapshot of fsB/fsA on hostB on the configured schedule, which will prevent incremental zfs send operations from hostA to hostB from succeeding (without parameters to force it, which SIAZ probably shouldn't use), as they will no longer have the same base.
The problem can be trivially solved by setting takesnapshots to false on fsB/fsA, but this requires either user intervention or, if SIAZ sets it, requires that the user be vigilant not to alter its properties, during future configuration changes on hostB. This is non-ideal and incompatible with the goal of SIAZ doing its best to prevent easily-made mistakes in configuration.
A more robust solution is to use a zfs user property (let's call it sourcesystem[^note6] for now), using a host name or some other unique and ideally user-friendly identifier, to notate what system created the object.
My initial thought is that sourcesystem[^note6] would be a property that applies to both snapshots and datasets.
If SIAZ is configured to take snapshots, there would be a new check, for each dataset with takesnapshots[^note6] == true, before the rest of the snapshot creation code runs for that dataset, which checks sourcesystem[^note6] and, if it is defined, non-empty, and not equal to the current system's identifier,[^note2] skip the rest of the code for taking snapshots, for that dataset.
If empty, and if takesnapshots[^note6] is true, the property would be set to the local system's identifier the first time a snapshot is taken of that dataset.[^note2]
This will allow the user to set up replication without being required to explicitly configure the receiving system to skip datasets received from other systems.
It also could potentially enable other, more complex, processing of datasets and snapshots received from other systems, either in future SIAZ features, or user-implemented scripts.
However, it does potentially raise the question of if there should be an explicit setting to override that behavior.
My immediate thought on that is that no, such a property would be useless, because it would break the incremental send/receive flow.
Or, if the user had sent a dataset from one host to another simply to clone it, without the intention of using it in a replication setup, an override property would be redundant, since the behavior could then simply be overridden by changing the sourcesystem[^note6] property to the local system identifier (in fact, this would be a more correct way to handle that scenario anyway, in my opinion).
Alternatively, such a property could be set upon receiving a snapshot from another system.
However, the biggest caveat to that approach is that, for any configuration that doesn't use SIAZ to make the transfer, that property wouldn't get set, so that's probably not a wise approach.
Another thought is the scenario of doing a send/receive on the same system, from one pool to another.
This would present a problem if the sourcesystem[^note6] property is only a system identifier, if the intention is for local replication.[^note7]
To prevent that being an issue, the identifier would need to include, at minimum, the pool it came from, as well. My thought is that the full path of the dataset should be appended to the base system identifier, in case someone sets up an intra-pool send/receive, for some reason.
Alternatively, there could be two properties that, together, form a unique key: Something like sourcesystem[^note6] and sourcepath[^note6], for example.
A much more minor question multi-tiered inter-system replication scenarios raise is whether there is any utility in having another property, in addition to those previously mentioned, to notate the original system a dataset or snapshot came from (so, something like originalsystem[^note6]).
A couple of scenarios I could see that potentially being applicable to are:

A multi-tiered replication setup, such as a system on the local network that receives all snapshots for "hot" replication, and another on-site or off-site system that only receives longer period snapshots,[^note3] for "cold" storage.
A non-replication setup,[^note4] simply as implicit documentation of the original source.

In both of those cases, however, such a property is little more than documentation, which is probably beyond the scope of what SIAZ should bother with handling.
Then there is the question of how to represent it in the configuration console.
I will think about that and add my thoughts as a reponse to this issue.
[^note5]: For example, the way that sanoid and syncoid are seprate applications
[^note6]: Namespace is omitted in this issue for brevity, but all properties discussed here are in the snapsinazfs.com: namespace.
[^note1]: The specific schedule is not important for this purpose - only that they are sent from one to the other
[^note2]: Perhaps that identifier could be overridden in configuration, and, if not specified, a default value based on system name or some other likely unique property is chosen?
[^note3]: For example, hostA sends all snapshots, including frequent, to hostB, which then, in turn, sends only daily snapshots to hostC, as a bandwidth saving measure (especially useful for slow sites or for cloud replication targets where data transfer costs are a concern, though this property would not be necessary to enable that scenario)
[^note4]: Such as simply sending a snapshot to another system as a form of data transfer to seed a file repository
[^note7]: One example is local system backup from a flash pool to a spinning rust pool or any other similar tiered storage setup

For now, I've marked this as an enhancement to be made for the first stable release of SIAZ.
That is subject to change, but I think it will be better if it's defined from the first version, to avoid it being a breaking change in the first point release, if users neglect to update their zfs property schema.

This is partially implemented.
The existence of the property is enforced in the root schema, and it is set explicitly for new snapshots, but it is not used for anything else, yet, and the behavior described in the initial issue post is not yet fully implemented, for setting the property on non-snapshots or for any other purposes.

This is complete, for the purposes of initial release.
Additional behaviors based on it, such as not taking snapshots of received file systems, will be revisited for later versions.
I am on the fence about that behavior, since it's largely redundant with simply turning TakeSnapshots to false on received datasets, but I'll give it some more thought at a later time.
For now, I am closing this issue.

This is complete, for the purposes of initial release.
Additional behaviors based on it, such as not taking snapshots of received file systems, will be revisited for later versions.
I am on the fence about that behavior, since it's largely redundant with simply turning TakeSnapshots to false on received datasets, but I'll give it some more thought at a later time.
For now, I am closing this issue.


Add unsafe macro to eliminate bounds checking

This PR deserves careful thought, and it's possible we shouldn't merge it. We've made a deliberate decision to recommend against making @inbounds work with arrays like OffsetArrays, because there's too much code in the wild that has marked sections of code with @inbounds for which it isn't actually safe unless the indices start at 1.
However, in practical usage the lack of bounds-check elimination can be a big deal; in our update2d benchmark, there's about a 3-fold performance gap between OffsetArrays and Arrays.
The hack here is to use a different name, here called @unsafe, which accomplishes something similar to @inbounds (in a much less sophisticated/powerful way, but good enough for quite a few cases). The point being that since there isn't any code out there already using @unsafe, perhaps this is OK. In the new benchmarks using @unsafe, OffsetArrays match the performance of Arrays.
Thoughts? CC @JeffBezanson to give him the chance to disagree.

Thanks @timholy ! This macro is really great. BTW thanks for fixing indices ordering in update2d - I'm used to C-like row-major ordering but Julia as matlab and Fortran has column-major 2d arrays ordering - I should have remembered it. In my opinion it is too costly to pay such a big performance penalty for bounds checking. Some time ago I noticed, if comment checkbounds within getindex, setindex it will be possible to get a drastic performance boost for OffsetArrays.
Ideally it would be nice to have an opportunity at julia compiler invocation level to have a switch for selectively suppress bounds checking, e.g. for OffsetArrays only as suppressing it everywhere generally is a bad idea and in many places the penalty is not so high, say 15%. Summing up ideally it would be great to have the same code and the opportunity to switch off bounds checking for OffsetArrays only using some special julia flag (maybe environment variable?). Anyway I'm for merging. Thanks for the patch.

Eventually we can just add @boundscheck in front of the checkbounds statements, and then @inbounds will eliminate the checks. But that's too dangerous to do before people have a chance to get nice error messages (rather than segfaults) when passing OffsetArrays to package code that doesn't expect indexing to start at something different from 1.


support compound filters via the shim

As of https://github.com/choria-io/go-protocol/commit/447b8a453d6b2338a4e8cac02fec505520c502f0 the protocol can take JSON strings that contains a parsed compound filter.
The parsing happens with MCollective::Matcher.create_compound_callstack, we should add a helper here that takes a string like filter - calls out to the shim, which should gain support for doing this, and then pass the JSON into the protocol when CompoundFilter is called.

Shim is @ https://github.com/choria-io/go-mcoshim

Shim was extended in https://github.com/choria-io/puppet-choria/issues/81


Switch to Application.compile_env/3

It gets rid of this warning:
==> absinthe_plug
Compiling 18 files (.ex)
warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead
  lib/absinthe/plug/graphiql/assets.ex:5: Absinthe.Plug.GraphiQL.Assets

Since we are requiring ~> 1.10 version of Elixir, this change should be alright.

Thanks!


Add shields for Puerto Rico

Fixes #240.
Waiting on a tile update before screenshots can be produced.

Setting draft pending satisfaction of local community engagement.

From the experiment in https://github.com/ZeLonewolf/openstreetmap-americana/issues/240#issuecomment-1184802189:

This is also waiting on confirmation of my tagging proposal on the talk-pr list.

The local community is on board, with one modification to replace network=US:PR:urban_primary with network=US:PR:primary_urban for resemblance to Spanish. Changeset 124,081,899 takes care of this change, but it’ll require another refresh of the vector tiles. This gives us some time to tag or retag more routes in the meantime.

Code looks essentially correct.  I visually confirmed that HK, and US:VA shields are displaying as expected.
I was not able to locate a road in PR with the intended shields.  I recall from memory that the main road from San Juan to Farjardo was shielded but didn't find shields displaying either there or other places I looked on the island.

Definitely seeing some tagging issues, e.g. in the area around Arecibo:

In the area around Rincon, on the west coast of the island:

Here's Guayama: (localhost)
Puerto Rico's situation is similar to that of Tennessee. The majority of routes have not yet been mapped to distinguish segments with different shield appearance.

Linked location looks good to me.  An overpass query of network=US:PR comes up with a fair number of hits on relations that don't seem to correspond with shields and could use a look:
http://overpass-turbo.eu/?Q=%2F*
This is an example Overpass query.
Try it out by pressing the Run button above!
You can find more examples with the Load tool.
*%2F
rel[network%3D"US%3APR"]%3B
(._%3B>%3B)%3B
out%3B&C=18.27045;-66.45719;10
For example:
https://www.openstreetmap.org/relation/3754823
Looks like the refs include the whole network in them which overflows our ref length limit.


Improve array syntax

At present, the type for an NxM array of integers is [[int,M],N].  It is kind of annoying that you have to read it right-to-left to get the natural shape.  One solution is to instead use an [N,[M,int]] notation, but maybe someone can come up with something better.

We might also want to improve the function/parameter declaration syntax while we're messing around.  It seems that most languages have agreed that having the result type at the end makes the most sense (Rust, Go, etc).  So for example, the factorial function would be:
fun fact(n : int) -> int = ...

This also fits well with usual type ascription notation.  (The arrow is from Rust - we could use colon instead.)

On Thu, May 19, 2016 at 9:27 AM, Troels Henriksen
<EMAIL_ADDRESS>wrote:

We might also want to improve the function/parameter declaration syntax while we're messing around. It seems that most languages have agreed that having the result type at the end makes the most sense (Rust, Go, etc). So for example, the factorial function would be:
fun fact(n : int) -> int = ...
This also fits well with usual type ascription notation. (The arrow is from Rust - we could use colon instead.)

I am against putting more information between the function arguments
and the expression side of the functions, but that might just be by
habit.

I am against putting more information between the function arguments and the expression side of the functions, but that might just be by habit.

I like the Rust-like notation. But that might also be out of habit :)

At present, the type for an NxM array of integers is [[int,M],N]. It is kind of annoying that you have to read it right-to-left to get the natural shape. One solution is to instead use an [N,[M,int]] notation, but maybe someone can come up with something better.

Another option is the C-like int [M, N].

What would that look like without the annotations?  int [,]?
--
\  Troels
/\ Henriksen

I guess so. You'd have int [], int [N], int [,], int [M, N], and so on.
I cant decide if int [,] really is uglier than [[int]], or if I'm just more used to the latter.

It is definitely uglier.
--
\  Troels
/\ Henriksen

... I'm all for colons for return types and the [N,[M,int]] notation for
multidimensional arrays, which emphasises that the SOACs work in a
"structural fashion"...
On Thu, May 19, 2016 at 11:12 AM, Troels Henriksen<EMAIL_ADDRESS>
wrote:

It is definitely uglier.
--
\ Troels
/\ Henriksen
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/HIPERFIT/futhark/issues/179#issuecomment-220269862

Cosmin proposed using asterisk instead of comma, i.e., [N*[M*int]].  Makes sense to me.  Thoughts?

On Thu, Jun 2, 2016 at 4:47 PM, Troels Henriksen<EMAIL_ADDRESS>wrote:

Cosmin proposed using asterisk instead of comma, i.e., [N*[M*int]]. Makes
sense to me. Thoughts?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/HIPERFIT/futhark/issues/179#issuecomment-223315073,
or mute the thread
https://github.com/notifications/unsubscribe/ADfkWduvig5OtQ_-C3kiS2omEGvkHV2zks5qHu0bgaJpZM4Id_Oh
.

As long as it does not clash with the uniqueness-operator.

It does not, except visually.  I don't think it's a big problem.
--
\  Troels
/\ Henriksen

Fritz has some interesting comments on the syntax; go chat with him also...
Den torsdag den 2. juni 2016 skrev Troels Henriksen <
<EMAIL_ADDRESS>
It does not, except visually. I don't think it's a big problem.
--
\ Troels
/\ Henriksen
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/HIPERFIT/futhark/issues/179#issuecomment-223346618,
or mute the thread
https://github.com/notifications/unsubscribe/ABHRu7Si5VfwsIgnLmPqGxBDh_5cP98Vks5qHwUagaJpZM4Id_Oh
.

(1) It turns out the isomorphism theory of simple types is high-school
algebra, the algebra of calculating with +, * and exponent.  Arrays are
(certain) exponentials; pairs, triples are products; and sum types (such as
Booleans) are sums.
What does this have to do with Futhark?
Using a familiar notation to notationally support these isomorphisms should
be useful because then the types and their natural (both
category-theoretically, intuitively and compiler-optimization-wise)
transformations look like familiar algebraic rewritings.  (2) Also, there
are some general (concrete syntax) usability concerns to take into account,
I believe.
ad 1. Isomorphisms.
Some high-school algebra equalities (where I'm using, ominously, 'int' as a
variable name instead of 'x')
int^5 = int * int * int * int * int
(int^5)^3= (int^5)(int^5)(int^5) = int * ... * int (15 times)
int + int = 2 * int
These are not equalities, but natural isomorphisms on simple set (= sets
denoted by the types):

is Cartesian product, + is disjoint union, ^ is the full function space.
5 is a five-element set, canonically iota(5); think of
5 implicitly as standing for iota(5) whenever a type is required.  The
correspondence with high-school algebra (a term by Tarski, by the way) and
its interpretation on natural numbers is by taking the cardinality of the
sets involved. The type of n-element arrays of elements of type t
corresponds to the exponential  t^n.

ad 2. The ^ notation for exponential is terrible for one reason and
inconsistent for another:
Firstly (the terrible part; subjective, but I believe consistent with
findings on UX of concrete programming language syntax in the 80s), it is
graphically (read: its visual rendering in the 2 dimensions of the
Euclidean space you're presently looking at) symmetric in one dimension;
that is, flipping it along a vertical line through its middle yields the
symbol itself.  This suggests that flipping "x ^ y" along the same line
should be the same as "y ^ x", in other words, the symbol's symmetry
suggests that the operation is algebraically symmetric; which it isn't.
(It not unusual to use symmetric infix operators for nonsymmetric
operations, but I believe it's, all things equal, better to signal visually
that something is not symmetric rather than using a symmetric graphic and
reminding the reader to ignore its visual symmetry.)
Secondly, the exponent comes last (to the right), which is okay by itself
(who says the exponent is less or more important than the base?), but
inconsistent with writing 2 * int instead of int * 2. Note that ^ is to *,
as * is to +, and as + is to 1, not just intuitively, but by the levels of
the Gregorczyk Hierarchy: the left operation is defined in terms of one
level of primitive recursion using the right operation.  So if 2 * int is
preferred then this suggests the exponent should come first, not the base.
Indeed in logic, type theory and functional programming  we are accustomed
to just such a notation for exponent where the exponent comes first:  we
write int -> real instead of real^int, with the exponent int coming first,
consistent with the 2 in 2 * int coming first.  In terms of high school
algebra we'd be writing 5 -> int = int * int * int * int * int.
Programming languages usually disguise notationally that array types are
subsets of function spaces, for some reason that I suspect has only a
historically sane account: for function types we write the exponent first
(the arrow notation), and for
array types we write the basis first, where for confusing measure the
declared variable might be spliced in.  This started with ALGOL 60; e.g.
"integer array A[start:end]"; which corresponds to A: [start...end] ->
integer, respectively integer^[start...end] in the two notations above.
My input:

Don't use * instead of "," for something that is not symmetric -- by
that measure, "," is better (it's not graphically symmetric).  The reason
for using * is supposedly that it visually supports the isomorphism of
[N*[Mint]] and [(NM)*int].  But using * (which suggests the intent to
look like \times, by analogy with * used for multiplication of numbers in
most programming languages) for exponentiation is questionable: it suggests
that + should be used for (Cartesian) product (!); sum types being out of
favor in Futhark doesn't free -- in user's minds --  the product symbol
from serving as an exponentiation operator.
Don't use "," -- it suggests a pair (by strong convention) or at least
something associative, being an infix operator (Many operators in real
life, notably juxtaposition for function application, violate the
'graphically-infix-thus-associative' principle, with some cumbersome
consequences.)
Stick either with convention where the order of base and exponent in
function types and in array types is not the same, but then do stick with
convention:

use int[N][M], int[N*N] or such for arrays (a bit tricky to signal
the difference between a multidimensional array and its canonical
linearization by multiplying out the ranks); or
use the same order as function space constructor '->' if
introducing a new/uncommon notation to support the readers's adoption of
new syntax by semantically correct association with something familiar;
e.g. [M] int, where this is parsed (in the sense of 'semantically
decomposed') as [M] followed by int; so juxtaposition is the array type
constructor, the brackets belong with the M, where [M] denotes
iota(M) as a
type. One thus gets types such as [M] [N] int, ([M] * [N]) int
and [M * N]
int, all pairwise different, but isomorphic, where "*" is used
as Cartesian
product constructor (which is better than using "( , )" since
the Cartesian
product is, well, a product and not a pair, and one might as well use a
symbol that is reminiscent of products rather than pairs).

Fritz
On Thu, Jun 2, 2016 at 4:47 PM, Troels Henriksen<EMAIL_ADDRESS>wrote:

Cosmin proposed using asterisk instead of comma, i.e., [N*[M*int]]. Makes
sense to me. Thoughts?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/HIPERFIT/futhark/issues/179#issuecomment-223315073,
or mute the thread
https://github.com/notifications/unsubscribe/AAo8j7ijXeGkXMEaLEGrz0JZJ2x9EW3wks5qHu0agaJpZM4Id_Oh
.

int [M] [N] is the closest contender I've seen, but it's not particularly pleasant when the dimensions are not known (or implied).  int [][]?  Or maybe int[?][?]?

I have switched the notation used in the core language prettyprinter to the one Fritz suggested.  That will give me a chance to read a bunch of code using it, which seems a good a way as any to get an idea of whether it will work.  Looks good so far.  This is a short example:
entry {i32} main() =
  let {bool[9i32] reshape_9369} = [True, True, True, True, False, False, False,
                                   True, False]
  let {bool[1i32][9i32] reshape_9370} = replicate(1i32, reshape_9369)
  -- reshape_9371 aliases reshape_9370
  let {bool[9i32] reshape_9371} = reshape((9i32), reshape_9370)
  let {bool[21i32] concat_x_9372} = replicate(21i32, False)
  let {bool[30i32] res_9373} = concat(concat_x_9372, reshape_9371)
  -- reshape_9374 aliases res_9373
  let {bool[10i32][3i32] reshape_9374} = reshape((10i32, 3i32), res_9373)
  -- rearrange_9375 aliases reshape_9374
  let {bool[3i32][10i32] rearrange_9375} = rearrange((1, 0), reshape_9374)
  -- reshape_9376 aliases rearrange_9375
  let {bool[30i32] reshape_9376} = reshape((30i32), rearrange_9375)
  let {bool[70i32] concat_x_9377} = replicate(70i32, False)
  let {bool[100i32] res_9378} = concat(concat_x_9377, reshape_9376)
  -- reshape_9379 aliases res_9378
  let {bool[10i32][10i32] reshape_9379} = reshape((10i32, 10i32), res_9378)
  -- rearrange_9380 aliases reshape_9379
  let {bool[10i32][10i32] rearrange_9380} = rearrange((1, 0), reshape_9379)
  let {i32[10i32] map_arr_9381} = iota(10i32, 0i32, 1i32)
  let {bool[10i32][10i32] rearrange_9391} =
    map(10i32,
        fn {bool[10i32]} (i32 x_9387) =>
          let {i32 x_9388} = add32(x_9387, 3i32)
          let {i32 i_9389} = smod32(x_9388, 10i32)
          -- res_9390 aliases rearrange_9380
          let {bool[10i32] res_9390} = rearrange_9380[i_9389]
          in {res_9390},
        map_arr_9381)
...

I particularly like that there is still a nice property of composition.  For any t, you can get an array of ts by writing t[N] (or just t[]?).

I just realised that the correct rule is more complicated.  You create an array of t ds (where ds is a sequence of dimension specifiers) by saing t [N]ds.  Drat.  I really liked the easy composition.  One solution (if this is even a problem) is to write the dimensions to the left of the element type, i.e., [N][M]int.

I have been playing around with the [N][M]int notation in the core language.  It's not so bad once you get used to it.  Cosmin suggested using commas instead, so that it would be [N,M]int, which is less typing.  I'm not sure how much more time we should spend on this.  One one hand, arrays are the data structure in Futhark.  On the other hand, is the difference between these different left-to-right notations really so significant?  I currently consider these possibilities:

a0) [N][M][K]int

a1) int[N][M][K]

b0) [N,M,K]int

b1) int[N,M,K]

c0) [N*M*K]int

c1) int[N*M*K]

I don't think I have seen any other convincing suggestions.  I am partial to a0 (or its slightly simplified b0 variant), because I like how it mirrors the structure when read left to right (and at the bottom is a scalar).

I think there is some benefit from being able to write up the type of most
of the SOACs in a collective fashion using a0 and a1. With a0, the type of
map (or rather, map1) can be expressed as follows:
map1 : ('a -> 'b) -> [N]'a -> [N]'b
Using the other suggestions, the type of the individual SOACs cannot easily
be expressed...

This is also my main concern.  But, really, how much difference is it in
practice?
--
\  Troels
/\ Henriksen

When we get modules with polymorphic function entries, it could become
quite useful!

I guess we could support [N,M,K]t as a shortcut syntax for [N][M][K]
and get the best of both worlds.
--
\  Troels
/\ Henriksen

Yes, that is a possibility... What should be the syntax for arrays of
unknown size? Can one write [M[][P]int and [M,,P]int?
Den søndag den 5. juni 2016 skrev Troels Henriksen<EMAIL_ADDRESS>
:

I guess we could support [N,M,K]t as a shortcut syntax for [N][M][K]
and get the best of both worlds.
--
\ Troels
/\ Henriksen
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/HIPERFIT/futhark/issues/179#issuecomment-223833618,
or mute the thread
https://github.com/notifications/unsubscribe/ABHRu4TqLK9DC7Z1QILcxUKcnp5LWaKrks5qIyivgaJpZM4Id_Oh
.

[M][][P]int, yes.  And I suppose the shorthand would permit [M,,P]int.  Not beautiful, but not terribly bad.  In practice, I expect that users will tend to define all dimensions or none, and [][][]int doesn't look that bad, I suppose.  It's even easier to read at a glance than the current notation of [[[int]]]!

I have made this change in branch new-array-syntax.  I used the following program to convert the test suite - you can use it too!
import qualified Data.ByteString.Char8 as BS
import Data.Char
import Data.List
import System.Environment
import Text.ParserCombinators.ReadP

main :: IO ()
main = do [file] <- getArgs
          s <- BS.readFile file
          BS.writeFile file $ BS.pack $ correct $ BS.unpack s

correct :: String -> String
correct [] = []
correct (c:'[':cs)
  | not $ isAlphaNum c, not $ c `elem` "'_", -- Hack to avoid indexing.
    [(t,cs')] <- readP_to_S parseArrayType ('[':cs) =
      c : ppType t ++ correct cs'
correct (c:cs) =
  c : correct cs

data Type = Array Type (Maybe String)
          | Tuple [Type]
          | Type String
          deriving (Show)

ppType :: Type -> String
ppType (Type s) = s
ppType (Tuple ts) = "(" ++ intercalate "," (map ppType ts) ++ ")"
ppType (Array t Nothing) = "[]" ++ ppType t
ppType (Array t (Just d)) = "[" ++ d ++ "]" ++ ppType t

parseArrayType, parseType, parseTupleType, parseBottomType :: ReadP Type
parseType = choice [parseArrayType, parseTupleType, parseBottomType]
parseArrayType = brackets $ Array <$> parseType <*> option Nothing (Just <$> parseDimDecl)
parseTupleType = parens $ Tuple <$> parseType `sepBy1` symbol ','
-- Hack: a bottom type must be more than one character, to avoid
-- catching array indexing (often [i] or [j]).
parseBottomType = lexeme $ Type <$> ((:) <$> satisfy isAlpha <*> many1 (satisfy isAlphaNum))

parseDimDecl :: ReadP String
parseDimDecl = symbol ',' >> lexeme (many1 (satisfy (\c -> isAlphaNum c || c == '_')))

lexeme :: ReadP a -> ReadP a
lexeme p = skipSpaces >> p

symbol :: Char -> ReadP Char
symbol = lexeme . char

brackets, parens :: ReadP a -> ReadP a
brackets = between (symbol '[') (symbol ']')
parens = between (symbol '(') (symbol ')')

Will merge this soon unless someone is seriously unhappy with the new syntax.


How can  i  export/import cookies?

hi, I am using Python Selenium with your API. Is there a way to export and import cookies to the profile? I tried Pickle Library but it seems not working

So selenium only loads cookies on the page you are on I think. Everything works fine with pyppeteer


addprocs doesn't terminate when executed by ctrl+enter

I tried running addprocs(...) by ctrl+enter but the gear wasn't spinning, instead it froze. when instead pasting the code into the embedded console everything works fine!

Are you sure you're running the latest version of Juno (specifically of Atom.jl)?

Indeed updating made it stop blocking though i now get an error :/
ERROR (unhandled task failure): could not spawn setenv(`'C:\Users\necka\AppData\Local\Julia-0.6.2\bin\julia.exe' -Cx86-64 '-JC:\Users\necka\AppData\Local\Julia-0.6.2\lib\ju
lia\sys.dll' --compile=yes --depwarn=yes --bind-to <IP_ADDRESS> --worker 9f7ssrx7LpivulEy`; dir="G:/Downloads"): no such file or directory (ENOENT)
Stacktrace:
 [1] _jl_spawn(::String, ::Array{String,1}, ::Ptr{Void}, ::Base.Process, ::Base.DevNullStream, ::Base.PipeEndpoint, ::Ptr{Void}) at .\process.jl:360
 [2] #376 at .\process.jl:512 [inlined]
 [3] setup_stdio(::Base.##376#377{Cmd}, ::Tuple{Base.DevNullStream,Pipe,Base.PipeEndpoint}) at .\process.jl:499
 [4] #spawn#375(::Nullable{Base.ProcessChain}, ::Function, ::Cmd, ::Tuple{Base.DevNullStream,Pipe,Base.PipeEndpoint}) at .\process.jl:511
 [5] (::Base.#kw##spawn)(::Array{Any,1}, ::Base.#spawn, ::Cmd, ::Tuple{Base.DevNullStream,Pipe,Base.PipeEndpoint}) at .\<missing>:0
 [6] #spawn#372(::Nullable{Base.ProcessChain}, ::Function, ::Base.CmdRedirect, ::Tuple{Base.DevNullStream,Pipe,Base.PipeEndpoint}) at .\process.jl:392
 [7] spawn(::Base.CmdRedirect, ::Tuple{Base.DevNullStream,Pipe,Base.PipeEndpoint}) at .\process.jl:392
 [8] open(::Base.CmdRedirect, ::String, ::Base.DevNullStream) at .\process.jl:578
 [9] launch(::Base.Distributed.LocalManager, ::Dict{Any,Any}, ::Array{WorkerConfig,1}, ::Condition) at .\distributed\managers.jl:323
 [10] (::Base.Distributed.##31#34{Base.Distributed.LocalManager,Dict{Any,Any},Array{WorkerConfig,1},Condition})() at .\event.jl:73

was a filesystem problem -.-

Great :)


(#14) Initialize combo_timeout with COMBO_PERIOD

Closes #14

@JaroslawWiosna looks goode to me! :+1: Thank you for your contribution! :kissing:


[FEATURE] Add Unit Tests for BidirectionalDictionary

Is your feature request related to a problem? Please describe.
When #3 is implemented BidirectionalDictionary behavior should be tested.
Describe the solution you'd like
Create NUnit tests for BidirectionalDictionary.
Tasklist

[x] List task items, as this isn't a simple feature to implement

Merged in Commit 855ba8cac3f9647d0f552ab4365730dee0cb0e1a


⚠ Bofrost.at has degraded performance

In ac482c8, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2090 ms

Resolved: Bofrost.at performance has improved in 8601971 after 8 minutes.


minor comment fix

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[X] Does not have any user-facing changes. This may include CLI changes, API changes, behavior changes, performance improvements, etc.

@ramaraochavali: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
49e1455e7833bcc63a5393c9d736f7338dd9b859
link
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test release-notes_istio


Support for variable names longer than 8 chars

My variable names are being trimmed to 8 chars, causing numerous duplicate variable names. It seems this 8 char limit is coded pretty deeply into the project ( $buffer->writeString($this->name, 8); ).
Is there a flag or setting that I am missing to extend the name length to 64 chars (available since SPSS version 12)?
If it will require code changes could you give a high-level summary of the implications and scope of making this change?
Thanks for you time!

Problem is that $this->name is really 8 chars width, but full name is written in info property of reader so you can combine that info property with short var name $reader->info[13]->data[$var->name] but it will only exists if there more than 8 chars variable name


keybind doesnt seem to work

keybind doesnt seem to work

nvm i doesnt seem to work at all for me


[Lecture11-2][1201] Question about loss in SRGAN

Hello professor,
I’m curious about the difference between content loss and perceptual loss in SRGAN.
Could you explain how each of these losses impacts the quality of the generated images?

@shindahye58 , Thank you for the comment!
In SRGAN, the definition of the perceptual loss is defined as follows:

Perceptual loss is the weighted sum of content loss and adversarial loss. The content loss is defined as the MSE loss between the features of a specific layer in the VGG network for the two images, as follows:


Add version number information in backend, frontend and build process

Motivation and Context
We want to make it easier to know which version we are dealing with / debugging
Description

Add version number information in backend, frontend and build process
Remove unused deployment files

Contribution Checklist

[ ] The code builds clean without any errors or warnings
[ ] The PR follows the Contribution Guidelines and the pre-submission formatting script raises no violations
[ ] All unit tests pass, and I have added new tests where possible
[ ] I didn't break anyone :smile:

Is the version bumped automatically? Or is this something we have to do manually? If the latter, we should specify this in a contributing doc somewhere
should also start a version changelog in this PR

For proper Releases and change logs, we can use functionality baked in GitHub already. This PR is but a step for that to happen. Stay tuned.

Is the version bumped automatically? Or is this something we have to do manually? If the latter, we should specify this in a contributing doc somewhere
should also start a version changelog in this PR

For proper Releases and change logs, we can use functionality baked in GitHub already. This PR is but a step for that to happen. Stay tuned.

so with that said, we will have automatic updating of the major/minors in the future?
I have concerns about having to manually update these fields, but they are alleviated if Github will does it for us 😄


Change naming convention for Renesas RA series

The name in Kconfig of Renesas RA series SoC currently uses the non-abbreviated name.
e. g. r7fa4m1ab3cfm
Actually, the full name contains the temperature variation identifier and more; it is a bit lengthy.
FSP uses a short name such as "R7FA4M1AB".
It is enough from a software viewpoint.
It is good to align the policy with FSP.

Hello @soburi,
Thank you for your creating for this issue. I have one comment and one concern.
Comment: "R7FA4M1AB" isn't enough to identify for the SoC on the board. The package type is also necessary.

Actually, in FSP, when use with the actual board, we also specify the correct part number of MCU which used in the board.
It is configured via e2studio. So, we cannot shorten the SoC name in Kconfig.
Concern: as we referred the guide in https://docs.zephyrproject.org/latest/hardware/porting/soc_porting.html

We understood that the SoC name must be same with the name is used on the board.
I wonder that my understanding is still correct or not?


Add a custom fundId field to uniquely identify funds

While MongoDB generates a unique _id for each document, handling this long string for operations like updating or deleting a fund is impractical. To make it easier for users and developers, introduce a fundId that will be used in the API endpoints for managing individual funds. This fundId can either be a simple auto-incremented integer (e.g., 1, 2) or a short, human-readable unique string (e.g., fund1, fund2).

can i get assigned please

!assign @BhavikaPradeep 60

@BhavikaPradeep are you working on this repo??

!deassign

hey can i get this assigned??

@Samyukta-b

resolved by #13


show/hide md-datepicker using icon is buggy

I'm initializing a md-datepicker with an icon the same as the demo,
and it has a strange behaviour when showing/hiding using show.bind and if.bind.
show.bind - a single icon is created, but hiding the input don't hide  the icon, hiding the containing div actually works fine.
if.bind - hiding the input don't hides the icon, and every time the input shows up - a new icon is created.
when hiding the div, the icon also hide, but every time a new icon is added.
I created a gist to show all of this.

My guess is this happens because the icon is not removed in unbind()..
Big oversight.. Thanks for finding that out. 👍

Quick fix: https://gist.run/?id=9a3de27aea854abd0ff091ca46d11790
Doesn't solve show.bind, though.
That's because the icon is a sibling of the input element. It would need to be hidden, too.

what if the code of the datepicker generation will enclose the picker and the icon in a single aurelia template tag, and apply the show/if on that tag..
then - from the browser point view, you dont see this virtual template tag, but from aurelia point of view  - setting show to false will hide this tag and all of his component.
is it even possible?

TBH, I'm not a fan of it because you're changing the element's HTML. IMO, that's okay for a custom element but not a custom attribute. It should leave the attached element as it is (because who knows what the user is going to do with it).
I know, the icon is something similar and I'm kind of "breaking my own rule" here. But it's adding html to it's parent, not altering the element itself.. Anyway, I'd rather not make it worse and introduce even more HTML tinkering. 😃
Makes me think... How to improve the icon?
But your solution has an advantage. If you (as a user) put the picker inside of a <template> and show/hide that it should affect the icon, too. We could document that.

good point.


Compatibility Improvements

[x] Missing binaries for MacOS #322
[x] AVX support in Windows PyPi wheels #325
[x] Supporting more JavaScript runtimes #342
[x] Improving CMake compatibility #346
[ ] Packaging multiple binaries with Jar #315
[ ] Refresh LangChain integration #357
[x] CentOS and Red Hat compatible wheels

:tada: This PR is included in version 2.10.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[FLINK-4565] [table] Support for SQL IN operator

What is the purpose of the change
This PR adds support for the IN operator in both SQL and Table API. Both for testing in a set of elements f0.in(1, 2, 3) as well as in sub-query f0.in(table)
Brief change log
Various changes in plan translation, code generation, and API.
Verifying this change
This change added tests and can be verified as follows:

Unit tests: org.apache.flink.table.expressions.ScalarOperatorsTest
Unit tests: org.apache.flink.table.expressions.validation.ScalarOperatorsValidationTest
Integration tests: org.apache.flink.table.runtime.batch.sql.SetOperatorsITCase
Integration tests: org.apache.flink.table.runtime.batch.table.SetOperatorsITCase

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no

Documentation

Does this pull request introduce a new feature? yes
If yes, how is the feature documented? not documented

Thanks for reviewing @fhueske. I addressed your feedback and added documentation. I will merge this now...

@fhueske
Can you take a look at #4493 ?


Fix writing to plugin endpoint.

Fixes #13. This change keeps plugins/ as part of the app path and as results corrects the URL.
Integration tests are not working on my local setup, but everything else passed.

Hi @jmcgill298, sorry it took me so long to respond. I'm sorry but I did not have time to think of more rigid solution than the one I offered.

@Thetacz the URL resolution is currently flawed in that it works because the maintainers follow a prescribed pattern. This pattern is not enforced, and so plugins can deviate from the pattern established in the core Apps/Models. If I create an API endpoint using "", then pynautobot will return an App instance for what is actually an Endpoint. If I follow the pattern of Nautobot where the URL is App/Model, then I am able to get an endpoint correctly, but there is no conversion of _ to - in the URL (nor should there be, as _ is valid). I believe the correct approach is to inspect the API for valid plugin apps/models/endpoints instead of assuming a certain pattern.

AFAIK with my change the documented way is working and undocumented not, without it following documentation leads to error. Seems to me like and improvement. But I agree the ideal solution would cover all cases.

In the meantime, I need to look further at this solution, but I would that that creating an instance of PluginsApp should solve for the current use case. Have you tried this solution already?

The way PluginsApp  works quite confuses me so I have not tried digging around that part. Can you please elaborate on the proposed solution? Thank you

@Thetacz I believe if you pull in the updates from the develop branch then the tests will pass now


Upgrade to Solidity Version 0.8.20

Release notes: https://github.com/ethereum/solidity/releases/tag/v0.8.20

Completed via https://github.com/pcaversaccio/create-util/commit/1fb5a894cf33109423a408a7178c6c95742089b6.


Fix cellular connectivity and add bluetooth connectivity to start-up script

Edit the afterStartup.sh script:

Run cellular connectivity not only at start-up, but every 6 h.
Add Bluetooth connectivity.
@abhimandela Before merging, can you check that neither of the two commands is in /etc/rc.local already. They should either be in /etc/rc.local or in afterStartup.sh, but not in both. If they are already in /etc/rc.local, then there is no reason to merge.
Addressing issue https://github.com/AMI-system/ami_setup/issues/13

Obsolete.


Upgrade puppeteer version

Upgrade puppeteer version to attempt to fix dependabot alert
This PR attempts to address the following Dependabot alert
Links
Closes #264
Developer considerations

[ ] Increment the version number for relevant packages

[ ] This is a new MAJOR version (incompatible API changes were made)
[ ] This is a new MINOR version (functionality was added in a backwards compatible manner)
[ ] This is a new PATCH version (backwards compatible bug fixes)

[ ] Update the CHANGELOG.md with a summary of the changes

If this is a MAJOR version, what are the breaking API changes? Was anything added to the API?
If this is a MINOR version, what feature was added? Why would consumers want this new version?
If this is a PATCH version, what was fixed?

[ ] Update the appropriate documentation. Keep in mind that this mono repository has README files at the repository, project, and component levels. We want developers to be able to find what they need from the main README, so make sure to add links to component documentation if adding something new.

Steps for Testing/QA

[ ] Pull down branch and run the app to confirm that everything loads and functions correctly still.

@colganmeanor you will need to merge main into this branch and then re-run npm install so that the package-lock.json can be regenerated. No need to fix the merge conflicts manually. Also please check that the tests still pass (since they use puppeteer and we are jumping many major versions forward)

@colganmeanor you will need to merge main into this branch and then re-run npm install so that the package-lock.json can be regenerated. No need to fix the merge conflicts manually. Also please check that the tests still pass (since they use puppeteer and we are jumping many major versions forward)

@jakemer just pushed back up. Tests are passing. App seems to be running fine locally with the new puppeteer version. Ready for another look whenever you have a moment 👋🏻


Create silent version of setters so menu callback doesn't fire

Create silent version of setters so menu callback doesn't fire.
For example: If you want to update a boolean menu item that normally controls an output pin that is also controlled by another process. Currently, using myMenu.setBoolean(pinState); will change the menu item and fire the callback. If the callback modifies the pinState
void CALLBACK_FUNCTION onMyMenu(int id) {   pinState = !pinState;   }
then additional code is needed to keep track if you are just updating the menu item and keep the callback from changing the pinState again.

will be released in 1.3.1


Bugfix: creating relationships between referrals throws an exception

This change is

Coverage increased (+0.8%) to 71.865% when pulling a04681a32e06f4211f1733c7e203398cdaaa7cc8 on ropable:master into 78782f8b86c06d5b8dad370c83df07fde20ae171 on parksandwildlife:master.

Reviewed 4 of 4 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Marie cannot access remote share

https://nc2.pondersource.net/remote.php/webdav/welcome (2).txt gives a 404

The remote_id field should be an integer rather than {"todo":"compile this info from various database tables"}.
And then nc2 will fetch from the webdav server of reva1.


AventuresHomebrew

Changes / Comments
Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[ ] Does the pull request title have the sheet name(s)? Include each sheet name.
[ ] Is this a bug fix?
[ ] Does this add functional enhancements (new features or extending existing features) ?
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[x] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.

Character Sheet Info Roll20 Internal Use only.

Dear @Mihawk59, it seem we already have a exiting sheet for Aventures which is quite similar to the one you are trying to push. Could you please let me know what would justify creating a new sheet instead of contributing to the existing one? The reason I am asking you this is that while there have been duplicate public sheets allowed in the past, going forward Roll20 wants to limit this practice. Your collaboration with existing sheets should not be restricted to translations, in fact in the spirit of community engagement, you should be able to push all sorts of features that would make running the game a better experience.
Thanks for all the work you do.

Hello mperes,
Thanks for your answer and sorry if I do mistakes, I'm French ^^
I completly understand the point of view of roll20 concerning the duplicates, there is in fact, a lot of ones.
I didn't asked to modify the actual sheet of Aventures because there is a lot of unofficial changes which are not on the basic game :

weight
speed and initiative
exhaustion
And few of them are automated by scripts with bonus/malus included.

I'm affraid to dislike the purist of the game, I just want to provide a version for the ones who want to go further, complicate the gaming and provide other game options.
I also want to keep it updated with the community requests ^^
If it's not a sufficient reason, I'll asked to change the official one then.
Thanks for reading.

Hi @Mihawk59
In general, we don't accept homebrew rules submissions to the repository unless they are supported with some sort of official game release. Additionally, we don't allow multiple sheet submissions for a single game.
For these reasons I'm going to close this pull request. Please get in contact if you feel as though there are extenuating circumstances for this sheet.


Understanding of homography adaptation

Hello, thank you for your wonderful ideas!
I wonder to know why the homography adaptation algorithm works. Personally, I think the reason may be that the types of point-line features contained in the synthetic shapes dataset are mainly T-shaped, L-shaped and other links, while the corners of rooms and furniture in the real image are mostly of this shape, so the features contained in the synthetic shapes are a subset of the real world, and the models trained on it can also detect some features of the real world.
But how to explain it be more specific? Or are there any papers about it? Thanks again.

Hi, yes, what you explained is the basic concept of the synthetic training and generalization to real data. Even though the network trained on synthetic data learns to detect simple shapes, the model can already generalize fairly well to real data. But since there is always a domain gap (synthetic != real images), we use the homography adaptation to improve the quality of the ground truth. By warping the original image under different homographies, we can see the junctions under a different perspective and increase the chance that the network trained on synthetic data detect them correctly.
This process was originally introduced in SuperPoint, in case you want to read more about it.

Thanks for your quick reply!
But I also want to know why we can use the results predicted by the network itself as a label for training again? I think that homography transformation can't increase the information in the image, and the model can't learn new knowledge from the warped image. Why it works？

The model does not learn new knowledge after warping the image, but it "sees" it under a different perspective. Maybe in the original image a corner is distorted and cannot be detected by the network, while after warping, the corner will look differently (for example it will appear similar to the corners that were present in the synthetic dataset), and the network will be able to detect it.


[move-prover][documentation] Minor-updated the txn script docs

This PR updates the transaction script documents in order to better render the access control specs in the generated document.
Motivation
To update the documents in the transaction scripts
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
cargo test

/land

:broken_heart: Test Failed - commit-workflow

/land


TPS-363 - Add Download Chart as PNG Functionality

Description
This updates the container component to use a DownloadMenu component, which in turn is smart enough to show either icon if only one is enabled, OR a combo menu if both CSV and PNG are enabled. For now, the only chart with PNG enabled is the Bar Chart but I have tested it with other components and it does work. I'd like to do a two-step approval process:
Step 1: Approve the changes that create the menu and make everything work
Then I add PNG download capability to most/all of the components
Step 2: Approve those changes
The reason I want to do those two steps is because it'll be really tough to review Step 1 if there are 25+ additional file changes happening in the "files changed" section.
Examples
Bar Chart w/ Only PNG Enabled

Bar Chart w/ Only CSV Enabled

Bar Chart w/ Both Enabled and Menu Opened

Bar Chart PNG Download

Approval Criteria

Download as CSV Button shows if only CSV Download is enabled, and works as expected when clicked on
Download as PNG Button shows if only PNG Download is enabled, and works as expected when clicked on
Vertical Ellipsis Menu Button shows if both are enabled. Clicking on it opens a small menu that shows both the CSV and PNG download options (along with text, per Erin's designs). Clicking on either of these two buttons works as expected.
Charts download have filenames in this style: embeddable-${chartName}-${timestamp}.png
Downloaded PNGs should look like the charts from which they were downloaded 🙂

@cwbuecheler one thing I noticed is that, if only CSV download is available, and I click the CSV icon, it shows the spinner behind the icon. I think it should hide the download icon and show just the spinner.

@hjkmarshall - agreed and previously it did that, so I'll make sure it still does. I think I know what the issue is.

@hjkmarshall - re-requested review just to let you know that I've added PNG functionality to all the components that have CSV functionality. Let me know if you see any other visual oddities but in my testing things look pretty great!

@hjkmarshall - re-requested review just to let you know that I've added PNG functionality to all the components that have CSV functionality. Let me know if you see any other visual oddities but in my testing things look pretty great!

@cwbuecheler just tested it and it looks great! One very minor thing is that, when I click the download png button on certain charts, the spinner appears but then freezes - did you see that? It looks like a browser freeze, since I can't do anything while in that state.
https://github.com/user-attachments/assets/1a7d86cb-ece1-4f9d-8ce3-78def8a67d26

@hjkmarshall - I did indeed see that and spent a while trying to work around it. Actually, that's the improved version. At first it would just hang without showing the spinner, then start the download. It's html2canvas that's causing the pause - I can do some research to see if other people have run into it and how they've handled it

Thanks @mad-raccoon!


Made services orderable

Fixes #1 issue.
Also fixed minor .gitignore issue and made service groups appear after single services, since it's much more logical for me.

Hello,
I apply this PR on my fork but can't see how to get the URL to order the services.
Can you tell me how we use this PR?
Thanks in advance

I found the fix :
  sortabledata = document.getElementsByClassName('data-orderable-list')[0]
  sortable = new Sortable(sortabledata,
      onUpdate: ->
        orderedIds = $.map($(this.el).find('.data-orderable-id'), (elem) ->
          $(elem).data 'orderable-id'
        )
        $.ajax
          async: true
          url: "/admin/services/reorder"
          type: 'POST'
          data: ids: orderedIds
    )


soroban-rpc: refactor libpreflight

Split out FFI conversions from actual preflight computations. I added a new file preflight.rs which contains the actual preflight computations, separate from the Go<->Rust ffi interfacing (which is the only thing left in lib.rs).
Use the anyhow crate to:

Make error handling more readable (Result<R, Box<dyn Error>> vs Result<R>)
Add context to errors ( Closes https://github.com/stellar/soroban-tools/issues/858).

Some other minor changes, making the code more idiomatic.
Fix a couple of memory leaks in free_preflight_result()

Now that preflight.rs is independent, it would be great to add some unit tests (which could help show me which bugs you fixed, because right now I've no idea).

Good idea, I will do it in a separate PR though, although the memory leak bugs I fixed were in lib.rs

/


Mutual Suppression is sometimes incomplete and has unpredictable behavior

Describe the bug
For certain selection sizes mutual suppression seems incomplete,
And sometimes repeating the process removes previous suppressions.
Application: Brain Simulator
Module/Network: N/A
To Reproduce
Steps to reproduce the behavior:

create a default new network.
Select a 4x4 grid and choose 'Mutual Suppression'
Notice the regular pattern on all sides: see first screenshot below
Select a 4x10 area next to it and choose Mutual Suppression.
Notice the irregularity on the right side: see second screenshot below.
Select a 4x16 area below it and choose Mutual Suppression again.
Notice second area DISAPPEARS, and new one is even less complete.
Notice on the last screenshot, mutual suppression is far from complete.

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

OS: Windows 10 Pro  20H2
Version 2021-04-19 master

Add any other context about the problem here.

OK, document it and this can go.


nulls should be either last or first regardless of sort order

Description
> create table test (value int);
Table created
> insert into test values (1), (null), (2), (-1);
> select * from test order by value desc;
┌───────┐
│ value │
│    ── │
│ Int32 │
╞═══════╡
│  NULL │
│     2 │
│     1 │
│    -1 │
└───────┘
> select * from test order by value asc;
┌───────┐
│ value │
│    ── │
│ Int32 │
╞═══════╡
│    -1 │
│     1 │
│     2 │
│  NULL │
└───────┘

in both of these queries, the nulls should be last.

I don't think we should follow postgres just because they do it. They are an older system and we shouldn't follow their mistakes.

By default, null values sort as if larger than any non-null value; that is, NULLS FIRST is the default for DESC order, and NULLS LAST otherwise.

Most modern olap tools use consistent null ordering, as in they are always NULLS LAST or NULLS FIRST independent of the sort order. Considering we are more similar to these tools than to postgres, I think users will find this ordering unintuitive (I know I do).
Switching the null ordering based off of the sort order makes it confusing if you have a big table and you do something like select value from foo order by value asc limit 10 and it displays all nulls, so you try the inverse select value from foo order by value desc limit 10 and get the exact same response.
Some examples of more modern tools and their consistent ordering.
polars
import polars as pl

df = pl.DataFrame({
        "values": [1.0, None, 0.0, 2.0],
})
print(df.sort(pl.col("values"), descending=False))
print(df.sort(pl.col("values"), descending=True))

shape: (4, 1)
┌────────┐
│ values │
│ ---    │
│ f64    │
╞════════╡
│ null   │
│ 0.0    │
│ 1.0    │
│ 2.0    │
└────────┘
shape: (4, 1)
┌────────┐
│ values │
│ ---    │
│ f64    │
╞════════╡
│ null   │
│ 2.0    │
│ 1.0    │
│ 0.0    │
└────────┘

duckdb
D create table test (value double);
D insert into test values (0.0), (null), (0.1), (2.0);
D select * from test order by value asc;
┌────────┐
│ value  │
│ double │
├────────┤
│    0.0 │
│    0.1 │
│    2.0 │
│        │
└────────┘
D select * from test order by value desc;
┌────────┐
│ value  │
│ double │
├────────┤
│    2.0 │
│    0.1 │
│    0.0 │
│        │
└────────┘