Error! [openfl.display.Shader] ERROR: Error compiling fragment shader 0:133: S0001: Cannot compare 'int' with 'float' #ifdef GL_ES #ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; #else precision mediump float; #endif #endif varying float openfl_Alphav; varying vec4 openfl_ColorMultiplierv; varying vec4 openfl_ColorOffsetv; varying vec2 openfl_TextureCoordv;

Describe your bug here.
Basically when i select any song in psych engime 0.7.3 on mobile i get this error

Crash Log or logcat logs (if existing)
No response
Are you modding a build from source or with Lua?
I am not modding
What is your build target?
Android
Which psych engine version you're on?
0.7.3
Did you edit anything in this build? If so, mention or summarize your changes.
No

there's an int that should be float check if u have (number). if so make it (number).0


Patch release to pick up !1491

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/1804
Originally created by @DouweM on 2020-02-26 15:17:02

As requested by @mbergeron in https://gitlab.com/meltano/meltano/-/merge_requests/1491#note_294324189.

View 3 previous comments from the original issue on GitLab


Adding metrics

Hi!
I'm trying to add some metrics into the code. Could you please give a clue about how to realize that?
For me, it always has some bug saying there is no attribute "clear" etc in my function object.
Sincerely

Hi,
If I understand correctly, you are trying to use the metrics for Trainer? It is an old piece of code I borrowed from my other projects, so it may be confusing to use.
An example of a metric class can be:
class ROCMeter:
    def __init__(self):
        self.truths = []
        self.preds = []

    def clear(self):
        self.truths = []
        self.preds = []

    def prepare_inputs(self, *inputs):
        outputs = []
        for i, inp in enumerate(inputs):
            if torch.is_tensor(inp):
                inp = inp.detach().cpu().numpy()
            outputs.append(inp)

        return outputs

    def update(self, preds, truths):
        # [B, ], [B, ]
        preds, truths = self.prepare_inputs(preds, truths)
        self.truths.append(truths)
        self.preds.append(preds)

    def measure(self):
        return roc_auc_score(np.concatenate(self.truths, 0), np.concatenate(self.preds, 0))

    def write(self, writer, global_step, prefix=""):
        writer.add_scalar(os.path.join(prefix, "roc"), self.measure(), global_step)

    def report(self):
        return f'ROC = {self.measure():.6f}'

and used like:
trainer = Trainer(..., metrics=[ROCMeter(),], ...)

I will add a PSNR metric recently.

Thank you sooo much! I'll try to implement that. Moreover, can you explain in SDF why are you using the negative sign here?         sdfs[self.num_samples // 2:] = -self.sdf_fn(points[self.num_samples // 2:])[:,None].astype(np.float32)

@JoyHighmore I have added the PSNR metric, you can try now!
As for the sdf value, it is just a convention (inner is negative, outer is positive), without the negation it should also work since we extract surface at sdf == 0.
(Besides, I find that the PSNR for lego is still worse compared to the original implementation, and I'll try to figure it out. If you find any problem, welcome to report!)

Sure, there is one more thing that I'd like to discuss. I've noticed that there are some code trying to calculate the sdf by igl.signed_distance. I've also implement both igl and pysdf. It is found that they had quite different results, which not only with the different values but also different indications for inside and outside categories. Do you have any thoughts? What's your consideration for the pysdf? Also, are you trying to have balanced positive and negative sdf since you are using self.num_samples // 2 in this equation?
Best,
Joy

@JoyHighmore That's strange, the SDF value should be unique as long as the mesh is fixed. Inside/Outside doesn't really matter as the only difference is a negation.
In fact the pos/neg points are not balanced, I followed the original implementation to  sample 1/8 random points, 3/8 surface points, and 4/8 perturbed surface points.

closed for now.


Publish release artifact to public maven repository.

Task description
It would be nice for consumers of the SDK if they could use the SDK via the public maven repository as opposed to manually downloading the artifacts.
Hence, as part of the release process then the produced artifact should also be uploaded to the public maven repository.

[x] Ask SRE for secret management.
[x] SRE creates a SONATYPE user and gpg key for publishing the artifact in accordance with what it described here: https://central.sonatype.org/publish/publish-guide/#choose-your-coordinates
[x] Add the publish step in the release.yaml such that new releases are automatically published to the central maven repository.

Sonatype credentials and Gpg key have been added to the repository release env secrets

Closed via https://github.com/Concordium/concordium-java-sdk/pull/303


serkan-ozal: Initial impl

Check List:

[x] Tests pass (./test.sh <username> shows no differences between expected and actual outputs)
[x] All formatting changes by the build are committed
[x] Your launch script is named calculate_average_<username>.sh (make sure to match casing of your GH user name) and is executable
[x] Output matches that of calculate_average_baseline.sh
[x] For new entries, or after substantial changes: When implementing custom hash structures, please point to where you deal with hash collisions (line number): 583

Execution time: 3.7s
Execution time of reference implementation: 5m 54.1s

Here are configurations of my testing environment:

Name
Value

Platform
AWS EC2

OS Name
Amazon Linux

OS Version
2023

Kernel Version
Linux 6.1.66-91.160.amzn2023.x86_64

Instance type
t3.2xlarge

CPU Architecture
x86_64

CPU Model
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz

Number of vCPUs
8

Memory (GiB)
32.0

Notes:

Like many others, my solution is also suffering from unmap delay (250-300 ms in my testing environment). But spawning worker Java process from main Java process (as suggested by Thomas Wuerthinger) in non-GraalVM solution doesn't help much, as it comes its new JVM process spin-up cost. So ,instead, (not sure it is allowed, but I think it is similar approach and can also be used by GraalVM based solutions too) in my startup script file (calculate_average_serkan-ozal.sh), I haved used exec to spawn the actual Java process to do all the stuff, redirect its stdout to a custom file descriptor, get the result from that file descriptor and complete the script execution without waiting real worker Java process as it deals with unmap.

Hi @gunnarmorling,
Since this is my first PR, your approval is required (one time only) to run Github action workflow for PRs from me.

Sounds cool, Serkan how much did you save? Any percentage?
Well, this GraalVM is an interesting beast. Initially just switching to GraalVM was a %80 boost for me, without any code change. But at some point, it's getting weird. I was able to do some very clear-cut optimizations that save 50 - 100 ms but at some point GraalVM ignored them. Compiling to native is even worse. Maybe Graal doesn't like it when you optimize before it does.
I would like to try your method in GraalVM. But who knows how it performs, let's see :)

@yavuztas
It cut off all the unmap (which was about 250-300 ms in my case) delay at the end.
I am also thinking to test my solution with GraalVM, but first I think, I need to get rid of Vector API usage in my code. Because AFAIK, GraalVM doesn't properly handle intrinsifications for the Vector API yet.
Anyway, testing with GraalVM is on my radar, will see whether it helps.

@gunnarmorling Gentle pinging. Had you a chance to review the code (or maybe test and run benchmark)?

Hi @serkan-ozal, I realized lately after I had a look, that it's only the bash script which spawning the process. So, theoretically, it should work in any JVM.
Anyway, the script didn't work for me on MacOS. Are you working on a Linux distro? I will try to adapt it for MacOS. Let's see.

Hi @yavuztas,
My development env is MacOS but my final testing env is Linux. While testing on my local initially, I am not using that trick. I have not put effort for adapting it to MacOS and even not sure it is allowed in the 1brc challenge. Waiting for answer from Gunnar.

@yavuztas
BTW, apart from this topic, I have tested my solution in the GraalVM (by getting rid of Vector API). Initially it was almost 100% slower. Then, I made some modifications and now it is 20% slower than my original OpenJDK solution here. Will take another look whether I can make it better on GraalVM.

@serkan-ozal
Hmm, that explains why I cannot get any benefit when I try Thomaswue's solution on MacOS. Looks like it only makes a difference in Linux. Then, I need a Linux box to test :)

it really depends.
I'm testing on Linux and my solution is fastest on GraalVM with JIT, a bit slower with GraalVM AOT. and slowest with Hostpost C2.
I haven't looked at the reasons why.

@gunnarmorling
Pinging again. Hope that I will get a response this time. As far as I see, my submission is the only submission which has not evaluated yet. Is it because of the approach I have mentioned in the notes or is there any specific reason.
I have other improvements on the way, but first I want to see how this works on the eval machine.

@serkan-ozal, sorry for the delay, indeed the shell script approach was what made me put it a bit on the backburner. Just ran it on the eval instance and got this:
+ timeout -v 300 ./test.sh serkan-ozal
Validating calculate_average_serkan-ozal.sh -- src/test/resources/samples/measurements-10000-unique-keys.txt
./calculate_average_serkan-ozal.sh: line 29: 1234: Bad file descriptor
./calculate_average_serkan-ozal.sh: line 30: $fd: Bad file descriptor

@gunnarmorling it seems about the shell interpreter being used. I will check

@gunnarmorling I have sent a commit which will fix the bad file descriptor issue hopefully. Could you please rerun it?

@gunnarmorling
I think it is related to file descriptor limit in the eval machine. Before the fix, I have used 1234 as the file descriptor number. So for example, if the file descriptor limit is 1024 in the eval machine, 1234 becomes invalid file descriptor number and fails.
I have reproduced the same case by setting file descriptor limit to 1024 on my test env with ulimit. Anyway, with the latest commit, I have used 3 as the file descriptor and it should work.

Ok, looking better, but running into an OOME now when testing the 1B file on 32 cores:
+ timeout -v 300 ./test.sh serkan-ozal
Validating calculate_average_serkan-ozal.sh -- src/test/resources/samples/measurements-10000-unique-keys.txt
WARNING: Using incubator modules: jdk.incubator.vector
1c1,10000
< Terminating due to java.lang.OutOfMemoryError: Java heap space
---
> id1;1.0;1.0;1.0

@gunnarmorling
Sorry for the 2nd test fail.
Even though I am not able to reproduce OOM, I believe that (if we get heap dump and open it) it is caused by short lived Vector API's ByteVector objects which are not collected by Epsilon GC. Maybe JIT behaves different in the eval machine and they are allocated on the heap.
Any way, not sure at the moment and as a fix attempt, I have just disabled Epsilon GC and rely on default GC. I will look into this latter but first just want to have a stabil working example.
Could you please rerun the tests?

Hum, somehow this one is jinxed, LOL. There's a test failure now. It doesn't show up in the CI run, but it does so reproducibly on the eval machine:
+ timeout -v 300 ./test.sh serkan-ozal
Validating calculate_average_serkan-ozal.sh -- src/test/resources/samples/measurements-10000-unique-keys.txt
WARNING: Using incubator modules: jdk.incubator.vector
Validating calculate_average_serkan-ozal.sh -- src/test/resources/samples/measurements-10.txt
WARNING: Using incubator modules: jdk.incubator.vector
Validating calculate_average_serkan-ozal.sh -- src/test/resources/samples/measurements-1.txt
WARNING: Using incubator modules: jdk.incubator.vector
Validating calculate_average_serkan-ozal.sh -- src/test/resources/samples/measurements-20.txt
WARNING: Using incubator modules: jdk.incubator.vector
Validating calculate_average_serkan-ozal.sh -- src/test/resources/samples/measurements-2.txt
WARNING: Using incubator modules: jdk.incubator.vector
Validating calculate_average_serkan-ozal.sh -- src/test/resources/samples/measurements-3.txt
WARNING: Using incubator modules: jdk.incubator.vector
Validating calculate_average_serkan-ozal.sh -- src/test/resources/samples/measurements-boundaries.txt
WARNING: Using incubator modules: jdk.incubator.vector
Validating calculate_average_serkan-ozal.sh -- src/test/resources/samples/measurements-complex-utf8.txt
WARNING: Using incubator modules: jdk.incubator.vector
15a16
> igButeboJuršinciKoaniImdinaNova VasDestrnikVarvarinSkomunGornji PetrovciRibnicaKon TumŠavnikPoul;22.5;22.5;22.5
17c18
< igButeboJuršinciKoaniImdinaNova VasDestrnikVarvarinSkopunGornji PetrovciRibnicaKon TumŠavnikPoul;18.5;20.5;22.5
---
> igButeboJuršinciKoaniImdinaNova VasDestrnikVarvarinSkopunGornji PetrovciRibnicaKon TumŠavnikPoul;18.5;18.5;18.5

FAILURE: ./test.sh serkan-ozal failed
Summary
  serkan-ozal: command failed or output did not match

@gunnarmorling In my solution, hashes of those city names are same, so there are hash collisions for them. But they are identified as different city names by key equality check. Not sure how they are identified as equal only at the eval machine and works correct all the other environments. Anyway, looking into this.

Hi @gunnarmorling, is the test environment big endian?

Nope, x86_64 is little endian.

Message ID: @.***>

@gunnarmorling
Not sure it is the same issue, but I have fixed a potential byte order caused bug in the key equals check logic. Let's see whether it fixes this issue too. Could you please rerun one more time :)

Same failure as before.

@gunnarmorling Ah sorry, will try to reproduce this issue first.

Given it's just that particular test that fails, I'd suspect, it's some character encoding thing, in particular looking at those diacritics. But it's just a guess.

@gunnarmorling I was able to reproduce similar issue with different number of threads in my local. Not sure it is the same problem though

@gunnarmorling
Me again :) Could you please start another run? Let's hope this time there will not be any test failure.

Yepp, looking good now. 00:02.933, nice!


add hero and logo images.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: kigateG sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Its for #16 #15


[BEAM-7940] Quick fix sdks:python:depSnapshot

Need to create the output directory first for generated requirements.txt file. This should fix current beam_Release_Python_NightlySnapshot broken.
+R: @yifanzou

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Run Python Publish

Run Portable_Python PreCommit


Kotlin support

It would be amazing to have Kotlin support for this extension. Main advantages would be the pojos with nullability for types and coroutines for reactive implementations.
Maybe we could discuss a way to integrate it.
Happy to contribute.

Hi!
I think it won't take too much effort to implement this if someone with Kotlin knowledge would create the templates.
A codegen property to select the language and keep Java by default should do the trick. Then, in the generator, we load one set of templates or another. Remember that everything we do in the Java templates, we should do in Kotlin.
If you take this endeavor, I would ask you to be around to do the implementations in the Kotlin templates. Otherwise, depending on the community's push for more features that impact the templates, it can be deprecated soon.

I will try to get a draft working and submit it as pr.

Any update/insight on this topic would be greatly appreciated 👍

@ygyg70 we are accepting contributions since the maintainers don't have bandwidth at the moment.

I might attempt this but it depends on the time effort required, and questions below. @stephan-strate or @ricardozanini : TBH how much effort do you think it would require : is it, maybe in the 20-40 hours range ?
Also, is RESTeasy classic an optional scenario or would we want RESTeasy reactive only ? Asking because there are still people based on the classic stack. Yes Quarkus sort of "deprecated" the classic, I mean, reactive is favored over classic.
But if we go reactive only, two sets of HTTP properties would be required in application.properties : the classic ones for the "old" classic stack which may be present in a production project which does not want to go reactive all the way, and the reactive ones, pulled by the extension - if the extension chooses the reactive implementation
When you boot up a quarkus code starter bundling both classic and reactive artefacts it produces - rightfully so - warnings on boot telling that one should be preferred over the other.
I'm not sure what implementation choice other HTTP extensions selected. Did they just forget the classic side ?

I'd say to invest effort in reactive, and in the long run we can add classic if needed and required by our community.

Hi!
I think it won't take too much effort to implement this if someone with Kotlin knowledge would create the templates. A codegen property to select the language and keep Java by default should do the trick. Then, in the generator, we load one set of templates or another. Remember that everything we do in the Java templates, we should do in Kotlin.
If you take this endeavor, I would ask you to be around to do the implementations in the Kotlin templates. Otherwise, depending on the community's push for more features that impact the templates, it can be deprecated soon.

Hi @ricardozanini, I've prepared the Kotlin templates you asked for. They are not tested. I can test them when the codegen is ready to use them. https://github.com/jan-rohac-kosik/quarkus-openapi-generator/tree/issue-134-kotlin-support


fix: accessibility - color contrast, keyboard navigation and aria-labels

Summary
Our team at ada.gov uses Netlify CMS. Recently Terri Youngblood, the accessibility consultant for the DOJ Civil Rights Section, did an audit of Netlify to verify its accessibility and identified some issues. This PR addresses those concerns - specifically color contrast, aria-label, and keyboard navigation updates.

Test plan

Verify that the color contrast for the elements now fulfill the contrast ratio requirements:

i.e.
Before

After

Note: I used this tool to darken the colors in question until they met the minimum contrast requirements.

Verify that you are able to navigate out of the editor panel by using the esc key.
Verify that you are able to tab through the media asset modal.
Verify that the buttons indicated now have labels.

Checklist
Please add a x inside each checkbox:

[x] I have read the contribution guidelines.

A picture of a cute animal (not mandatory but encouraged)

Hi @kewitham thanks for this contribution.
This product supports many languages, so aria labels should be translated also. I also don't understand why the Russian translation was modified, perhaps it's just a merge issue?

Hi @kewitham thanks for this contribution.
This product supports many languages, so aria labels should be translated also. I also don't understand why the Russian translation was modified, perhaps it's just a merge issue?

@martinjagodic The Russian translation updates are just formatting updates. Do you have an internal resource for translating the aria labels? What are the next steps there?

It would be nice if this is split into multiple PRs which encompass logical areas of the changes. I don't have a firm opinion on how to structure this, but first I would recommend moving the formatting of russian translations to separate PR. Also separate PR: aria labels should be split from minor accessibility improvements. That's because currently they need to be translated.

It would be nice if this is split into multiple PRs which encompass logical areas of the changes. I don't have a firm opinion on how to structure this, but first I would recommend moving the formatting of russian translations to separate PR. Also separate PR: aria labels should be split from minor accessibility improvements. That's because currently they need to be translated.

@samo4 @martinjagodic I have removed the aria label updates and formatting updates from this PR. I will submit another one with just the aria updates

@samo4 @martinjagodic checking back in on this PR - is it good to merge now?

@demshy since you're working on updating the markdown editor, is this PR conflicting with your efforts?

Some of it for sure, because we had to basically rewrite all keyboard events. I don't mind if this is merged though.
I will make sure the escape key is handled properly in the new handlers.


CLOUDP-136708: AtlasCLI: Support Get/Update Audit configs for projects

Proposed changes

Jira ticket: CLOUDP-136708

./bin/atlas auditing update --help                                                      4s  16.18.0
To use this command, you must authenticate with a user account or an API key with the Project Owner role.

Usage:
  atlas auditing update [flags]

Examples:
  # Audit all authentication events for known users:
  atlas auditing update --auditFilter "{"atype": "authenticate"}"

  # Audit all authentication events for known user via a configuration file:
  atlas auditing update -f filter.json

Flags:
      --auditAuthorizationSuccess   Flag that indicates whether someone set auditing to track successful authentications. This only applies to the "atype" : "authCheck" audit filter. Setting this parameter to true degrades cluster performance.
      --auditFilter string          JSON document that specifies which events to record. Escape any characters that may prevent parsing, such as single or double quotes, using a backslash (\).
      --enabled                     Flag that indicates whether someone enabled database auditing for the specified project.
  -f, --file string                 Path to an optional JSON configuration file that defines auditing filters. To learn more about auditing configuration files for the Atlas CLI, see https://www.mongodb.com/docs/atlas/database-auditing/#example-auditing-filters
  -h, --help                        help for update
  -o, --output string               Output format. Valid values are json, json-path, go-template, or go-template-file. To see the full output, use the -o json option.
      --projectId string            Hexadecimal string that identifies the project to use. This option overrides the settings in the configuration file or environment variable.

Global Flags:
  -P, --profile string   Name of the profile to use from your configuration file. To learn about profiles for the Atlas CLI, see https://dochub.mongodb.org/core/atlas-cli-save-connection-settings.

./bin/atlas auditing update --auditFilter "{"atype": "authenticate"}" --enabled -o json
{
  "auditAuthorizationSuccess": false,
  "auditFilter": "{atype: authenticate}",
  "configurationType": "FILTER_JSON",
  "enabled": true
}


Add config to mark server as read-only

This PR adds a new config option to mark the server as read-only. When this option is set, the server will not allow any write operations. README and documentation have been updated to include this new option.
It can be toggled with --read-only or -r for short. Added similar tests to the existing ones to ensure that the config flag works as expected.

@altugbakan Thanks, suggestion applied!


Adding support of parsing uri from new google photo app

If you get uri like :
content://com.google.android.apps.photos.contentprovider/-1/1/file%3A%2F%2F%2Fstorage%2Femulated%2F0%2FWhatsApp%2FMedia%2FWhatsApp%2520Images%2FIMG-20150820-WA0000.jpg/ACTUAL/1515492338
it will fix it and call getStream with fixed url

fix of my last commit


Extended Fermat attack

Important! i am a hobbiest and not a expert or mathematician. it could be, what i describe here is already known, and you test it in your code.
I found maybe a other possible attack, in extends the Fermat attack.
The idea is, that the 2 primes in RSA must not be necessarily close to each other (classic Fermat attack), they can have any relationship and even have a offset.
a=smaller prime
b=bigger prime
r=relationship
o=offset
n=pseudo prime: ab, or (a±o1)(b±o2)
r~a/b
r~1/1 it the classic Fermat attack
Let us say the primes are close to a r=1/2 or a r=13/17 to each other, and one or both number even gets a offset o. it would be more difficult to find such manipulated numbers, but somebody witch know the relationship and the offset can factorize the numbers easy.
you can find a approximation to the factors, and then search around the found numbers.
a = sqrt(n1/2)
a = sqrt(n13/17)
https://eprint.iacr.org/2000/016
Cryptanalysis of RSA with small prime difference
Speaks about: Coppersmith Attack, Wiener Attack, Boneh-Durfee Attack.
The Paper shows a area where primes should be save. The hidden relationship could be easy inside the save zone, and anyway by snakeoiled.
In case there is a interest, i can explain something more, or i can delete the issue...

I'm not entirely sure what you're trying to accomplish. Do you have a specific feature request for badkeys?
I think I read the idea before that a modified fermat attack could test other relationships between the primes.
I assume your idea is something like "badkeys should imlement such a check and run it with some common relations". Now, what do we test here? 1/2? 13/17? Every relationship between numbers <100? This quickly gets to an exponential explosion of possible tests.
Before considering that, we have to ask the question: Is it even remotely plausible that such a vulnerabile key exists, unless you specifically create it? The vulnerable keys I had discovered with the fermat attack were ones where the key was using two neighboring primes. My guess is that someone implemented an RSA key generation like this:

Generate random number r
Search next prime after r, take that as p
Search next prime after p, take that as q

It's reasonably plausible that someone makes such a mistake, and as is evident by CVE-2022-26320, something like this did happen.
What's the story for a prime relationship of 13/17?
The paper you're linking to seems unrelated, as this is about small exponent attacks. I have looked into this a bit, but came to the conclusion that this is also entirely theoretical. You can only have a small private exponent if you have a large public exponent, and that practically almost never happens, as RSA implementations widely only use standard exponent values like 3 or 65537. I do already warn about any exponent values != 65537 with --warnings.

I'm not entirely sure what you're trying to accomplish. Do you have a specific feature request for badkeys?
I think I read the idea before that a modified fermat attack could test other relationships between the primes.
I assume your idea is something like "badkeys should imlement such a check and run it with some common relations". Now, what do we test here? 1/2? 13/17? Every relationship between numbers <100? This quickly gets to an exponential explosion of possible tests.
Before considering that, we have to ask the question: Is it even remotely plausible that such a vulnerabile key exists, unless you specifically create it? The vulnerable keys I had discovered with the fermat attack were ones where the key was using two neighboring primes. My guess is that someone implemented an RSA key generation like this:
Generate random number r
Search next prime after r, take that as p
Search next prime after p, take that as q

It's reasonably plausible that someone makes such a mistake, and as is evident by https://github.com/advisories/GHSA-vgmm-r7wp-gmv8, something like this did happen.
What's the story for a prime relationship of 13/17?
The paper you're linking to seems unrelated, as this is about small exponent attacks. I have looked into this a bit, but came to the conclusion that this is also entirely theoretical. You can only have a small private exponent if you have a large public exponent, and that practically almost never happens, as RSA implementations widely only use standard exponent values like 3 or 65537. I do already warn about any exponent values != 65537 with --warnings.

Sorry for bad English.
First we expect a intentional implementation of a backdoor and not a simple implementation error. Such a backdoor could be placed in hardware or close software.
The Idea of the Fermat attack is, that somebody intentional searches 2 primes for RSA close to each other, to create a intentional backdoor In a RSA key which look genuine on first view.
So the prime relationship would be 1/1
And approximation simply with sqrt(n) can break the key.
The extension of this is to use a other prime relationship in the 2 primes in RSA, like for example 13/17.
Example:
n ~ 4'294'967'296
1/1 relationship, classic Fermat attack
65'536 = sqrt(n) = sqrt(n*1/1)
65'519 prime a
65'521 prime b
13/17 relationship, "extended" Fermat attack
57'309 = sqrt(n*13/17)
57'301 prime a
74'941 prime b
Like you mentioned, there is a combinatoric problem to find the relationship, so the backdoor would be better hidden then a simple 1/1. And therefore badkeys could only proof some relations in a small range, if there is a interest to search form them.

I think it is highly unlikely that anyone would use that for a backdoor.
If you control the key generation and want to implement a backdoor, you'd likely do something that noone else can uncover.
I'll close this for now. I believe this proposal would add a lot of complexity for likely very little gain, and would substantially increase the computing time for key checks.
If you have any indication that such keys exist for real, or some real world examples, I'd reconsider.

I have for now no such real life examples, i expected if somebody know anything, it would be you. When i understand the possibility, i speculated that the keys you found already, maybe some of them are placed intentionally, and this would be the improvement of the attack. I searched for more infos about it, but as a non-mathematician i have not found much. Your paper was one.
The combinations are huge, but maybe somebody could use a simple 2 digit relation, if it exists at all...
(I would search them in places where codes can me hidden, and something most people oversight but with access to sensible data, hardware printers etc... because the excuse of mistake would not work anymore, and in open source this would fly up.)
Tanks much for the response.

In case you are interested, i wrote on 2 places a question to a research i have done about pseudo prime and MillerRabin, and found so the potential backdoor possibility. Yes i am not a mathematician and i not know about Pomerance when i started my research, and yes my English is bad, you can see it. But check for yourself if this text in the link is offensive or incredible stupid, specially for somebody ask a question as non-matichian to mathematicians in a math forum. (Pomerance had no grafic's in his paper for the statistics i made, and i found non of such kind of data anywhere.)
I was kicked form a math forum for asking about this!

It made me mistrustful, why kicking me form a math forum, only mentioning a potential backdoor possibility for RSA? the question is not ok?...... ...... ......
If you like, check yourself.
https://math.stackexchange.com/questions/4931224/optimizing-miller-rabin-by-selecting-bases-calculated-from-the-number-to-test


PDF: Scene headers should not be orphaned

This is a straightforward bug raised by @JackWilton1594: In AHDM there are examples of scene headers appearing at the bottom of pages. In XSL:FO this is a simple fix, but it seems a little more complicated in LaTeX, so it might take a little while to solve. One option would be to always have page-breaks between scenes, but that might cost too much in wasted paper for plays with lots of short scenes.

I've added the following to try to constrain this:
% We attempt to avoid widows and orphans.
\widowpenalty=10000
\clubpenalty=10000

But it's not clear whether this will act effectively on headers or (for instance) trailing SDs. We'll have to look out for individual instances and perhaps devise interventions on a case-by-case basis. Revision of any preceding text or footnote will change the outcome for everything subsequent to it, so it's not worth worrying too much about this till the final stage of proofing.

This is probably the same issue. There are <speaker> elements appearing at the bottom of pages with the text of the dialogue beginning on the next page. For example in scene 7 of AHDM:

Please work your magic!
B

Scene 11 on p. 61 of the PDF is still orphaned.

I don't know that this is going to be easy at all in LaTeX. In XSL:FO you have nice keep-together settings that can fix this, but LaTeX seems to do everything in a sort of statistically-based best-effort sort of way, which, combined with the similar necessity to handle footnotes at the same time, is bound to result in this sort of thing. I will do more research on this, and perhaps DA can help, too -- she's familiar with LaTeX.

Nope, didn't work. The command \nopagebreak should prevent this, but it isn't working; I wonder if it's because of footnotes, since there is in fact no page break right after the scene header, because there are footnotes. Have to do more research here. But I do see a lot of people suggesting that manual intervention may be required when you're at the final proofing stage, just like in the old days with typeset books. :-(

I've been working on the combination of \needspace, \nopagebreak\, and \\* (linebreak but not pagebreak), and (possibly just by happy accident) we no longer have any instances of orphan scene headers in AHDM. However, there are still cases of orphaned speech prefixes.

I think I've reduced these instances to a minimum, but the penalty is that some pages have more whitespace than you would want to see. Essentially I've had to specify that a speech needs a minimum of five lines worth of vertical space, and if that can't happen, a page break should be inserted before it. There may still be some occasional cases where a page happens to have a very large collection of footnotes. I don't think there's an ideal solution to this.

I'm going to close this now because I believe all processing-based remediation has been done; any remaining cases of orphaned headers will be the result of the LaTeX processor simply not being able to find a solution to the problem which doesn't violate one constraint or another. At that point, human intervention (e.g. insertion of hard-coded whitespace) may be our only option, and should be done as part of the final pre-publication proofing.


(screenshot attached) Glyph not showing up on terminal

Here is my fontbook:

and ~/.fonts:

and my terminal looks like this:
i get all questionmark icons where glyph should be...

here is my .zshrc file:
  # If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH

# Path to your oh-my-zsh installation.
export ZSH="/Users/hhur/.oh-my-zsh"

# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="powerlevel9k/powerlevel9k"

#powerlevel19k configuration
POWERLEVEL9K_MODE="awesome-fontconfig"

# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in ~/.oh-my-zsh/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )

# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"

# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"

# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"

# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13

# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"

# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"

# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"

# Uncomment the following line to display red dots whilst waiting for completion.
# COMPLETION_WAITING_DOTS="true"

# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"

# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"

# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder

# Which plugins would you like to load?
# Standard plugins can be found in ~/.oh-my-zsh/plugins/*
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git)

source $ZSH/oh-my-zsh.sh

# User configuration

# export MANPATH="/usr/local/man:$MANPATH"

# You may need to manually set your language environment
# export LANG=en_US.UTF-8

# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
#   export EDITOR='vim'
# else
#   export EDITOR='mvim'
# fi

# Compilation flags
# export ARCHFLAGS="-arch x86_64"

# ssh
# export SSH_KEY_PATH="~/.ssh/rsa_id"

# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
source ~/.fonts/*.sh

I'm pretty sure i've set everything up properly...
Can anyone please help me out?

Same here, I tried to reinstall the fonts for the different configuration of POWERLEVEL9K_MODE. I'm not sure it's due to powerlevel as the issue has arrived after an OMZ update and I keep the theme on the tags. I tried on master and next but it didn't fix the issue.
My configuration on my personal computer (which doesn't use OMZ) still works fine.

According to the install instructions
POWERLEVEL9K_MODE="awesome-fontconfig" should be defined before you set the theme, so try moving it up and see if that helps.

@JHerseth I've tried that and it didn't work. :/

You can configure your theme to not use non-standard glyphs. Then it'll work with any font that comes preinstalled on your system. I use Pure Power config, which makes my terminal look like this:

Lean and clean. No patched fonts required.

@romkatv we don't want to change font, we want to make te theme work again...
It seems to be more a system update wich break the configuration as even when checkout to older commits (tested on those of february) the glyphs are not displayed properly.
Which version of font awesome is used for the theme ?
I also tried to install DejaVuSansMono via nerd-fonts install script but it does not resolve the issue (I don't think that a restart is needed but I didn't do it)

@flohw This most likely has nothing to do with Powerlevel9k, Oh-My-Zsh or even ZSH. To narrow down the problem you can do the following.

Start your terminal.
Type bash.
Type echo $'\uF015'.

If your terminal and font are set up correctly, you should see an icon of a house. If you see anything else, you need to figure our how to make it work. The best place to ask for help is the forum/mailing list/discussion board related to your terminal.
If the test above passes, type the same echo command but this time from ZSH without Powerlevel9k theme. If this also passes, and yet when you enable Powerlevel9k you don't see a house in your prompt when your are in your home directory, then it's an issue with Powerlevel9k and it's reasonable to ask for help here.

That's my point. My comment might not be clear about it.
Indeed, it's not a theme related problem. But it's strange that it appears after an update.
terminator and konsole didn't display the icon and I am not very good at managing fonts on linux.
I will try later. Thank you :slightly_smiling_face:

I am not very good at managing fonts on linux.

Hence my practical advice above. Don't use non-standard symbols in your theme and then it'll work everywhere. No headaches with custom fonts.

My case is very interesting. Oh-my-zsh with HACK nerd font MONO.  I use konsole 19.04.1. I also have hack nerd font mono under .fonts. I did try to move it to /usr/share/truetype/hack but it didn't really do anything.
TL;DR
bash creates konsoles that show glyphs.
zsh creates konsole that do not show glyphs.

So here is what is going on. This most likely is a konsole issue but I have no idea what the hell:
Start konsole in bash. My default shell is bash but I like using zsh and I simply changed the startup command of konsole to /bin/zsh
Everything is fine.
echo $'\uF015' is fine.
Now inside the shell run$ konsole
Everything is fine.
echo $'\uF015' is fine.
Start konsole with zsh. OR in the konsole with bash do $ zsh. By default my system will open konsole from bash, after that konsole will automatically run zsh. And now:
Everything is fine.
echo $'\uF015' is fine.
Now inside the shell run $ konsole. Now we open a new konsole window from zsh.
Every glyph ends up a question mark. I guess the .fonts folder is not seen or something.
echo $'\uF015' is broken now.
Running bash in this zsh shell will also end up broken.
Funny enough though: ZSH > new brokwn konsole > ZSH > BASH > fine konsole

If you run the following command from a working and a broken Konsole, is there a difference in the output?
env | grep -E 'LANG|LC_|TERM'

@romkatv Kinda?

That's not it then. Perhaps when you type konsole you get a different binary in bash and zsh? Try using the full path instead, as in /path/to/konsole. Another thing you can try is to launch konsole with empty environment.
env -i /path/to/konsole

Does this give the same results from bash and zsh?

$ whereis konsole
konsole: /usr/bin/konsole /usr/share/konsole

So using /usr/bin/konsole does not achieve anything. I get this:
qt.qpa.xcb: could not connect to display
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: wayland-org.kde.kwin.qpa, eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.
[1]    16303 abort      env -i /usr/bin/konsole

And [1]    16303 abort      env -i /usr/bin/konsole is zsh specific. In bash I get Aborted instead of this line.

Do you get the same results when you execute /usr/bin/env -i /usr/share/konsole in bash and zsh? Just trying to eliminate potential sources of different behavior.

@romkatv I just get /usr/bin/env: ‘/usr/share/konsole’: Permission denied because that is a folder.
/usr/bin/env -i /usr/bin/konsole is same output.

When you type konsole both in zsh and bash, konsole actually starts, right? You need to figure out how both shells resolve it because it might be different in zsh and bash.
To figure out how ZSH resolves konsole:
echo $commands[konsole]

If you copy the output of this command into bash and zsh, does it work the same way? What if you prefix it with /usr/bin/env -i?
P.S.
This remote debugging session doesn't seem productive, and this issue has nothing to do with Powerlevel9k, so I'll probably stop posting here to save your time and mine.

Well yeah I have no idea what this is about it either. Nothing I tried seem to give any result so I said before hand this is most likely just a konsole issue. Even if it was a P9k problem then bash would work fine inside a broken konsole right? So echo a unicode character would be fine but that is not the case.
Also starting konsole from zsh is the problem, even if I use another terminal for that. If I start say terminator from zsh (regardless of emulator) terminator seems fine. I have installed terminator and urxvt just to test this. No issue anywhere. Is konsole after all :sweat:
Also:
zsh:   echo $commands[konsole]    ==    /usr/bin/konsole
bash: echo $commands[konsole]    ==    [konsole]


chore: add nix scripts

Some recent changes to the Rust part of the codebase made it quite difficult to locally build the project due to tauri's heavy dependencies on WebKitGTK and other native libraries.
I tried working around this on my local (nix) machine and found it quite difficult. The cleanest way here is to make use of what Nix calls "devshells" which give you an environment specifically for hacking on your project.
Unfortunately, these files need to be tracked in version control and cannot be ignored (at least I've not found a way to do that). Given that we already have a lot of clutter in our repository, I put them under scripts/nix.
They are generally useful. I also added a .envrc file which automatically launches the dev-shell.
I didn't really want to have any of my local setup leak into the repo because I think apart from me and @conectado, nobody is using nix, thus I hope this minimal footprint is an okay compromise.

We might want to say somewhere in dev docs, explicitly, "This is not supported, it's checked in for devs to try, but we may not put work into bug-fixing for it"

I searched around for this and apparently, the contrib/ directory is usually used to host stuff that may be useful but is not actively by maintained or supported.
We can move it to contrib/ but it is yet another directory. I am easy either way with a slight preference for using contrib/ because it is a well established pattern.
Source: https://softwareengineering.stackexchange.com/a/339925

Yeah that could be good, or /scripts/contrib/. I don't mind any of these.

I tried installing Nix and direnv in WSL. How does it work? Would this automatically install the Tauri deps mentioned here? https://tauri.app/v1/guides/getting-started/prerequisites#setting-up-linux

I tried installing Nix and direnv in WSL. How does it work? Would this automatically install the Tauri deps mentioned here? https://tauri.app/v1/guides/getting-started/prerequisites#setting-up-linux

You need to setup your shell with a direnv plugin. Are you using zsh? Or bash?
I haven't tried building the gui client yet but the link you shared has a section for nix so we might be able to just copy that and it should be good :)
There are also direnv plugins for IDEs so that RA etc find all the right dependencies.

Yeah that could be good, or /scripts/contrib/. I don't mind any of these.

I would prefer this over new top-level files and folders. Each one we add pushes the README content further and further below the "home page" for the repository.

Also does this play nicely with asdf-vm?

asdf is redundant with the addition of this.

Yeah that could be good, or /scripts/contrib/. I don't mind any of these.

I would prefer this over new top-level files and folders. Each one we add pushes the README content further and further below the page fold (since this repo serves as a "landing page" of sorts)

Yeah makes sense! To be honest, looking at the files we currently have, several of them can be replaced if we want to use nix:

requirements.txt
.tool-versions
I am not sure about the config files but it may be possible to hide them all within the flake.nix and dynamically generate them as soon as you spawn a dev-shell.

Other than that:

The Makefile should probably moved under scripts/ now that we have that directory.
A lot of the .md file can probably go under a docs/ directory.

A lot of the .md file can probably go under a docs/ directory.

Opened a PR for that: https://github.com/firezone/firezone/pull/3773

@ReactorScram I managed to build the deb bundle with the added dependencies. The AppImage one chokes because of some invalid syntax in a bash script. Somehow, the library path for appindicator isn't valid for what tauri wants to do with it :shrug:
I reckon we can solve that another time though. All the dependencies should be there now to at least type-check and build the Rust code.

@jamilbk Is this okay to merge after reducing the number of files in the root directory? :)


console.debug is missing

I have a feeling it somehow relates to: https://github.com/facebook/jest/blob/master/src/Console.js
But trying to use console.debug() in a test tells me it isn't there, but .warn(), .log(), and .error() work as expected.

There is no real reason to include this because it just maps to console.log. I actually didn't even know it existed. If you need this, I'd recommend doing console.debug = console.log in your setup env file or in the beforeEach call of your associated test. I don't think I'll add this to jest.

For others looking for a similar thing. I'm using 'loglevel' for browser logging and got my logs back while running Jest by doing this (as suggested above):
In the "jest" config (in package.json):
"setupFiles": [
    "./jest-setup.js"
],

At the same directory level as 'package.json', created a file called 'jest-setup.js' which contained:
var log = require('loglevel');

log.info = console.log;
log.debug = console.log;
log.trace = console.log;
console.debug = console.log;
console.trace = console.log;
console.info = console.log;

It's not perfect, but I see everything I want.

console.debug has been implemented in Jest since #5350 (available in jest 22.1.4)

Jan 2016 -> "I don't think I'll add this to jest."
Mar 2018 -> "console.debug has been implemented in Jest".
Lulz.


Upgrade react router

Summary
This PR upgrades the react router to the latest version, and does cleans up a few things along the way. There are a few motivations for the upgrade at this time.

Prepare for introducing several modules with their own navigation
Ensure that Studio doesn't lag behind on versions, making upgrading even harder in the future
Clean up some of the routes / Nested routes along the way

The guide at https://reactrouter.com/en/6.7.0/upgrading/v5 was the main reference for helping along the way.
What is not done in this PR:

Fixing click-jacking of navigation url's (no more onClick) for simple navigation
removing selfservice as base-url
Change ApplicationChanger behaviour to updated pattern. The reason for this is the store does not reset microservices across applications, and thus merges them across application environments. This needs to be fixed as a separate PR.

Added

For local dev, added handling in webpack devserver for known urls not using /selfservice basename

Changed

Upgraded react router to v6.6.2
Now leaning on relative url's. from within a Nested route, simplifying navigation and the need to build up full urls for router-navigation

Fixed

microserviceTable now re-renders when microservices change, and sets the isLoading flag before and after.

To see the specific tasks where the Asana app for GitHub is being used, see below:

https://app.asana.com/0/0/1203789530758097

I've done a pretty thorough test of this in dev and ironed out the bugs that I suggest merging it in and dealing with any remaining regressions as they turn up


Close popup when checked item is clicked.

We rely on change to commit the click on radio inputs, but change event won't happen if the item is already checked so shortcutting in that case to commit directly and close the menu.

The failing test looks like something we should investigate. I think we're duplicating events now, perhaps?
FAILED TESTS:
  details-menu element
    mutually exclusive menu items as labels
      ✖ manages checked state and fires events
        Chrome Headless 92.0.4515.131 (Linux x86_64)
      AssertionError: selected event is fired once: expected 2 to equal 1
          at Context.<anonymous> (test.js:315:14)

Could you add a test for the markup that is buggy?

@srt32 @koddsson The old logic ignored all the click events when inputs were nested in labels, so it wasn't clear that there were 2 of them, and my logic should only care of one and discard the second.
The problem is that a label with a nested input will get the click event twice, once directly and a second one bubbling up from the input (the label always propagates clicks to the input it stands for). stopPropagation wasn't useful preventing this second event, so I added a condition to return if the event is coming from inside a label but not the label itself, as that's always echo.
This was even more necessary because the input mutated in between, that's the reason my logic caused a double event: it is not checked yet in the first event (target: label), but it is already checked as a response to the click in the echoed event (target: input).


Regression in 1.2.24:

What are you trying to do and what's not working?
Trying to clone a VM template which worked as of mid-last-week and stopped working this week only for people who had updated their knife-vsphere gems.
Please paste the command and output (run with -VV). Don't forget to X out any passwords or sensitive information
The following transscript is 3 attempts to clone--the first with 1.2.23 gem, the second with 1.2.24 gem without verbose debugging, the third time with 1.2.24 gem with verbose debugging.
[probs007@oit-provision-tools-01 chef-probs007-testing]$ gem list |grep knife-vsphere
knife-vsphere (1.2.23)
[probs007@oit-provision-tools-01 chef-probs007-testing]$ knife vsphere vm clone     "lptsand-probs007.oit.umn.edu"     -u "probs007"     -f "LNX"     --template "rhel7-template"     --ccpu "2"     --cdomain "oit.umn.edu"     --chostname "lptsand-probs007"     --cips ""dhcp""     --cmacs "02:51:0a:20:6e:a1"     --cram "2"     --sw-uuid "36 26 23 50 53 98 00 37 fc 59 4d b7 75 8d c4 11"     --cvlan "DC04-WG019_<IP_ADDRESS>-254_v957"     --datastorecluster "lnx-wb-sata-01"     --dest-folder "LNX"     --resource-pool "LNX"
Cloning template rhel7-template to new VM lptsand-probs007.oit.umn.edu

[probs007@oit-provision-tools-01 chef-probs007-testing]$ gem uninstall knife-vsphere -a
[probs007@oit-provision-tools-01 chef-probs007-testing]$ gem install knife-vsphere
Fetching: knife-vsphere-1.2.24.gem (100%)
Successfully installed knife-vsphere-1.2.24
1 gem installed
[probs007@oit-provision-tools-01 chef-probs007-testing]$ gem list |grep knife-vsphere
knife-vsphere (1.2.24)
[probs007@oit-provision-tools-01 chef-probs007-testing]$ knife vsphere vm clone     "lptsand-probs007.oit.umn.edu"     -u "probs007"     -f "LNX"     --template "rhel7-template"     --ccpu "2"     --cdomain "oit.umn.edu"     --chostname "lptsand-probs007"     --cips ""dhcp""     --cmacs "02:51:0a:20:6e:a1"     --cram "2"     --sw-uuid "36 26 23 50 53 98 00 37 fc 59 4d b7 75 8d c4 11"     --cvlan "DC04-WG019_<IP_ADDRESS>-254_v957"     --datastorecluster "lnx-wb-sata-01"     --dest-folder "LNX"     --resource-pool "LNX"
Enter your password:
ERROR: knife encountered an unexpected error
This may be a bug in the 'vsphere vm clone' knife command or plugin
Please collect the output of this command with the `-VV` option before filing a bug report.
Exception: NoMethodError: undefined method `name' for nil:NilClass

[probs007@oit-provision-tools-01 chef-probs007-testing]$ knife vsphere vm clone     "lptsand-probs007.oit.umn.edu"     -u "probs007"     -f "LNX"     --template "rhel7-template"     --ccpu "2"     --cdomain "oit.umn.edu"     --chostname "lptsand-probs007"     --cips ""dhcp""     --cmacs "02:51:0a:20:6e:a1"     --cram "2"     --sw-uuid "36 26 23 50 53 98 00 37 fc 59 4d b7 75 8d c4 11"     --cvlan "DC04-WG019_<IP_ADDRESS>-254_v957"     --datastorecluster "lnx-wb-sata-01"     --dest-folder "LNX"     --resource-pool "LNX" -VV
INFO: Using configuration from /home/probs007/orgs/chef-probs007-testing/.chef/knife.rb
DEBUG: value for config item datastore:
DEBUG: value for config item customization_macs: 02:51:0a:20:6e:a1
DEBUG: value for config item customization_ips: dhcp
DEBUG: value for config item chef_node_name:
DEBUG: value for config item vsphere_host: vc-prd.oit.umn.edu
DEBUG: value for config item vsphere_path: /sdk
DEBUG: value for config item vsphere_port: 443
DEBUG: value for config item vsphere_nossl:
DEBUG: value for config item vsphere_user: probs007
DEBUG: value for config item vsphere_pass:
Enter your password:
DEBUG: value for config item vsphere_insecure: true
DEBUG: value for config item proxy_host:
DEBUG: value for config item proxy_port:
DEBUG: value for config item vsphere_dc: UMNTC
DEBUG: value for config item folder: LNX
DEBUG: value for config item vsphere_dc: UMNTC
DEBUG: value for config item linked_clone:
DEBUG: value for config item host:
DEBUG: value for config item resource_pool: LNX
DEBUG: value for config item resource_pool: LNX
DEBUG: value for config item vsphere_dc: UMNTC
DEBUG: value for config item linked_clone:
DEBUG: value for config item datastore:
DEBUG: value for config item datastorecluster: lnx-wb-sata-01
DEBUG: value for config item datastorecluster: lnx-wb-sata-01
DEBUG: value for config item vsphere_dc: UMNTC
DEBUG: value for config item thin_provision:
DEBUG: value for config item mark_as_template:
DEBUG: value for config item annotation:
DEBUG: value for config item customization_cpucount: 2
DEBUG: value for config item customization_cpucount: 2
DEBUG: value for config item customization_memory: 2
DEBUG: value for config item customization_memory: 2
DEBUG: value for config item customization_macs: 02:51:0a:20:6e:a1
DEBUG: value for config item customization_macs: 02:51:0a:20:6e:a1
DEBUG: value for config item customization_sw_uuid: 36 26 23 50 53 98 00 37 fc 59 4d b7 75 8d c4 11
DEBUG: value for config item customization_vlan: DC04-WG019_<IP_ADDRESS>-254_v957
DEBUG: value for config item customization_sw_uuid: 36 26 23 50 53 98 00 37 fc 59 4d b7 75 8d c4 11
DEBUG: value for config item customization_sw_uuid: 36 26 23 50 53 98 00 37 fc 59 4d b7 75 8d c4 11
DEBUG: value for config item customization_vlan: DC04-WG019_<IP_ADDRESS>-254_v957
DEBUG: value for config item customization_vlan: DC04-WG019_<IP_ADDRESS>-254_v957
DEBUG: value for config item customization_sw_uuid: 36 26 23 50 53 98 00 37 fc 59 4d b7 75 8d c4 11
DEBUG: value for config item vsphere_dc: UMNTC
DEBUG: value for config item customization_sw_uuid: 36 26 23 50 53 98 00 37 fc 59 4d b7 75 8d c4 11
/home/probs007/.chefdk/gem/ruby/2.3.0/gems/knife-vsphere-1.2.24/lib/chef/knife/vsphere_vm_clone.rb:620:in `rescue in block in generate_clone_spec': undefined method `name' for nil:NilClass (NoMethodError)
	from /home/probs007/.chefdk/gem/ruby/2.3.0/gems/knife-vsphere-1.2.24/lib/chef/knife/vsphere_vm_clone.rb:607:in `block in generate_clone_spec'
	from /home/probs007/.chefdk/gem/ruby/2.3.0/gems/knife-vsphere-1.2.24/lib/chef/knife/vsphere_vm_clone.rb:605:in `each'
	from /home/probs007/.chefdk/gem/ruby/2.3.0/gems/knife-vsphere-1.2.24/lib/chef/knife/vsphere_vm_clone.rb:605:in `each_with_index'
	from /home/probs007/.chefdk/gem/ruby/2.3.0/gems/knife-vsphere-1.2.24/lib/chef/knife/vsphere_vm_clone.rb:605:in `generate_clone_spec'
	from /home/probs007/.chefdk/gem/ruby/2.3.0/gems/knife-vsphere-1.2.24/lib/chef/knife/vsphere_vm_clone.rb:355:in `run'
	from /home/probs007/.chefdk/gem/ruby/2.3.0/gems/chef-12.18.31/lib/chef/knife.rb:443:in `block in run_with_pretty_exceptions'
	from /home/probs007/.chefdk/gem/ruby/2.3.0/gems/chef-12.18.31/lib/chef/local_mode.rb:44:in `with_server_connectivity'
	from /home/probs007/.chefdk/gem/ruby/2.3.0/gems/chef-12.18.31/lib/chef/knife.rb:442:in `run_with_pretty_exceptions'
	from /home/probs007/.chefdk/gem/ruby/2.3.0/gems/chef-12.18.31/lib/chef/knife.rb:219:in `run'
	from /home/probs007/.chefdk/gem/ruby/2.3.0/gems/chef-12.18.31/lib/chef/application/knife.rb:156:in `run'
	from /home/probs007/.chefdk/gem/ruby/2.3.0/gems/chef-12.18.31/bin/knife:25:in `<top (required)>'
	from /opt/chefdk/bin/knife:57:in `load'
	from /opt/chefdk/bin/knife:57:in `<main>'

Other details, such as gem version and if you're working with a Linux or Windows VM
The regression happened between 1.2.23 and 1.2.24, as shown by the above commands.  It is a Linux VM from template.
Seems like the name of some parameter "name" it's looking for has changed, whether this is a variable in a hash or a command line parameter or something I don't know.

Hi, thanks for the bug report. My first guess is that this was caused by https://github.com/chef-partners/knife-vsphere/commit/cc2c839aad993cef9058afecd1441066284e09b8. I'll need to dig a bit further.

I have some ideas . . .
    if get_config(:customization_vlan)
      vlan_list = get_config(:customization_vlan).split(',')
      sw_uuid   = get_config(:customization_sw_uuid)
      networks  = vlan_list.map { |vlan| find_network(vlan, sw_uuid) }

      cards = src_config.hardware.device.grep(RbVmomi::VIM::VirtualEthernetCard)

      networks.each_with_index do |network, index|
        card = cards[index] || abort("Can't find source network card to customize for vlan #{vlan_list[index]}")
        begin
          if get_config(:customization_sw_uuid) && (swuuid_list[index] != 'auto')
            switch_port = RbVmomi::VIM.DistributedVirtualSwitchPortConnection(
              switchUuid: swuuid_list[index], portgroupKey: network.key
            )
          else
            switch_port = RbVmomi::VIM.DistributedVirtualSwitchPortConnection(
              switchUuid: network.config.distributedVirtualSwitch.uuid, portgroupKey: network.key
            )
          end
          card.backing.port = switch_port
        rescue
          # not connected to a distibuted switch?
          card.backing = RbVmomi::VIM::VirtualEthernetCardNetworkBackingInfo(network: network, deviceName: network.name)
        end
        card.macAddress = mac_list[index] if get_config(:customization_macs) && mac_list[index] != AUTO_MAC
        dev_spec = RbVmomi::VIM.VirtualDeviceConfigSpec(device: card, operation: 'edit')
        clone_spec.config.deviceChange.push dev_spec
      end
    end

The lines that get "sw_uuid" and "networks" are new/modified.  Line 620 tries to get the "name" field of the "network" object, which is a single item from the "networks" list.  It seems to be the "card.backing =" line that looks for network.name.  The "network" object is therefore nil.
Filtering on VLAN name was added in the commit you mentioned, around Feb 1.  In that code there's a "map" command used to construct a list.  Maybe items that don't match are getting set to nil.
Maybe not--that's just a bird's eye reading.
In the meantime we can pin to 1.2.23 without issues at my site.

I'm open to fixing my code that uses this, if I need to specify more/less information about the clone at the command line, though--if it's not really a regression in knife-vsphere, but rather functionality change, I can work with that.

You're right, I think the problem is up top:
vlan_list = get_config(:customization_vlan).split(',')
sw_uuid   = get_config(:customization_sw_uuid)
networks  = vlan_list.map { |vlan| find_network(vlan, sw_uuid) }

The map takes the list of VLANS and UUIDs, and returns an array of the corresponding network objects. I think the problem is we're making double use of customization_sw_uuid, so it's trying to find the VLANs with that particular UUID.
https://github.com/chef-partners/knife-vsphere/pull/336#discussion_r95494080 is some conversation that touches on it.


Bug report tool for registry

Summary of the Pull Request
The Bug report tool should also grab some registry keys. This PR adds a function to dump registry keys of interest to a file, which is then added to the  See issue # 8992
PR Checklist

[x] Applies to #8992
[x] CLA signed. If not, go over here and sign the CLA
[ ] Tests added/passed
[ ] Requires documentation to be updated
[x] 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
Added functions to recursively grab key of interest and their subkeys.
Validation Steps Performed
Run the Bug report tool and look at registry.txt

Thank you @ivan100sic for improving that messy code 😄

Thank you @ivan100sic for improving that messy code 😄


Docs under menu fix #260

Thanks for the PR @Huvik, but the solution is rather to put the GraphDocs component into GraphQLEditor as we want independent docs.


refactor(NODE-3421): Replace MongoDriverError instances with MongoRuntimeError children

Description
Replace appropriate MongoDriverError instances with instances of the following classes

MongoBatchReExecutionError
MongoCursorError

MongoCursorExhaustedError
MongoTailableCursorError
MongoCursorInUseError

MongoNotConnectedError

@andymina There is a TODO that refernces this ticket on src/db.ts: 752 that I probably added in NODE-3402. Feel free to point that to NODE-3484 instead

@dariakp @nbbeeken Pulling the rebucketing of all error classes into this PR

LGTM other than the suggestion Neal already pointed out


Hello, I am trying to label my images but somehow I can not load images from a directory, even example images doesn't show up. Would you please help me ?

Hey! You can try copying your images under BBox-Label-Tool-master/Images/001, and input 1 into the entry.

Hey !
I have the same problem. Have you found a solution since?

@aurorelaurent You can try out the solution in my previous post and see if it works for you

After trying out the solution posted May 27th, it fixed the error, but the images still were not loading. It would return:
1
./Images/001
Any idea what's going on?

@Tuschristine  I have not been able to solve this problem. I used another software : labelImg and I adapted for the following

@Tuschristine You may need to check your images' filenames. Currently only images ending with '.JPEG' are loaded. https://github.com/puzzledqs/BBox-Label-Tool/blob/master/main.py#L134

After reinstall my PC. I run these command and it works
sudo apt-get install python-imaging-tk
sudo apt-get install python-tk
I successfully run this program. Thanks for helping!


Allow injection of fileSource instead of assuming it is an os.file

You think you could pull this?

poke!


[fix][broker] PulsarRegistrationClient - implement getAllBookies and follow BookieServiceInfo updates

Motivation
There are some methods in PulsarRegistrationClient that are not still implemented correctly according to BP-41 and BP-38.

getAllBookies() must return all the bookies, not only the bookies that are up-and-running
we are not following the changed to the BookieServiceInfo (so if the bookie changes network address it is not possible to connect to the new network address)

Therefore the PulsarRegistrationClient is handling too many notifications about deleted nodes.
Modifications

Implement correctly getAllBookies()
Handle the updates to the Bookie nodes on the MetadataService
Handle only the deletion of the Bookies nodes
Add test cases that validate the implementation of BP-38 and BP-41
Add useful logs in PulsarRegistrationManager
Handle gracefully the shutdown of PulsarRegistrationManager in case of errors (I have seen a few failures during the execution of the tests locally on my laptop)

Verifying this change
This change added tests.
Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Codecov Report

Merging #18133 (2716ff4) into master (6c65ca0) will increase coverage by 16.17%.
The diff coverage is 25.38%.

@@              Coverage Diff              @@
##             master   #18133       +/-   ##
=============================================
+ Coverage     34.91%   51.09%   +16.17%
- Complexity     5707     8747     +3040
=============================================
  Files           607      607
  Lines         53396    53511      +115
  Branches       5712     5739       +27
=============================================
+ Hits          18644    27339     +8695
+ Misses        32119    23135     -8984
- Partials       2633     3037      +404

Flag
Coverage Δ

unittests
51.09% <25.38%> (+16.17%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

.../main/java/org/apache/pulsar/PulsarStandalone.java
0.00% <0.00%> (ø)

.../apache/pulsar/broker/admin/impl/ClustersBase.java
76.66% <0.00%> (+67.62%)
:arrow_up:

...pache/pulsar/broker/admin/impl/NamespacesBase.java
63.25% <ø> (+48.72%)
:arrow_up:

.../pulsar/broker/service/AbstractBaseDispatcher.java
50.30% <0.00%> (+4.44%)
:arrow_up:

...che/pulsar/broker/service/BacklogQuotaManager.java
12.39% <0.00%> (+2.91%)
:arrow_up:

.../pulsar/broker/service/BrokerServiceException.java
45.37% <0.00%> (+20.37%)
:arrow_up:

...ava/org/apache/pulsar/broker/service/Consumer.java
71.27% <0.00%> (+9.26%)
:arrow_up:

...ava/org/apache/pulsar/broker/service/Producer.java
62.72% <0.00%> (+3.08%)
:arrow_up:

...pulsar/broker/service/PulsarCommandSenderImpl.java
74.35% <0.00%> (+7.69%)
:arrow_up:

...va/org/apache/pulsar/broker/service/ServerCnx.java
49.17% <0.00%> (+3.83%)
:arrow_up:

... and 181 more


Failed build opencv-python without ffmpeg option in Windows

I'm trying build minimal OpenCV-python for Windows for my project, without not needed functions. In my case I don't need video encoding and decoding functions. Also I would like to minimize LGPL libs presence.
At that setup.py contains the following lines:
    rearrange_cmake_output_data = {
        "cv2": (
            [r"bin/opencv_videoio_ffmpeg\d{4}%s\.dll" % ("_64" if is64 else "")]
            if os.name == "nt"
            else []
        )
        +

Here is expected, that ffmpeg dll will be built and packaged. However, there is no such file in case of building without FFMPEG (with CMAKE_ARGS="-DWITH_FFMPEG=OFF" env variable set). These lines leads to build fail in such configuration.
I have changed these lines to fix problem in my case. However, it seems disabling FFMPEG is a common need given the considerations above. Build should not fail in this case.

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."


New Project dialog requires protocol prefix

I can't write
example.com

but it will accept
http://www.example.com

Some sites do not have proper redirecting (like yacs.cs.rpi.edu)


kubo: rename from ipfs

Description of changes
Go-IPFS was renamed to Kubo in version 0.14.0, see https://github.com/ipfs/kubo/issues/8959.
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

The service should also be renamed IMHO.

Ok, if I'm already making such invasive changes as renaming the module, perhaps this would be a good time to rewrite the module and switch to an RFC42-style settings option. It might take a while before I get to finishing the rewrite.

I decided to only rename everything for now and not make any other changes.
Please review.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/591

Please review.

LGTM, haven't noticed any issues.
Built and running on NixOS

Looks good. Thanks! Weird that they kept the ipfs binary name though.
@Luflosi Could you please rebase due to the conflict and I'll gladly merge this.

Weird that they kept the ipfs binary name though.

Yeah, I found renaming almost everything but not quite very confusing.

Could you please rebase due to the conflict and I'll gladly merge this.

Done.
I also updated the dates in pkgs/top-level/aliases.nix.

I'll fix the conflict tomorrow.

Done.

I'm converting it to RFC42-style settings in #197104.


x/crypto/openpgp: unsupported feature: nested signatures

What version of Go are you using (go version)?

$ go version
1.12.7

Does this issue reproduce with the latest release?
Y
What operating system and processor architecture are you using (go env)?
go env mac OS
$ go env

What did you do?

0
I'm trying decrypting a encrypted file in Go using openpgp. This file can be decrypted by
gpg --decrypt -o

However, when I try to decrypt it in Go, it says that
unsupported feature: nested signatures

This file is not generated in my computer.
I'm using newest openpgp package. The public key and private key file are correct for sure because I have tested encrypting and decrypting.
The error happenes at:
md, err := openpgp.ReadMessage(bytes.NewBuffer(dec), entityList, nil, nil)
What did you expect to see?
Decrypted file
What did you see instead?
unsupported feature: nested signatures

@FiloSottile

Anyone knows it?

Per the accepted #44226 proposal and due to lack of maintenance, the golang.org/x/crypto/openpgp package is now frozen and deprecated. No new changes will be accepted except for security fixes. The package will not be removed.
If this is a security issue, please email<EMAIL_ADDRESS>and we will assess it and provide a fix.
If you're looking for alternatives, consider the crypto/ed25519 package for simple signatures, golang.org/x/mod/sumdb/note for inline signatures, or filippo.io/age for encryption. You can read a summary of OpenPGP issues and alternatives here.
If you are required to interoperate with OpenPGP systems and need a maintained package, we suggest considering one of multiple community forks of golang.org/x/crypto/openpgp. We don't endorse any specific one.


port settings not working

Hi, I configured the plugin this way:
- name: notify   image: drillster/drone-email   host: x.x.x.x   port: 25   from<EMAIL_ADDRESS> when:     status: [ changed, failure ]
but it sill tries to connect to port 587

Interesting, I've never experienced any issues... What Drone version are you using?

Hi, found the problem, was my fault not putting plugin configuration under settings: in yaml

@webfrank did you validate this works now? I am having the same problem

Double check plugin configuration

@webfrank @mjwwit Here is my configuration, how should it look to move port from the default of 587?

name: Notify Pipeline Failed
   image: drillster/drone-email:latest
   host: smtp.mycompany.com
   skip_verify: true
   port: 25
   from<EMAIL_ADDRESS>   recipients<EMAIL_ADDRESS>]
   when:
   status: [ failure ]


The reply is not getting the contacting user

The app is deployed on heroku. If a user that needs support starts the bot the bot is messaging hand emoji and I am getting the contacted user info. I am getting forwarded messages of users from the bot. But if I reply to the forwarded message my message is being forwarded to myself and the owner of the message is not gettin my message.
I have tried to restart all dynos. How can I fix the problem?

I have the same problem...

same

Same, Logs from heroku
ERROR:telegram.ext.dispatcher:No error handlers are registered, logging exception.
Traceback (most recent call last):
   File "/app/.heroku/python/lib/python3.9/site-packages/telegram/ext/dispatcher.py", line 555, in process_update
   handler.handle_update(update, self, check, context)

   File "/app/.heroku/python/lib/python3.9/site-packages/telegram/ext/handler.py", line 198, in handle_update
   return self.callback(update, context)

   File "/app/handlers.py", line 47, in forward_to_user
   user_id = update.message.reply_to_message.forward_from.id

   AttributeError: 'NoneType' object has no attribute 'id'

SOLUTION:
in handlers.py change line with user_id declaration to this:
user_id = update.message.reply_to_message.forward_from.id

Do yo mean line 54?
https://github.com/ohld/telegram-support-bot/blob/93782bf01ed53548c8e2898f9867c2687e893b2d/handlers.py#L54

oh, I see
it's seems to be okay now. i have old version

Can somebody help please? I changed line 54 to user_id = update.message.reply_to_message.forward_from.id but it didn't help

SOLUTION: in handlers.py change line with user_id declaration to this: user_id = update.message.reply_to_message.forward_from.id

Can you help please? I changed line 54 to user_id = update.message.reply_to_message.forward_from.id but it didn't help


is there a way that I can make some components based on ZView like Toast?

I want to make a Toast component that based on ZView since Toast should be above all the views.
I know I can directly use ZView to wrap my component, but this time I want to make a static function so I can dynamically create it, like this:
<Button onPress={() => Toast.show(xxx)} >show Toast</Button>

and use Toast.hide() to remove it.
any suggestions?

yeah here is a simple overview.
export let Toast = { show: (message) => {}, hide: () => {} };

const ToastComp = () => {
    const [message, setMessage] = useState(null);

    useEffect(() => {
        Toast.show = (message) => setMessage(message);
        Toast.hide = () => setMessage(null)
    }, []);

    return message ? <ZView bottom={10}><Text>{message}</Text></ZView> : null
}

Mount this ToastComp in your root view and you can use Toast API anywhere once it is mounted.

I have another idea if you can export the native addView and removeView method, so maybe it would be better to do so?


Error when making q variable visible to other languages

Hi,
I am getting this error when I try to run the kdb tutorial:
/ Make the trades table visible to the notebook.
.bk.s[`trades; trades]
Error
kx.c$KException: .j.j
Any idea what I need to do to get this to work? I am using mac and have python/kdb installed.
Thanks!

thanks for the report, i'll look into this.
what version of beaker are you running and on what OS?

I am running version: 1.4.2-0-ge55c059 on mac os (el capitan)

i justed tested on a mac (10.10.5) with kdb v3.3 32bit version from http://kx.com/software-download.php and it worked fine.
are you using the 64bit version?

did you run the cells leading up to that one in the kdb notebook?

i had run all the code before.
I was running kdb 3.1. I upgraded to 3.3 and it works now. Thanks for your help!


error while installing jupyterlab extensions

Hi, I am receiving error while installing this extension, both using command line and through jupyterlab extension tab.
It says "The extension "@techrah/text-shortcuts" does not yet support the current version of JupyterLab"
Is there any version dependency to Jupyterlab?
Please see the screenshot attached.
Thanks

I experience the same problem. I'm using jupyterlab version 3.0.5.

I experience the same problem. I'm using jupyterlab version 3.0.5.

I’ll need to test compatibility with JL 3.x and make appropriate adjustments. I’ll update this thread when I have more information.

I’ll need to test compatibility with JL 3.x and make appropriate adjustments. I’ll update this thread when I have more information.

Thanks for reporting this. Now resolved with v0.1.16 (#11)

Thanks for reporting this. Now resolved with v0.1.16 (#11)


Fix issues 26

@liyanwei93 I only made the change for 3.2, you could further port to 3.1. And the docs may also need to be updated to reflect this change. I dropped the ClusterRoleBinding for ceph, and AIOps, also, use a new sa openshift-argocd-admin to replace the original one that is coupled w/ Argo CD.
The same approach can be applied to Instana repo as well.
Fixed #26

@morningspace please always use the PR template, and make sure you have Fixed #xx as follows:

@gyliu513 Could you please help to merge it


Working version of cell segmentation in PyTorch

Hi @lufre1 ,
this is a working version of the PyTorch Cell Segmentation script. (See screenshot below). It's based on your work in 40a0f8d with the following main changes:

Make the number of features in the U-Net a parameter and use 32 initial features as default (was hard-coded to 64 before, which most likely leads to a too large architecture here).
Add an instance norm layer to the U-Net; which should also help in keeping the training stable.
Use a patch shape of 512 x 512. Training with smaller patches will probably not work well because we get very little background per patch.

I suggest you continue working off the changes here and as next steps clean things up.

added the option to enable/disable the final activation layer and tidied up the code.

I also tested this setup with 64 and 128 initial features: which performed equally well but it did slow down the training quite a lot.
You were correct with the patch_sizes. Lowering the patch size to (256,256) yields worse results than (512,512).
But in the end the norm-layers did the trick. Without the normalization layers, the training is unstable and the other changes have no influence on the result.


Publish immersive-reader-sdk on npm

Any chance that you can publish the built SDK on npm when releasing new versions? It would help for dependency management of the SDK when bundling it into an Electron app.

Yes, I will begin looking into that. Stay tuned :)

Published as https://www.npmjs.com/package/@microsoft/immersive-reader-sdk


Add role filtering

Similar to Capistrano::Composer we need a possibility to run Symfony tasks based on roles.

This pull request aims to be backward compatible.

Ping @peterjmit

Hey. Sorry for the delay. I just got write access to this library. Could you rebase you PR on master?

Related to #67

@Nyholm done

@Nyholm you're right. It was inconsistent.

Also, looking at: https://github.com/capistrano/symfony/pull/67/files
He/She does something like:
roles(fetch(:symfony_deploy_roles))

Could you tell my the difference?

Okey. Thank you for clarifying that. And thanks for your work.


api/auth/refresh does not check JTI blocklist

api/auth/refresh doesn't check JTI blocklist before refresh tokens

fixed in 0091718

fixed in 0091718


How to temporarily disable chunking

Is there a way to disable file chunking?
I have a use case where I don't want the file to be chunked and just the send a file of up to a certain size,
Thanks.

@pjpastrana I am looking for same and I found this https://github.com/flowjs/flow.js/issues/95


[Feature] Slightly more config

It'd be nice if there was a config that allowed me to disable some hazards from being placed outside compared to all hazards, teleporter traps can get buggy for enemies if they're placed outside but I also want a couple modded hazards that aren't the teleporter traps to be outside.

That's a great idea. I'll look into this after my holidays. For testing purposes later: Do you mind sharing what custom hazards apart from teleporter traps you are using?

CodeRebirth's "money" uses LL to spawn em inside.
TestAccount Variety has a cage and another thing too that also spawn inside


Support text sharing

Please add a feature of text sharing, e.g., right-click on an icon to popup a text sharing message box to share.
This feature is inspired by Snapdrop (https://snapdrop.net/).

This is a duplicate of https://github.com/cowbell/sharedrop/issues/80.

I'm closing this one as a duplicate of #80.

use https://snapdrop.net/ instead. can share files and text


Comparison with the Strict Equality Operator - Difference between "==" and "===" wording

Challenge Comparison with the Strict Equality Operator has an issue.
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

// Setup
function testStrict(val) {
  if (val) { // Change this line
    return "Equal";
  }
  return "Not Equal";
}

// Change this value to test
testStrict(10);

The explanation for the difference between "==" and "===" is incorrect. They both test for the data type of the compared elements, but "===" does not allow the elements to be converted to other data types if they are not the same where as "==" (a.k.a. coercion).

Agreed.
Reference https://developer.mozilla.org/en/docs/Web/JavaScript/Equality_comparisons_and_sameness
Opening up for suggestions in the verbiage that's simple enough to explain the correct difference.

/cc @freeCodeCamp/moderators

@raisedadead How does this sound?
The == operator will compare for equality after doing any necessary type conversions. The strict equality operator (===) will not do the conversion, so if two values are not the same type, === will simply return false.

I think in addition to what @dakshshah96's suggestion, what really helps with this concept are examples. Something like:
typeof 3 // return 'number'
typeof '3' // returns 'string'

3 == '3' // returns true because Javascript is doing a type conversion on the string
3 === '3' // returns false because strict equality does not allow the type conversion

I agree with @dhcodes, however, I think there should be another module added for users to implement with the equality operator (==) and the strict equality operator (===) in the same module to hit home the difference. I think that would be a good place for @dhcodes example. Right now you learn and practice with them separately and it would be good to have a module that you are required to use both to make sure you understand the difference between them.
These links may also be helpful to include for the new said module. They are directly from the Ecmascript Specification website:
== Equality Algorithm ( http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3 )
=== Strict Equality Algorithm ( http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.6 )
@dakshshah96 I think your description is sufficient. The only update I think I may make is to say 'data type' instead of 'type' to match the wording used in the modules.

@jbosman @dhcodes awesome! 100% agreed. We could have more than one challenge on this if necessary to really drive home the point. Would either of you be interested in creating these challenges?

Looks like this is available, I'll take it up.

@Manish-Giri Awesome - thanks!

@QuincyLarson Can I take up this issue ? I'm really interested to work on this as I'm a beginner

@Manish-Giri Have you had time to look into this? If not, could we let @ajomadlabs take a crack at it?

@QuincyLarson Oops, sorry - this is on the way, just need to make some changes and push it.


oclint 0.7 (newformula)

One note: the current url points to an OSX binary. What should I do to be able to also install against Linux?

Any update here?

Closing due to no response.


Stephen Plainte DSPT3 Assignment 1

Updated README to include my name and cohort ID

Committed my colab to the pull request


Address stacked borrows violation in SymbolTable::intern

This stacked borrows violation impacts all SymbolTable variants in this crate and has been present in all published versions.
The SymbolTable::intern function previously worked like this:

Convert the given contents to be interned into a Cow<'static, T>.
Check to see if this content is already interned by checking the internal bimap. If found, return the matching symbol.
Convert the Cow into an Interned which is an enum of either a &'static T or a Box<T>.
Borrow a &'static T from the Interned.
Push the Interned into the vec.
Add the &'static T to the map.
Check that the insertion happened correctly with some debug assertions.
Return the computed symbol.

As of at least rustc 1.73.0-nightly (31395ec38 2023-07-24), Miri pops all borrows from the Interned at step 5 when the Interned is moved into the vec, which means the borrow made at 4 is untracked when Miri executes the debug assertions.
The fix here is to make the assignment/move of the Interned happen first so Miri doesn't retag the inner Box<T>. This is accomplished by reordering the self.vec.push operation to immediately follow step 3. An additional unchecked index into the vec is used to get a shared access to that Interned object to later derive the &'static T.
This commit also adds an additional test to resolve a slice from the symbol table to ensure Miri does not disagree as the Interned is moved during growth of the SymbolTable.
Fixes #235.

@CAD97 sorry for the out of the blue ping, but you've contributed here in the past and if you could lend a hand, I would appreciate a review on this fix for a stacked borrows violation in the intaglio string interner.

marking this as blocked since I would like to get this reviewed by a few eyes before merging.

Speaking for myself, not as part of T-opsem.
If the box gets moved when the symbol table grows, that's still a potential problem. It's probably not one which will actually get hit, but that's because of implementation details of the collection (i.e. that it uses realloc and/or untyped copies to move stuff around, instead of typed moves).
The more thorough fix would be to replace the use of Box with a PinBox style type, basically just wrapping a NonNull<T> to call Box::from_raw again when it gets dropped.
Make sure to test with -Zmiri-retag-fields, as that can expose more issues along this line due to retagging when moving owned boxes more often, and is going to be turned on as the default in the nearish future. Or actually this may have shown up as an issue because of it being turned on; I'm not exactly certain since I'm just looking at this patch.
That said, if you're okay with relying on the implementation of the symbol table (probably Vec? I'm just looking at the patch and don't recall if it's that or doing something more clever) only using untyped copies when resizing, this is an accurate targeted fix for the problematic retag on insert, and the description provided is accurate.
Note that as a slight mitigation, despite the Rust-level UB, the fact that interned symbols are immutable means that rustc has not yet exploited this UB, and thus the lowering to LLVM IR does not contain any UB. (This may change in the future.)

Thanks @CAD97! Responses to your comments inline.

If the box gets moved when the symbol table grows, that's still a potential problem. It's probably not one which will actually get hit, but that's because of implementation details of the collection (i.e. that it uses realloc and/or untyped copies to move stuff around, instead of typed moves).

I suspected this to be the case which is why I added this line to all of the tests that run under Miri. I hope this will prevent regressions if the underlying collection, which is Vec, changes its copying behavior.
https://github.com/artichoke/intaglio/blob/fe7870ecf7386f37894e8cf816a321b55d5f87cf/tests/leak_drop/bytes.rs#L20

The more thorough fix would be to replace the use of Box with a PinBox style type, basically just wrapping a NonNull<T> to call Box::from_raw again when it gets dropped.

This seems like a reasonable change to make as well as one that's not too disruptive to the Slice abstraction, since it goes through a pointer anyway to create the static reference. As an aside, it looks like you contributed the current representation for the Slice enum in https://github.com/artichoke/intaglio/pull/28.

Make sure to test with -Zmiri-retag-fields, as that can expose more issues along this line due to retagging when moving owned boxes more often, and is going to be turned on as the default in the nearish future.

Yup it looks like this being made the default in nightly is the reason I got the build failure on the weekly CI that runs on a cron against HEAD.
Do you have any suggestions for additional Miri flags I should add in CI? The current set of MIRIFLAGS is:
https://github.com/artichoke/intaglio/blob/70ccd8b0bc6db4b6b1289fa4d892f9a25352138d/.github/workflows/miri.yaml#L18

That said, if you're okay with relying on the implementation of the symbol table (probably Vec? I'm just looking at the patch and don't recall if it's that or doing something more clever) only using untyped copies when resizing, this is an accurate targeted fix for the problematic retag on insert, and the description provided is accurate.
Note that as a slight mitigation, despite the Rust-level UB, the fact that interned symbols are immutable means that rustc has not yet exploited this UB, and thus the lowering to LLVM IR does not contain any UB. (This may change in the future.)

This is correct, the symbol tables store the Slice objects in a Vec. Thanks for the confirmation that this fix is appropriate and I've properly diagnosed the issue Miri identified.

@CAD97 I've added a PinBox type derived from yours in bfbea049db875a79da29e385c4c9e127f9fb8d70. Since this is largely your code, I'd appreciate it if you could take one last look and could bless its use here in intaglio.

not as part of T-opsem

TIL: https://rust-lang.github.io/rfcs/3346-t-opsem.html

Create an operational semantics team that is tasked with owning the semantics of unsafe code. This responsibility would be transferred from T-types, which had previously been given ownership of this domain. Additionally, this team replaces the Unsafe Code Guidelines working group, which has been doing much of the work in this space.

Thanks again for your help @CAD97!

simple-interner license

Bad habit of not bothering to add an actual LICENSE file; the Cargo.toml records the SPDX license identifier as MIT OR Apache-2.0. However, I also consider PinBox trivial and noncopyrightable, thus hereby officially place its implementation in the public domain to the full extent possible.
Everything looks good to me. Theoretically the change to insertion ordering isn't needed once using PinBox, but it doesn't hurt either.

Now that this is released in v1.9.0, I've filled a RustSec advisory here:

https://github.com/rustsec/advisory-db/pull/1732

Make sure to test with -Zmiri-retag-fields, as that can expose more issues along this line due to retagging when moving owned boxes more often, and is going to be turned on as the default in the nearish future. Or actually this may have shown up as an issue because of it being turned on; I'm not exactly certain since I'm just looking at this patch.

it looks like yup! merged 5 days ago, which means the cron running the weekly Miri CI would have hit it on Tuesday.

https://github.com/rust-lang/miri/pull/2985

I missed the Send and Sync impls on PinBox in this PR which led to the Send and Sync auto traits being dropped from the symbol table types in v1.9.0. I just yanked v1.9.0 and re-released this fix as v1.9.1 with an additional bit of code to preserve the Send and Sync bounds on PinBox in #240.


Migrate death minigames into main plugin

Describe your changes
Migrating plugin DeathMinigames into this plugin.

...
Notes for testing your change
the dependency on this plugin can be deleted
...

59963ec is part of #171 so it can be removed from here

You based your branch of the other PR. You can create a new one based of master (don't forget to git fetch and git pull)


Update Holographic Remoting documentation to be explicit about dotnetwinRT installation and XR plugin settings

Describe the issue
Holographic Remoting on Unity 2019.4 doesn't work unless you install the dotnetwinRT library from Nuget and set the correct OpenXR settings in under the Standalone set of settings. Tracking updating the documentation to reflect those necessary steps.

Hmm... My understanding is the dotnetwinrt library is only required when using legacy XR pipeline and is not required for XRSDK pipeline. @keveleigh Could you help verify that? If that is the case, then I think our doc is good (currently mentions that library is required for legacy XR and requires checking the correct boxes in the XR plug-in management tab as showed above).

But I do support changing the narrative to recommend NuGet over MSBuild.

My understanding is the dotnetwinrt library is only required when using legacy XR pipeline and is not required for XRSDK pipeline.

This is true. There are other features that depend on DotNetWinRT though, like changing the depth lsr format, but none that are needed specifically for remoting that I can think of.

@keveleigh Katherine and I were unable to get holographic remoting working without DotNetWinRT yesterday though :(

@RogPodge Using XR SDK? What wasn't working?

@CDiaz-MS since I didn't get a chance to specifically test the config without DotNetWinRT

Remoting was not working for me on 2019.4.12 yesterday using only XRSDK.  Although I just tested again today and now it is working. I went over the XRSDK set up steps and it looks like updating the XR Legacy Input Helpers and XR Plugin Management UPM packages resolved the issue.
When searching UPM to add the packages initially, the button to add the package was titled "Update to Version" instead of "Install" so the assumption was that the package was already in the project.