Automatically determine which hash to use

Hi @jermp,
It would be great if, in piscem (and perhaps generally upstream in sshash?) the size of the hash function used could be automatically adjusted based on the estimated collision probability.  Specifically, if there is a large number of keys, then this function (https://github.com/COMBINE-lab/piscem-cpp/blob/5231b57776422c5fcd77b48de3b39a21161726c2/include/util.hpp#L355) triggers the program to terminate with the relevant message.
I wonder if, instead, a more robust behavior might be to check the collision probability and, if it's too high, just use the larger hash values instead.  Alternatively (not sure if it's a good idea though), one could just always try with the 64-bit hash and then, if a collision occurs, try again with the 128-bit hash.
I don't think this will be super common for "normal" sized indices, but there's already been some interest expressed in trying to build quite large indices with piscem (e.g. https://genomic.social/web/@raw937/109334346658954871), and I imagine that in such a case, this issue would come up rather quickly.

Hi @rob-p,
for large indexes, I would always default to 128-bit hash codes. This will not affect the index size, obviously. The hasher is only used by the PTHash table for the minimizers. There will only be a slight penalty at query time, since computing 128-bit hash codes is more expensive than 64-bit ones, but I wouldn't regard this as a "real" issue :)
Also, I saw someone https://github.com/jevinskie/pthash/commit/f767dff8764b3b33b2109a634b92e8bc83e1d27c integrated xxhash in PTHash instead of murmur-hash2. Perhaps that will even bridge the performance gap.

Thanks! Any suggestions on when to check or how to best genericize the code for this? I suspect we have to record the hash size in the serialized output too.

If we just default to 128-bit hashes, it's just a matter of changing one template, here: https://github.com/jermp/sshash/blob/master/include/util.hpp#L26. No need to save anything to the index file.
We should, however, bring the SSHash version used in piscem-cpp up to date, better through a git submodule as we discussed here https://github.com/COMBINE-lab/piscem-cpp/issues/2 some time ago.

But when we load the index, don't we need to know which hash it was built with? Are you suggesting to always use the 128-bit hash? I think many common indices (e.g human genome and txome) are well within the safe 64-bit hash space.
I agree about unifying with upstream. We should see what the full set of necessary changes is.

But when we load the index, don't we need to know which hash it was built with? Are you suggesting to always use the 128-bit hash? I think many common indices (e.g human genome and txome) are well within the safe 64-bit hash space.

Yes, I am.
But if we still want to make a choice, then the choice must be chosen statically before building like this
https://github.com/jermp/pthash/blob/master/src/build.cpp#L199, having an idea of how many minimizers to expect.
Then we would need to specify a template in this class https://github.com/jermp/sshash/blob/master/include/minimizers.hpp which must be also exposed by the sshash::dictionary class. PTHash will then take care of the serialization.

Always using 128-bits is, of course cleaner and simpler;P. Any idea what the effect of this is on construction and queries?

Yeah, exactly :D
Here I've built some large indexes (over the axolotl genome, for example) using 128-bit hash codes:
https://github.com/jermp/sshash#large-scale-benchmark. I wouldn't say 128-bit hash codes are going to hurt construction...maybe slightly affect random lookups. But as we keep growing in size, sooner or later we must switch to 128-bit hashes!

I totally agree. I just wonder if we want to take a bowtie2 like approach (dynamically switch based on what we are indexing) or always use 128-bit hashes, even for small references.  The affect isn't nearly as big for us as bowtie2, bacause our size is unaffected. If the random lookup differences are very small, then it may be worth to take the hit to keep things simpler, but if the effect is non-trivial, we may want to make dynamic. I could try building a small (txome/genome) index with both and testing it out later, but am afk right now.

Yes. I will make some experiment too and post them here in this thread.

Ok I've tried on the human chromosome 13. To test, I've created two folders, build_64 and build_128 and compiled with lib in the build_128 folder after switching to 128-bit hash codes. Then, I ran the following commands in both folders:
./sshash build -i ~/DNA_datasets/Homo_sapiens.GRCh38.dna.chromosome.13.ust_k31.fa.gz -k 31 -m 17 -o chr13.sshash --verbose
./sshash bench -i chr13.sshash
./sshash query -i chr13.sshash -q ../data/queries/SRR5833294.10K.fastq.gz

and obtained identical results.
64-bit hashes:
avg_nanosec_per_positive_lookup 708.357
avg_nanosec_per_negative_lookup 789.448
avg_nanosec_per_positive_lookup_advanced 786.834
avg_nanosec_per_negative_lookup_advanced 874.468
avg_nanosec_per_access 295.47
iterator: avg_nanosec_per_kmer 26.5712

2022-11-13 16:39:35: performing queries from file '../data/queries/SRR5833294.10K.fastq.gz'...
2022-11-13 16:39:35: DONE
==== query report:
num_kmers = 460000
num_positive_kmers = 29737 (6.46457%)
num_searches = 11763/29737 (39.5568%)
num_extensions = 17974/29737 (60.4432%)
elapsed = 273.431 millisec / 0.273431 sec / 0.00455718 min / 594.415 ns/kmer

128-bit hashes:
avg_nanosec_per_positive_lookup 711.307
avg_nanosec_per_negative_lookup 819.396
avg_nanosec_per_positive_lookup_advanced 815.91
avg_nanosec_per_negative_lookup_advanced 841.34
avg_nanosec_per_access 296.331
iterator: avg_nanosec_per_kmer 24.5083

2022-11-13 16:38:03: performing queries from file '../data/queries/SRR5833294.10K.fastq.gz'...
2022-11-13 16:38:03: DONE
==== query report:
num_kmers = 460000
num_positive_kmers = 29737 (6.46457%)
num_searches = 11763/29737 (39.5568%)
num_extensions = 17974/29737 (60.4432%)
elapsed = 278.481 millisec / 0.278481 sec / 0.00464135 min / 605.393 ns/kmer

Can you confirm this behavior on your end as well?

On the whole human genome:
./sshash build -i ~/DNA_datasets/Homo_sapiens.GRCh38.dna.toplevel.ust_k31.fa.gz -k 31 -m 20 -o human.sshash --verbose
./sshash bench -i human.sshash
./sshash query -i human.sshash -q ../data/queries/SRR5833294.10K.fastq.gz

64-bit hashes:
avg_nanosec_per_positive_lookup 1460.99
avg_nanosec_per_negative_lookup 1648.1
avg_nanosec_per_positive_lookup_advanced 1825.97
avg_nanosec_per_negative_lookup_advanced 1643.93
avg_nanosec_per_access 606.522
iterator: avg_nanosec_per_kmer 25.9827

2022-11-13 19:14:00: performing queries from file '../data/queries/SRR5833294.10K.fastq.gz'...
2022-11-13 19:14:00: DONE
==== query report:
num_kmers = 460000
num_positive_kmers = 426405 (92.6967%)
num_searches = 92561/426405 (21.7073%)
num_extensions = 333844/426405 (78.2927%)
elapsed = 177.664 millisec / 0.177664 sec / 0.00296107 min / 386.226 ns/kmer

128-bit hashes:
2022-11-13 19:13:44: performing queries from file '../data/queries/SRR5833294.10K.fastq.gz'...
2022-11-13 19:13:44: DONE
==== query report:
num_kmers = 460000
num_positive_kmers = 426405 (92.6967%)
num_searches = 92561/426405 (21.7073%)
num_extensions = 333844/426405 (78.2927%)
elapsed = 176.937 millisec / 0.176937 sec / 0.00294895 min / 384.646 ns/kmer

2022-11-13 19:13:47: performing queries from file '../data/queries/SRR5833294.10K.fastq.gz'...
2022-11-13 19:13:47: DONE
==== query report:
num_kmers = 460000
num_positive_kmers = 426405 (92.6967%)
num_searches = 92561/426405 (21.7073%)
num_extensions = 333844/426405 (78.2927%)
elapsed = 181.181 millisec / 0.181181 sec / 0.00301968 min / 393.872 ns/kmer

I'll test chromosome 5 now on my end — and then maybe see what I get with xxhash ;P

Great! Thank you @rob-p.

So it seems my machine is slower than yours (uniformly; expected since it's quite old now). These are with the default hasher.
build
./sshash build -i chr5_utig.fa  -k 31 -m 17 -o chr5.sshash --verbose

64-bit hasher
./sshash bench -i chr5.sshash
avg_nanosec_per_positive_lookup 987.98
avg_nanosec_per_negative_lookup 1015.84
avg_nanosec_per_positive_lookup_advanced 907.097
avg_nanosec_per_negative_lookup_advanced 1013.81
avg_nanosec_per_access 425.64
iterator: avg_nanosec_per_kmer 22.8699

128-bit hasher
./sshash bench -i chr5_128.sshash
avg_nanosec_per_positive_lookup 1082.97
avg_nanosec_per_negative_lookup 1066.39
avg_nanosec_per_positive_lookup_advanced 1023.78
avg_nanosec_per_negative_lookup_advanced 1035.59
avg_nanosec_per_access 449.019
iterator: avg_nanosec_per_kmer 23.8181

Pretty similar results 64 vs. 128 bits, no?

Yea pretty similar. It looks like my submodule-fu is not awesome, so pulling in the xxhash fork you listed earlier is non-trivial for me. I'll try and work on that later and report back (have to get the little guy up now ;P).

So I got xxhash to work, and the results don't seem appreciably different (basically within measurement noise) both to what is above, and between the two modes:
64-bit hasher
./sshash bench -i chr5_xxhash_64.sshash
avg_nanosec_per_positive_lookup 1132.35
avg_nanosec_per_negative_lookup 1027.64
avg_nanosec_per_positive_lookup_advanced 1021.32
avg_nanosec_per_negative_lookup_advanced 1022.37
avg_nanosec_per_access 433.611
iterator: avg_nanosec_per_kmer 23.2661

128-bit hasher
./sshash bench -i chr5_xxhash_128.sshash
avg_nanosec_per_positive_lookup 1025.05
avg_nanosec_per_negative_lookup 1021.49
avg_nanosec_per_positive_lookup_advanced 946.707
avg_nanosec_per_negative_lookup_advanced 1050.17
avg_nanosec_per_access 416.959
iterator: avg_nanosec_per_kmer 23.3242

Excellent! Thank you for these results. So, I would say:

we don't have to bother to include xxHash;
just default to 128-bit hashes? I think this is very reasonable.

Done, as of https://github.com/jermp/sshash/commit/3bc3c165ff6a6a79a8ad240a3710106997405d31.


upgrade to webui 2.4.0

Thank you, you can merge it 👍

@AlbertShown Why are you no longer in the WebUI team? You left yourself?

This is a professional account... my manager requested that I work and contribute to webui as we use it in some of our commercial diagnostic quick-run tools. After we released the software, I was not allowed to work on webui anymore... This deno minor contribution is my first personal free time contribution. however, it won't be the last one. we all like to contribute and learn new things, all can be added to the resume anyway 🤷♂

Oh okay 🙂


[MongoDB Docs]: Mongo DB basic docs

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
i want to tutorials on MongoDB of this topics

Use Case
user can know more about DBMS topic

Benefits
user can know more about DBMS topic

Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

hey @Ajay-Dhangar , please look over my issues i have stated collecting info from resources please assign it so that i can start work on this


Validation freq

Hey,
When I run two trainings (strong baseline) with the same config file, except for val_freq which is the frequency of validation (2 and 5 in my case). I surprisingly get two different curves of the training cross entropy loss.
I believe that even though the model is in eval mode, it still changes some of its settings. Am I wrong ?
Thanks in advance.

Please find bellow some specifications of my setup.
I'm working with the following versions:

Python 3.6.9
Torch '1.7.1+cu110'

Also the two plots of the cross entropy loss that correspond to the two trainings (strong baseline) with different val frequencies.

Grey line : val_freq = 5
Orange line: val_freq = 2

@RAMIhamza Hi， I study this code recently， could we have some Communication？

Yeah sure !
Here is my mailing address<EMAIL_ADDRESS>


Added aggregated information to perf builds and modified Perf Compare display

Aggregated information added to Perf type buids in the database,  move the Benchmark Math calcualtion from the client side to backend to save the operation time.
Modification on the Perf Compare, especially on the raw data displaying.
#24 #70 AdoptOpenJDK/openjdk-tests#850
Signed-off-by: sophiaxu0424<EMAIL_ADDRESS>

@sophiaxu0424 As discussed today, please update this PR with all the requested changes that are clear. Anything not clear, we can discuss it in our meeting tmr. Thanks!


Pact step signatures

I added another case to expectFailsTypechecking because apparently on master now, the typechecking error seems to be reported at the module level.


[docs] Add Building UI documentation

Partial implementation for https://github.com/mui/mui-toolpad/issues/834

https://deploy-preview-1011--mui-toolpad-docs.netlify.app/toolpad/building-ui/component-library/
Opening new PR as I got some merge/rebase issues with the previous branch.

Generally looks good to me! just left a few suggestions.
Also about screenshots:

maybe there's some we can remove such as the one that only has the sx button.
the screenshot about moving components looks a bit confusing, as it shows two red rectangles.

@apedroferreira

Also about screenshots:

maybe there's some we can remove such as the one that only has the sx button.

Let's do removal of any unneeded screenshots in a follow up. We might want to do an overhaul of other screenshots as well. In the first iteration I've tried to use screenshots for almost everything and I might have over done it.

the screenshot about moving components looks a bit confusing, as it shows two red rectangles.

I've changed the screenshot so it's a little bit easier to see and understand how move interaction looks like. Regarding two red rectangles - IMO that's something that we should consider changing in the app itself:

I'd think if we shouldn't change red to some other bit more neutral color, blue or something similar?
For the drag indicator, maybe use slightly opaque handle so it doesn't look exactly the same way as a component's HUD? 🤔

I'm gonna merge this PR as we've done a couple of iterations already, let's address any other concerns in a follow up PR

@prakhargupta1 will address your feedback in a PR for setup instructions


az vm extension  --name command cannot give any other name other than CustomScriptForLinux

hi
i want to add an extension to my vm and identify that extension by a particular name .
command : -
az vm extension set
--publisher  Microsoft.OSTCExtensions
--name $Extension_name
--vm-name $vmname
--resource-group $ResourceGroupName \
But while running this command i am always forced to give the extension name as CustomScriptForLinux
if iam giving custom name other than this it is throwing up an error saying extension cannot be found .
But the same i am able to do it with an arm template
so i would an solution for this issue
Thanks

@adewaleo, can you take this one? I suggest we expose an --extension-instance-name to avoid the ambiguity with "extension type name" which is used more frequently.

Will do @yugangw-msft

@adewaleo  fixed it


feat: create get_snos_input(block_id: BlockId) -> Resutl<SnosInput,_> rpc route

Feature Request
The prover will need to be able to data out of the chain for each block it want to prove.
To allow this, we will add a custom RPC get_snos_input that return the Input datastruct expected by SNOS.
Describe Preferred Solution
Add the rpc route in crates/client/rpc-core/src/lib.rs to the MadaraRpcApi trait.
Implement it in crate/client.
Related Code
Here is the SnosInput struct
https://github.com/keep-starknet-strange/snos/blob/01ed09975cb8b0cdb878f569fe2f8aac5c9e9a7a/src/io/input.rs#L18
Import it from this crate

can I work on this

Hello, can i pick this one ? @tdelabro

sure. It is not an easy one tho. Don't hesitate to ask for help on our telegram channel

@0xSpyC are you still working on this? It has been two weeks?

Yes, I'm still on it, sorry for the delay, it took me a while to figure out how the commitment fact is calculated, I'll do my best to deliver it quickly from now on. Is there anyone who has mastered the low-level state so they can tell me if my understanding is correct?

Sure, push your code in a draft PR and add your question there

Hey @0xSpyC
Are you still working on it ? If not I can take it up. As we are currently integrating the SNOS job in madara orchestrator we need this component.

@0xSpyC I am assigning this to @ocdbytes, let me know in case you've made any progress.

Hey @0xSpyC
Are you still working on it ? If not I can take it up. As we are currently integrating the SNOS job in madara orchestrator we need this component.

It's ok i understand

repository archived in favor of https://github.com/madara-alliance/madara


nlbr nunjucks filter doesn't work without the addition of the safe filter

This filter needs to be marked safe, and it needs to check whether its input is already a SafeString and tackle that if not before applying its logic and marking the result of that safe as well.

I think this is all cleared up thanks to Ulf. https://github.com/apostrophecms/apostrophe/commit/2b5a46d197ad069a7e7b42ca44c795765f7c4a8d
It works in my test. @bgantick Would you mind confirming?


Websocket BlockInfo

When using websocket, newBlock() returns undefined for numTransactions, when it should return a number.

This information is not returned over the websocket from the server (incomplete data is received from websocket for blocks). To verify:

in your chrome browser open Developer tools -> Network
go to https://explorer.xpxsirius.io/#/, pick some live server
click on websocket connection, inspect incoming messages

In the network logs, you can see that the explorer app uses the websocket newblock only as a notification and queries the rest api for block details for each and every newblock received as a workaround.
You can try to report this issue to server/rest(?)


dsc questions

what is text
what units are startTime/endTime, startTemperature, endTemperature, energy

units is in unit object

change text to remark


Pairtree Derivative Path override.

Closes #66

Closing - looking like we're pushing this into Curation Concerns.

+1, I was thinking yesterday that this would be a good idea. Just make sure that the method that calculates the relative path is public so that we can also use it to build the Loris idenifier.

Re-opened as #70


package:flutter/src/widgets/heroes.dart': Failed assertion: line 651 pos 12

Describe the bug
An exception is thrown when I try to navigate from '/addresses' to '/addresses/create' using BeamTo
Exception stacktrace:
═╡ EXCEPTION CAUGHT BY SCHEDULER LIBRARY ╞═════════════════════════════════════════════════════════
The following assertion was thrown during a scheduler callback:
'package:flutter/src/widgets/heroes.dart': Failed assertion: line 651 pos 12: '() {
      final Animation<double> initial = initialManifest.animation;
      assert(initial != null);
      final HeroFlightDirection type = initialManifest.type;
      assert(type != null);
      switch (type) {
        case HeroFlightDirection.pop:
          return initial.value == 1.0 && initialManifest.isUserGestureTransition
              // During user gesture transitions, the animation controller isn't
              // driving the reverse transition, but should still be in a previously
              // completed stage with the initial value at 1.0.
              ? initial.status == AnimationStatus.completed
              : initial.status == AnimationStatus.reverse;
        case HeroFlightDirection.push:
          return initial.value == 0.0 && initial.status == AnimationStatus.forward;
      }
    }()': is not true.

Either the assertion indicates an error in the framework itself, or we should provide substantially
more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
  https://github.com/flutter/flutter/issues/new?template=2_bug.md

When the exception was thrown, this was the stack:
#2      _HeroFlight.start (package:flutter/src/widgets/heroes.dart:651:12)
package:flutter/src/widgets/heroes.dart:651
#3      HeroController._startHeroTransition (package:flutter/src/widgets/heroes.dart:978:60)
package:flutter/src/widgets/heroes.dart:978
#4      HeroController._maybeStartHeroTransition.<anonymous closure> (package:flutter/src/widgets/heroes.dart:899:11)
package:flutter/src/widgets/heroes.dart:899
#5      SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1175:15)
package:flutter/src/scheduler/binding.dart:1175
#6      SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1113:9)
package:flutter/src/scheduler/binding.dart:1113
#7      SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1015:5)
package:flutter/src/scheduler/binding.dart:1015
#11     _invoke (dart:ui/hooks.dart:150:10)
#12     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:318:5)
#13     _drawFrame (dart:ui/hooks.dart:115:31)
(elided 5 frames from class _AssertionError and dart:async)

Hey @tomasweigenast :wave:
Thanks for creating an issue.
Can you provide a small code sample that reproduces this bug?

I face that problem, I show snackbar before go to next page. I use goRouter,
Example code,
showSuccessSnackbar(context, context.locale.verifyCodeSent);
context.goNamed(Routes.otp.name);
How to solve this problem?


Issue with doubled cache files

The code is creating duplicate cache files. Specifically, instead of utilizing the existing cache file named vasprun.xml.cache, a new one with a different identifier, such as vasprun.xml.a45e320a.cache, is being generated. I'm not sure whether this is connected to a recent update in the gemdat or if there is another issue. Is there a way to address this so that the code can utilize the existing cache files instead of creating new ones?

The hash is generated from the arguments to the from_vasprun function
We chose to do this, because when you read in the file in a different way, the cached trajectory might be different. So to make sure that the correct cache is loaded when you try to load the file, a hash of the kwargs to the loading function is added to the filename.
If you do not want this, you can specify the cache argument to the from_vasprun function (to 'my_cache' for example). but beware of the possibility of loading the wrong cache as described above!


Merging live back into main so they are back in sync

Just merged main into live but it looks like live is somehow ahead of main in some areas. Merging live back to get them in sync.

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


fix: optins -> options

Fixes a small misspell that I found

Fantastic, thank you for spotting this!


disable pruning temporarily, work around weird operator validation error

after fixing the pruner config typo, using disabled instead of disable, kept getting this inexplicable error in the operator validating webhook, even though only 'keep-since' was used and not 'keep'
validation failed: expected exactly one, got both: spec.pruner.keep, spec.pruner.keep-since,Reason:BadRequest,Details:nil,Code:400,
only disabling pruning seems to bypass this error in my fix-pruner-cfg branch here.
Currently main branch fails dev_setup.sh with the typo.
so @enarha @divyansh42 yeah there is some weird impl detail with gitops in conjunction with tekton operator
In fact after first changing line 197 in the file to say disabled vs. disable and seeing the validation error above, and then just disabling the pruner, when I ran
oc get tektonconfig config -o yaml -w I would see yaml bits like
  pruner:
    disabled: true
    keep: 100

where maybe keep: 100 is some default setting the operator does ???   Note that last use of keep with https://github.com/openshift-pipelines/pipeline-service/commit/c12b16367788ca6e4f67e4cdd41ff891abcba77e set it to 10 so I don't thing this is gitops looking at older commits or something
my best guess this is an operator bug @enarha where maybe there is a version difference between the operator in main branch of this repo and what we have in konflux prod, hence we don't see this error with https://github.com/redhat-appstudio/infra-deployments/blob/main/components/pipeline-service/production/base/update-tekton-config-performance.yaml#L34-L41 .... or it is a timing issue where gitops replacing the operator default somehow luckily works @enarha  ... something to keep an eye on the next time prod is bumped
rh-pre-commit.version: 2.3.1
rh-pre-commit.check-secrets: ENABLED

Yes, 100 is the default set by the operator https://github.com/tektoncd/operator/blob/main/pkg/apis/operator/v1alpha1/const.go#L64 .
The change is LGTM. Not sure how do you want to promote it though given we have the other change in infra-deployments which removes the ref to this repo.

Yes, 100 is the default set by the operator https://github.com/tektoncd/operator/blob/main/pkg/apis/operator/v1alpha1/const.go#L64 .
The change is LGTM. Not sure how do you want to promote it though given we have the other change in infra-deployments which removes the ref to this repo.

Yeah @enarha this change is only needed for running dev_setup.sh out of clones of this repo.  Infra deployments will handle pruner separately when the other PR merges as we know.
To make it a bit simpler for him, I'm having @divyansh42 educate  / practice grafana panels from dev_setup.sh deployed clusters.
We'll see moving forward after I leave if you all continue using it as a dev env, or you all pivot to however you bootstrap konflux onto OCP.


Update asteroid version

Previously we were blocked on upgrading asteroid due to a bug
https://github.com/PyCQA/astroid/issues/650
However the bug now says this is fixed, so verifying that our tests pass.
...and it turns out they don't pass.
Fixes:

ndarray.reshape technically takes lists of arguments like a.reshape(1, 3, 4).  However sometimes lint gets made about this.  Fixed this and changed other uses in this test to use same pattern for consistency.
Found a missing assertion right nearby and fixed this.  Needed to fix order bug in test.
Didn't fix a lint error about the result of getattr not being callable.  I don't think there is any fix besides this as there are lots of bugs about pylint messing this up.  So added a disable.

Thanks!  Turns out that this ended up exposing a bunch of corner case and even gasp a test that had a missing assert that when inserted made the test fail.

PTAL.
Updated first comment above to reflect what changes were required to get this to pass.


Fine-grained spill metrics

This PR fixes #8880. it removes task metrics

gpuSpillBlockTime
gpuReadSpillTime

and adds the following metrics instead:

gpuSpillToHostTime
gpuSpillToDiskTime
gpuReadSpillFromHostTime
gpuReadSpillFromDiskTime

Signed-off-by: Gera Shegalov<EMAIL_ADDRESS>

build

Updates look good, happy to see fewer metrics being added. Still wondering about host alloc time. Do we have a GPU alloc time metric or plans to add one?

I think there may have been some miscommunication here. Or at least I didn't do a good job of this.  In https://github.com/NVIDIA/spark-rapids/issues/8880 I asked for "metric for the amount of time a task was blocked on host memory allocation" This was intended to be analogous to gpuRetryBlockTime. But it was before we decided to use the same state machine for both. I will handle that part. I need to split up the metric so we can get GPU and CPU numbers for it. But it should be doable.

build

build


Translation for PR

https://github.com/flarum/core/pull/1035

Why do not use lowercases on Post, Discussion and Unaccounted? :)

@maelsoucaze That's the correct way to capitalize titles

That depends on who you ask ;)
I don't think we need title case for such a low-level heading. /cc @dcsjapan @tobscure

I agree with Franz. In the case of posts_missing_head and discussions_missing_head they're being used in the context of a sentence, so they should be lower case.

Closing this since its counterpart https://github.com/flarum/core/pull/1035 has been closed.


Path environment var are renamed every opening of Hyper.js

OS version and name: Windows 10 Professionnel 1709
Hyper.app version: Hyper 2.0.0-canary.16 (stable)
Link of a Gist with the contents of your .hyper.js: https://gist.github.com/sebastienschoepfer/cae0cc68f8dcd29add814c81d86df279

Issue
Hi all,
I'm facing a strange issue with Hyper. Everytime I open it, it renames my PATH environment variable and break all the char with an accent. Here is an example :
C:\Users\Sébastien\AppData\Roaming\npm
become
C:\Users\S?bastien\AppData\Local\Yarn\bin
How can I solve it ?
Thanks in advance for you help.

@sebastienschoepfer We're tracking this work over here (with workaround explained): #607
There is an outdated PR here: #605

@chabou Thanks you, the workaround provided on these posts are not possible for me as I'm using PowerShell.


future parser error with puppet 3.7.4

With both master and agent running puppet 3.7.4 and future parser enabled, I'm getting
Could not retrieve catalog from remote server: Error 400 on SERVER: Evaluation Error: Comparison of: String >= Integer, is not possible. Caused by 'A String is not comparable to a non String'. at /etc/puppet/environments/production/librarian/rsyslog/manifests/params.pp:82:42 on node ...

Looks like it's breaking on this line
      elsif $::operatingsystemmajrelease >= 7 {

Maybe use
      elsif versioncmp($::operatingsystemmajrelease, '7') > 0 {

instead?

This is fixed in master


List of suggestions for sources of hosts data Gambling (Indonesia)

List of suggestions for sources of hosts data Gambling (Indonesia)
https://raw.githubusercontent.com/alsyundawy/TrustPositif/main/judi-Sep23_20Feb2024.txt

Thank you for this @alsyundawy.
Let's use ghosts to assess what's there, compared to our base + gambling list:
ghosts -m g -c https://raw.githubusercontent.com/alsyundawy/TrustPositif/main/judi-Sep23_20Feb2024.txt
----------------------------------------
Base hosts file summary:
----------------------------------------
Location: https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling/hosts
Domains: 162,604
Bytes: 4.9 MB
----------------------------------------
Compared hosts file summary:
----------------------------------------
Location: https://raw.githubusercontent.com/alsyundawy/TrustPositif/main/judi-Sep23_20Feb2024.txt
Domains: 156,202
Bytes: 2.9 MB
Intersection: 55 domains

This fails basic credulity.
We have several gambling curators who've been doing this a very long time.
The suggested list comes in at 156,202 domains with only 55-domains overlapping. How is this possible, in any imaginable way?
The second problem is, our mission is providing hosts lists that are compatible with a wide range of devices. The principal problem is Windows OS which is a shitshow when it comes to hosts file handling.  In our experience here — see the issues — Windows OS can barely handle the list we have now.
Third problem is, search the list for sex or crypto or bitcoin and it's pretty clear this isn't just a gambling list.
Given the above, I must decline the suggestion. However thank you for suggesting it!
Closing.

i am engineer internet service provider from indonesia
indonesia have rules to bloking porn, scamming, copyright & gambling from indonesia Ministry of Communication and Informatics (Kementerian Komunikasi dan Informatika Republik Indonesia) kominfo.go.id. this list not for publik but for internet service provider only. they send daily list to all ISP via email, then make compilation then for you just gambling site online
https://prnt.sc/1BDFIiDzZKhC
https://prnt.sc/URdIgYVh1Z5x
you can check list https://trustpositif.kominfo.go.id/
https://prnt.sc/IOTww_OEit_b

switched source to https://raw.githubusercontent.com/alsyundawy/TrustPositif/main/gambling_indonesia.txt
update now with latest db


I got blank data after apply spread operator on createSelector result

I try to get updated data from createselector.
export const getFinalData = createSelector( getFirst ,
(first) => {
let subFirst = {...first.subfirst}
let updatedData = subFirst.value * 10
subFirst .subfirst =updatedData
return subFirst ;
},
)
but in
let subFirst = {...first.subfirst}
I got blank data. I don;t know what's wrong

The issue tracker here on GitHub is reserved for bug reports and feature requests. For usage questions (which is what I believe this is), please use Stack Overflow or Reactiflux where there are a lot more people ready to help you out. Thanks!


Data Science with Python : Tokenization & Lemmatization

Welcome to 'DSWP' Team, good to see you here
This issue will helps readers in gaining all the guidance that one needs to know about Tokenization & Lemmatization from scratch. Tutorial to Tokenization & Lemmatization and how it's applied using code snippets
To get assigned to this issue, add your serial numbers mentioned in the spreadsheet of "Data Science with Python", the approach one would follow and choice you prefer (Documentation, Audio, Video). You can go with all three or any number of options you're interested to work on.
If you had referred any resources, add them up in "DS Resources". Similarly if you had used datasets, include them in "DS Datasets".
Domain : Natural Language Processing
Mentors Assigned : Nithin / Shivang Dubey
Points to Note :
The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.
"Issue Title" and "PR Title should be the same. Include issue number along with it.
Changes should be made inside the Datascience_With_Python/ directory & Datascience_With_Python branch.
Follow Contributing Guidelines & Code of Conduct before start Contributing.
This issue is only for 'GWOC' contributors of 'DSWP' domain.
All the best. Enjoy your open source journey ahead. 😎

@prathimacode-hub I would like to work on the issue and I will explain the theoretical concepts and coding regarding it.
Type: Documentation
Sr.No: 146

Issue assigned to @Robinrai2612 for documentation

Hello, I am M. Ashish Reddy. I would like to do VIDEO on this issue.
Batch number: 5
serial number:174.

Issue is assigned to @ashish-reddy-20-08 for video contribution

@prathimacode-hub , Mam can you please review my PR.
PR link: https://github.com/girlscript/winter-of-contributing/pull/2521
Batch number: 5
serial number:174
Name: M. Ashish Reddy

Hello, I am Deepthi M with serial number:198, Batch-5. I would like to do video on this issue.
My approach: A detailed explanation of the theory.

Issue assigned to @deepthi1107 for audio contribution


feat(snippet): add support for multiple regions

Supports the specification of snippets using multiple region names. This is useful for constructing snippets using non-continuous chunks of code. Much like how we can already specify multiple line ranges like: <<< example.js{1,3,7-9}, we can now use multiple regions like so:
<<< example.js#regionA#regionB`

I'm a little unsure how to validate or update the snapshots.

Sorry for the long delay, but the snapshots is not what we are expecting （I think）


Node support 6+?

Is there any support on Node 5/6? I see it was recently added to the README that only 0.* versions are supported.
How stable would it be on 6.3?

resolve with version 1.0.0


How to get a list of all ontologies (title, URI, file) available on your service? (REST or data dump)

Hello,
I would like to get a list of all ontologies available on your service. I mean the ones which I can browse at https://www.ebi.ac.uk/ols4/ontologies. I couldn't find an appropriate method in the Swagger documentation (https://www.ebi.ac.uk/ols4/swagger-ui/index.html#/). I might have overlooked it.
To show you what I mean, here is an example in Linked Open Vocabularies: they provide a list of their ontologies/vocabularies via the REST API (https://lov.linkeddata.es/dataset/lov/api/v2/vocabulary/list). Besides, there is also a data dump available (https://lov.linkeddata.es/dataset/lov/sparql, look top right).
My current workaround would be to go through each page of https://www.ebi.ac.uk/ols4/ontologies?rowsPerPage=100 and scrape these information by parsing the page HTML.
Thanks for your reply.

Hi, you can use this API endpoint: http://ebi.ac.uk/ols4/api/ontologies

Hi @k00ni , as @jamesamcl mentioned you can use our API to get the list of all available ontologies in ols. We'll be adding this to our swagger doc soon as well :)

Thank you very much for the quick response. I will look into that.


Upgrade dependencies

Some types had to be relaxed due to assumptions in the code.
Change-type: major
Signed-off-by: Carol Schulze<EMAIL_ADDRESS>

@karaxuna @LucianBuzzo seeing two errors I'm not sure how to solve:

lib/Link/Link.tsx

Line 25: Property 'location' does not exist on type 'Readonly & Readonly<{ children?: ReactNode; }>'.
Line 44: Property 'history' does not exist on type 'Readonly & Readonly<{ children?: ReactNode; }>'.

lib/services/helpers.ts:

Line 602: Type 'any' is not assignable to type 'never'.

@Ereski I'll take a look


fix(generate): fix style and template url references

Dynamic paths for components were incorrectly generating paths for templates and styles
Fixes #340

Please add a test for this.

2 nits, but LGTM. Stamping this. Good work! :)

Thanks @hansl nits have been handled/updated


Strange behaviour in Firefox

I setup this great script to one web and i get into troubles, I have cookie PHPSESSID which is set as HttpOnly. But in firefox sometimes this value is overwrited (only in firefox), when i call
var cc = initCookieConsent();

it sometimes leads to change value of cookie (dumping out PHPSESSID on server side value vs, but in developer bar is random value)
Does anyone have the same problem?

@blondak,
you can't access an httpOnly cookie via javascript so I don't see how the plugin can be the culprit.
I tried setting up a local web server with xampp (php 8.1) and session cookie set as httpOnly but I can't reproduce this issue (using latest version of firefox).

I know, that's the reason, why I'm asking here, if someone facing same (or similar) problem. I have no idea how it happens. I will try make minimal "defective" environment.

I looks, that issue happens only with HTTP/2 push,...


Please invite me to the Recode-Hive GitHub Community Organization

Name
Shashivadan
Discord Username (if applicable)
Shashivadan
Additional Context
No response

Invitation sent to join the GitHub Organisation. Welcome to the community 🎉
Don't forget after accepting to make it public so it appears on your GitHub profile for everyone else to see. You can do this by finding your name in the GitHub organisation list and change the dropdown to public https://github.com/orgs/recodehive/people


chore!: adopt log/slog, remove go-kit/log

The bulk of this PR was automated with a sed script that prometheus
folks are working on/using to help convert exporters:
https://gist.github.com/tjhop/49f96fb7ebbe55b12deee0b0312d8434
Signed-off-by: TJ Hoplock<EMAIL_ADDRESS>

cc: @superq testing on my own project and the only manual changes I needed to make were adjustments to bare logger.Error(err) statements, which caused linters to get complain, so I decorated them a bit with better log messages and embedding the err as a keyval instead of using it directly as the message.


Local tests do no stop on error

If machine fails to start during make test the tests show the error and then try to start the next machine.
The desired behavior is to fail on the first error.
The possible solution is
- vagrant up $$i || exit 1; \
+ vagrant up $$i; \

@VladimirNovgorodov can this issue be closed after your PR is merged?

@phahulin
Yes, we can close this now.


ToName and FromName are optional for sendGrid calls.

When you only have an email address, you can get around the issue with putting the email in the ToName as well.
but if you could remove the requirements for both, that would be best.

The toName and FromName are no longer mandatory. The new version has been pushed to the PowerShell gallery and can be installed with Update-Module PSSendGrid
Thank you for your feedback!


#1186: Revendor apitools as 'gcloud._apitools'

Towards #1186.
Subsequent work to include:

From-scratch unit test coverage -> 100%.
Renamings to match coding standards.
Full lint compliance.
Folding in the current gcloud.storage.batch implementation.

I'll try to get to these tonight if I can spare a few minutes. I'm 100% occupied during the day (9am-6pm).

No worries.  This is slog-work, and I've got at least four more hours of it today (coverage for the gcloud._apitools.transfer module).  Then cleanups, etc. are likely to keep me busy all week.

"Scrape in six used modules from apitools." brought them in with no changes?

LGTM assuming the answer to my question above is yes

d60a679 really did just copy them in.  The remaining commits are the minimum to get the code usable / used within gcloud.storage:

e4ab851 rewrites imports from apitools.base.py -> gcloud._apitools.
d2e4f99 updates gcloud.storage to use the forked code.
b8b2766 and ad1ab44 turn off coverage / lint on the forked code until we get done with cleanups.


Possible passport-twitter issue

I ran into an issue where my Twitter sessions would not be destroyed/my Twitter users would not be logged out after signing in to play.  This could have been due to res.redirect('/'); firing before req.logout(); finishes in server.js.
My workaround was to either replace
app.get('/login/twitter',passport.authenticate('twitter'));
with
app.get('/login/twitter',passport.authenticate('twitter', { forceLogin: true }));
or replace
app.get('/login/twitter/return',
  passport.authenticate('twitter', { failureRedirect: '/' }),
  function(req, res) {
    req.logout();
    res.redirect('/');
});
with
app.get('/login/twitter/return',
  passport.authenticate('twitter', { failureRedirect: '/' }),
  function(req, res) {
    req.session.destroy(); //is this bad practice?
    res.redirect('/');
  });

We typically do browsers in incognito mode for this, but adding in your forceLogin fix!


Add option to keep existing avds

Closes #41 (@yunikkk, @artem-zinnatullin)
When starting 4 emulators on my development machine, this change cut the boot-up time of the emulators in half (from ~55 sec down to ~25 sec). When using snapshots, it went down even further (~12 sec).

Please update the readme with new params, otherwise LGTM
cc @yunikkk PTAL

Updated README

@artem-zinnatullin yup


the number of negative instances？

HI，anybody can tell me why you just select 4 negative instances, i think it is a too small proportion. is there any influence in training？thanks！！！
'--num_neg', type=int, default=4

In 'neural collaborative filtering' paper (https://www.comp.nus.edu.sg/~xiangnan/papers/ncf.pdf),
there are graph about number of negatives.
4 negatives instances showed good result and as my experience, when you select 10 or 20 neg, too many computation (I'm using Tesla V100 GPU)
On my dataset, neg 6 show best performance. I think you should tune on your dataset. :)

oh sorry! i make a mistake,the mean of code is one positive instance for 4 negative instances. i consider all positive and 4 negative before.thanks a lot!!!

@fjz15056311771  good luck :)

Hi kyung-wook! sorry for disturb you again, i have a little problem about the way of  getting negative sample,you know in Matrix factorization，they don't use unobserved sample to update matrix. they just use confirmed relationship between user and item,i am confused that whether it is reasonable use random way to get negative sample(unobserved just means don't know whether they have relation ),can you explain it or give me some paper for it? thanks !!!

@kyung-wook thanks!! i think BPR loss solve my confusion.


JSDoc documentation for interface members does not show in tooltips for properties on anonymous objects that are typed to those interfaces

TypeScript Version:  2.5.2
Code
interface IMyInterface
{
    /**
     * my property a
     */
    a: string;
}

let o: IMyInterface = { a: "xyz" };

Expected behavior:
When hovering over the property a in the anonymous object, I would expect to see the documentation
for interface IMyInterface property a.
Actual behavior:
tooltip shows only "(property) a : string"

Is it this an issue with the editor you're using ? not typescript itself

Should be fixed in latest.
If you are using VSCode, it ships with an older version of TypeScript. Please see Using Newer TypeScript Versions documentation for more details on updating your VSCode to use a different version of TypeScript.


Add fp-dynamic-fee crate

waiting for #617 to be merged firstly

@sorpaas PTAL, I want to properly extract the common parts of the pallet into primitives so that only the runtime needs to depend on the pallets

@sorpaas PTAL

@sorpaas could you merge this PR? I don't wanna resolve conflicts repeatly.


WIFI-13385: Fix DFS usage during csa

We noticed two issues with DFS usage:

can not use DFS channels with ubus channel switch command:

ubus call hostapd.wlan0 switch_chan '{"freq":5260,"bcn_count":10}'
Command failed: Operation not supported

invalid opclass during channel switch with DFS channels (the same issue with hostap upstream):

"Could not convert op_class 124 channel 108 to operating frequency"

Hi,
Crated PR but not sure what is the current process with hostap patches. Should first send patch to hostap community or we can do that later?

Changes were merged and reverted from master due to build issue for 3 profiles. Fixed it and run the build:
https://github.com/Telecominfraproject/wlan-ap/actions/runs/8709189657
Please review once again.

PR updated, added patches to ipq807x_v5.4

merged, Thanks !


PurgeTSS docs for Alloy integration

Here are the docs for this PR
I integrated all docs from https://github.com/macCesar/purgeTSS, extended and changed to follow our doc guidelines.
This PR may not be approved until this PR is completely merged

wouldn't it be better to link to https://github.com/macCesar/purgeTSS/releases in "whats new" and not include all the changelogs into titanium-docs? Otherwise we always have to create a new page when purgetss gets an update

Agree with @m1ga, let's keep PurgeTSS release notes in PurgeTSS repo.

wouldn't it be better to link to https://github.com/macCesar/purgeTSS/releases in "whats new" and not include all the changelogs into titanium-docs? Otherwise we always have to create a new page when purgetss gets an update

Yes. It' so much less work.

removed nearly all readme in favor of official https://purgetss.com/ docs

I've finished this PR. It's ready to merge as alloy 2.0.0 is released


Add config to show/hide the YouTube channel icon

Added config items to be able to hide or show the channel icon from the config file. Defaults to true.

@jbishop129 - thanks for the pull request.
Could you re-submit the pull request to the develop branch and also update the README.md and CHANGELOG.md files with details about the new the configuration option?
Thanks
Ian

Sure thing! I'll close this one out


ESM .min.js

This is a change by @castastrophe, extracted from the #334 branch.  It causes the ESM builds to generate two files, pfe-foo.js is unminified ESM and pfe-foo.min.js is minified ESM.

Sourcemaps for non-minified files are now working (mapping foo.js → src/foo.js) but minified sourcemaps are not (mapping foo.min.js  → foo.js  → src/foo.js).

One problem is that the minified files are importing non-minified files.
For example, pfe-avatar.min.js is importing  ../pfelement/pfelement.js but it needs to import ../pfelement/pfelement.min.js.  We do a similar transform in the gulpfile merge task when generating the umd.js files.

@mwcz Do you want to make the update on the importing of non-minified files to fix the sourcemaps in this branch?  Or would you prefer to make that update in a separate branch?

I'd like to fix both importing min.js and sourcemaps in this branch.  I'll try to tackle that today.

This is done and ready for review!

Yeah, those should be there.  Those are the sourcemaps, without them we can't debug.  If they are ever missing, raise the alarm!

Yeah, I knew they were sourcemaps, just didn't realize we needed one for every format we compile.  Makes sense though.  Yay for file explosion.  Perhaps another potential argument for a dist/compiled directory :)

Pending travis, this is 👍


E2529 error with multiple AWS::Logs::SubscriptionFilter resources.

cfn-lint version: 0.38.0
E2529 error with multiple AWS::Logs::SubscriptionFilter resources.
I have a CloudFormation template (using AWS SAM) that has multiple SubscriptionFilters. These SubscriptionFilters have the same LogGroupName, which causes an E2529 error despite these filters having separate FilterPatterns. The template passes the aws cloudformation validate-template command.
src/cfnlint/rules/resources/lmbd/EventsLogGroupName.py
  MainFunctionLogGroup:
    Type: AWS::Logs::LogGroup
    Properties:
      RetentionInDays: 14
      LogGroupName: !Join ["", [/aws/lambda/, !Ref MainFunction]]

  MainFunctionLogFilter:
    Type: AWS::Logs::SubscriptionFilter
    Properties:
      DestinationArn: !Ref LogIngestionARN
      FilterPattern: "FilterPattern1"
      LogGroupName: !Ref MainFunctionLogGroup

  SecondaryLogFilter:
    Type: AWS::Logs::SubscriptionFilter
    Properties:
      DestinationArn: !Ref LogIngestionARN
      FilterPattern: "FilterPattern2"
      LogGroupName: !Ref MainFunctionLogGroup

Few things here.

aws cloudformation validate-template isn't detailed enough to catch this error.  I'm assuming this template deploys correctly?  That is the most important thing.
It looks like the limit for Subscription Filters has increased to 2 from 1. See current docs and what is in the docs repo.

The error message for this rule isn't well written.  It has to do with Serverless but also applies to any SubscriptionFilter so it should be cleaned up.  Additionally I believe this rule is testing the limits of SubscriptionFilters which has been changed so we need to change this rule to the new standard..


Make skip value in ByteArrayDecoderDictionary avoid decoding

Possibly something for a follow up PR, but it would be nice if we could avoid decoding values only to dump them on the floor
Originally posted by @tustvold in https://github.com/apache/arrow-rs/pull/2076#discussion_r922305417

I think a lot of this has been implemented by @thinkharderdev in #2089 🎉


Release Google.Cloud.DiscoveryEngine.V1Beta version 1.0.0-beta03

Changes in this release:
New features

Add additional resource path with collections (commit 923b23d)
Document schema id is no longer required (commit 923b23d)

Documentation improvements

Keep the API doc up-to-date with recent changes (commit 923b23d)

Created release for Google.Cloud.DiscoveryEngine.V1Beta-1.0.0-beta03


Fix Pattern Lab Twig Lineages When Using D8-Friendly Twig Paths (Part 2 of 2)

Placeholder issue for the other half of work relating to https://github.com/drupal-pattern-lab/patternengine-php-twig/pull/1 per chat with @EvanLovely. FWIW, the PHP updates involved with this should be fully backwards compatible based on testing I've done so this should hopefully be a quick win for us.
Just need to get the PR in so we can fix lineages!

Closing this out since the work for this was merged in the referenced PR last month!


IPC method using file-backed shared memory

I'd like to pick up on a suggestion for sharing counters with other processes by Luke in the thread
https://groups.google.com/d/msg/snabb-devel/-Ka_gPfd88k/tL0wTqxcizcJ
I commented back then that I was thinking about something like that to implement an interface to a SNMP agent. I have done this by generalzing Luke's code from https://github.com/lukego/snabbswitch/blob/counter/src/core/counter.lua
I think that this (or something similar) might be worth adding to the Snabb core.
The "mib" subclass supports all basic SMIv2 types.  And, yes, I have working code for my VPN app and a SNMP sub-agent (written in Perl) that allows me to monitor my system with our standard monitoring system via SNMP (based on Nagios). I'm really pleased with that :)
I have also implemented Luke's "counter" module on top of it, which is a trivial extension of the shmem base class. The difference to his code, apart from using uint64 instead of double (open for discussion), is that he pre-allocates a memory region of a certain size and falls back to heap memory when it is exhausted, while my code starts with a zero-length mapping and extends it when new objects are registered. It will fail hard (assert)  when the underlying mmap() fails or there is a problem with the data or index file. Registering is expected to not be used in the fast path.
I suggest to put this under lib/ipc/shmem in anticipation of other IPC mechanisms that we may add in the future. But I don't have a strong opinion about where to put it.

Darn, the procedural interface of counter.lua is broken.  Need to fix that before merging.

This looks completely awesome :-)

futex(7) could just be what we need in this case. With a futex, there is no system call overhead in the uncontended case, which I assume will be, by far, the common case. I would suggest to use one futex per shared segment, but it would be easy to do that on a per-element basis as well.

I am a little scared of locks and especially fine-grained locks. The model we have now keeps the traffic process independent of the monitoring tools. Locks would allow the monitors to screw up the traffic.
How about if:

Traffic process is independent of monitoring tools (never knows if they are running or not).
Monitoring tools can always access counters instantly.
Monitoring tools see a consistent snapshot that is refresh only when they want.

That would be a great solution for our current use cases, right?
This could be done via the filesystem. The traffic process updates counters in its own private address space and then periodically writes snapshots to the filesystem (e.g. ramdisk). Each snapshot atomically replaces the old one (mv counter.dat.new counter.dat). Monitoring tools open a counter.dat snapshot at any time and can read it for as long as they want. Monitoring tools refresh counters by closing the file descriptor they have and opening the latest file (on the same filename).
What do you think?

One could safeguard against a lockup caused by a faulty monitor by using a timeout for the FUTEX_WAIT operation and deactivate locking in the traffic process when this happens. But, yes, this could get a bit complicated.
What frequency for snapshots do you have in mind?  On my routers, I like to be able to see counter updates in near real-time when I'm logged in and looking at things. For the purpose of graphing with the standard 5 minute intervals, you could obviously tolerate a much bigger lag. For my SNMP data, I'd like to have near real-time data again, e.g. for the operational status of my VPN tunnels, even though most of the data is static. In any case, I see demand for fairly short snapshot intervals and this is probably a problem.

I'd shoot for a 1ms update interval, and settle for 10ms or 100ms if that turned out to make a difference.
To write a snapshot should be quite fast: open(), write(), close() link(). This is comparable to the work that Apache does to serve a HTTP request.

NB: I suppose I mean rename() rather than link().

Ok, that would certainly be sufficient :) I would have guessed that the performance impact would be more severe. Still, it looks a tad excessive to me...
Here's a crazy idea: let's declare the interface to not guarantee consistency of data for the consumer. The hypothesis here is that such events are very rare (are they?). The consumer can chose to accept this or implement checks that reduce the likelihood of accepting wrong data, e.g. reading the same object twice or comparing it with previous data to spot "outliers".  Too crazy?

FYI: Quick benchmark suggests that the stat file on tmpfs can be rewritten around 100K times per second. That is 100us mean time and with uncertain variance. That seems a little too expensive to do on the thread that is processing packets, and to introduce a background thread seems excessively complex.
Here is the test for posterity anyway:
luke@interlaken:~$ cat filetest.c
#include <assert.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>

#ifndef RUNS
#  define RUNS 10000
#endif

#ifndef BYTES
#  define BYTES 8192
#endif

int main(int argc, char **argv) {
  int i;
  char *data;
  data = (char*)malloc(BYTES);
  assert(data != NULL);
  for (i = 0; i < RUNS; i++) {
    int fd;
    fd = open("/tmp/stat.new", O_CREAT|O_WRONLY);
    assert(fd >= 0);
    assert(write(fd, data, BYTES) == BYTES);
    close(fd);
    assert(rename("/tmp/stat.new", "/tmp/stat") == 0);
  }
}
luke@interlaken:~$ gcc -o filetest filetest.c && sudo time ./filetest
0.02user 0.49system 0:01.02elapsed 50%CPU (0avgtext+0avgdata 460maxresident)k
0inputs+160000outputs (0major+155minor)pagefaults 0swaps

Here is another idea based on Javier's double-buffer-with-counter idea above:

Counter file has a uint64_t serialno field initialised to 0.
Traffic process uses a double-buffer: writes counters in private memory and periodically syncs to shared memory with memcpy().
Sync is in three steps: increment serial number; memcpy; increment serial number.

The consumer can then choose to do either a simple non-atomic read or a more complex atomic read.
atomic read algorithm:

Wait until serial number is even. (No update in progress.)
Read value(s).
Check if serial number is the same: if yes then success, if no then -EAGAIN.

If none of these schemes really seems ideal than I would agree that it is better to keep it simple and forget about atomic reads for now :).

ARGH!
Who knew that /tmp is not mounted on tmpfs on ubuntu? The measurement of 100us update time above is for a normal file system on a spinning disk.
Testing on /run/ instead (which is tmpfs) looks much nicer: I can do 150K updates in one second i.e. 6.7us per update. That sounds like something that one could realistically do e.g. once every 10ms.
Let me humbly repurpose that solution for your consideration :-)

Correct me if I'm wrong, but the double-buffer method you describe can't guarantee atomicity without using a true atomic test-and-set operation, can it? Still not sure how far we should take this.

I confess that I have gotten carried away :-).
How about if we keep the code as you have it without having atomic reads of compound datatypes if you don't need that.
If we need atomic reads in the future we have a plausible simple solution with tmpfs snapshot files.

Correct me if I'm wrong, but the double-buffer method you describe can't guarantee atomicity without using a true atomic test-and-set operation, can it? Still not sure how far we should take this.

AFAIK, test-and-set are critical to arbitrate between two or more writers.  If the writer/reader roles are well-defined, consistency checks (like Luke's proposal) can be enough.
In double-buffer techniques (like the one described in LMDB docs) you only need to guarantee that the 'guard' value (current index or version counter) is modified last, as seen by every party.  I've read somewhere that even if x86 CPUs have heavy instruction reordering, memory writes are guaranteed to be in-order.  But I don't really trust that kind of affirmations without some spec definitions, so it might be better to add some kind of memory barrier.  OTOH, most of the non-flush memory barrier primitives in GCC are NOPs in x86.

Ack.  I see different use cases with respect to requirements (perfect vs "probabilistic" integrity) as well as access models (pure reader/writer vs mixed access).
I would classify my SNMP case as a pure reader/writer (producer only writes, consumer only reads) where probabilistic integrity is good enough (most data is static, writes are rare and reads infrequent, e.g. seconds or minutes apart). Couners for traffic statistics appear similar to me.
An example for a pure reader/write with a requirement for perfect integrity would be, for example, if we used a separate Snabb process to manage the ARP/neighbor cache and have traffic-forwarding processes performing lookups in these tables.
We might end up with different arbitration schemes and leave it up to the apps to chose on, including the option to use none.

Merged. Even if there is an issue with the counter interface we can fix that when we add code that uses it.

On Wed, Feb 4, 2015 at 7:13 AM, Luke Gorrie<EMAIL_ADDRESS>wrote:

Merged. Even if there is an issue with the counter interface we can fix that when we add code that uses it.

Ok. I'll probably suggest a change for the result of the register()
method, which is useless (and misleading) as it is now.


Error while generate results document

After the cdmOnboarding execution is completed, the results document is not generated.
The following error is encountered:
Colud not generate results document: Error in UseMethod("mutate"): no applicable method for 'mutate' applied to an object of class "NULL".
The code executed is the default code recommended within this repository.
The error is found in both version 2.2 and version 2.1.

Thanks for reporting. Is there any other error thrown before this one? It seems one dataframe is empty, which might be caused by one of the queries failing.

The only error we were able to detect while running the package is the following:
2023-10-25 08:02:51 [Main thread] ERROR CdmOnboarding 3 Could not connect to the WebAPI on 'example: 'http://localhost:8080/WebAPI/info' --> with WebAPI running': Error in curl::curl_fetch_memory(url, handle = handle): URL using bad/illegal format or missing URL .
All other queries are executed successfully.
We use webapi via Docker container.
The same error was thrown by running the CdmInspection package, but in that case the document was still generated.

If the .rds file has been created, it would be best to debug from there. Please contact me directly (m.moinat [at] darwin-eu.org).


Html tag includes in the text area

Description and repro
chatgpt.com textarea.
There are lots of html tags include in neovim.

Browser(s) tried
chrome
Editor(s) tried
neovim

Yes that’s by design. The field is not a raw textarea but it contains HTML


Misleading error message on trying to write to read-only file

Steps to reproduce:

Create an example.robot with

*** Test Cases ***
Test
   log    Hello World

Set the file to read-only in your file system.

Run

robotidy --transform RenameKeywords example.robot

which would ordinarily change the file.
You will get the error

Failed to decode example.robot. Default supported encoding by Robot Framework is UTF-8. Skipping file

However, the DataError caused here is not at all related to encoding. This is confusing.

When reading the model using Robot Framework internal API, we're catching and reraising any DataError with overwritten error message. In your particular case we overwrote the error regarding invalid permissions. I will update the behaviour so the error message is not overwritten.


tearDown: complain noisily if used without done callback

The tearDown method now needs a done callback, but it is not obvious to developers when that callback is missing, as it causes the following test to fail.

/cc @jpommerening FYI

Implemented on master (v2.0.0).
Upgrade Information
If axMocks.tearDown is called without a done callback, a warning is now logged to the console.


What are the search URLs in the .csv for? All seem to go to 404.

Title says it all. The csv was recently updated, so odd that dead links are a big part of it. E.g.
http://www.metmuseum.org/art/collection/search/48,8/12/2019

I wonder why isn't there an obvious way to get the images.

Looks like a parsing issue.  The metadatadate field is getting concatentated with the URL.
Here's how it should look:

Currently, our images are only available via our API:
https://metmuseum.github.io/


Add null check for some Cli features

Just noticed that one of the features had a null check but no tests associated. And that there was another feature that did not have that null check so added that with an associated check.

 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: Jon-Kjar sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Realized I created this branch from the origin/main instead of the development branch. Redoing


Fix/builds

This PR pulls out the Keystore from Log to reduce the build size.
Build + examples + benchmarks updated
Resolves #161

dist/ipfslog.min.js 36.5 KB

🎉 ❤

Looks good to me to merge 👍


Fix date of 0.3.0-alpha.18 release

I know this crate is called futures but this still confused me

#1794

Thanks for the fix!


Cannot find vtt.py file

Thank you for sharing the code. But I cannot find vtt.py file to convert json to vtt file. Any idea?

You are right, I don't see a vtt.py either. Let me look around and see if we have it in an internal repo.


Add dns_name of the target to the labels of metrics added to prometheus-k8s via cos-proxy

Enhancement Proposal
The legacy charm promtheus2  add a label "dns_name" [0] which is used by many dashboards to correlate metrics from different targets. This label is missing when adding targets to prometheus-k8s via cos-proxy breaking the existing dashboards. It would be good if this label can be added by cos-proxy as well to ensure compatibility with existing dashboards.

https://git.launchpad.net/charm-prometheus2/tree/src/reactive/prometheus.py#n722

This is theoretically possible, but is liable to be unstable/unreliable. There is no meaningful way that we can ensure that the DNS resolver inside k8s for COS in an external model (and hopefully external controller/host) will be able to perform a successful DNS lookup on any given hostname.
Instead, if you can give an example dashboard, we're better off culling it out, and waiting for the grafana-agent machine charm to be available, which will be able to be deployed on the edge (like cos-proxy) and do this. Arbitrarily, the Prometheus static_config block probably could look this up and set it as a label, but I'd love to see an example of a dashboard where it's used. @simskij thoughts?

@rbarry82 I understand the challenge, but if cos-proxy won't provide a way to transparently reuse the existing features of the legacy LMA, it feels like it is failing to achieve its purpose and we will need to rewrite dashboards and exporters instead of using cos-proxy.
An example of dashboards using it are the ones provided by the prometheus-openstack-exporter charm [0] that mix together in two dashboards data from prometheus-openstack-exporter, prometheus-libvirt-exporter and telegraf, and to do so use the dns_name to correlate the metrics.

https://git.launchpad.net/charm-prometheus-openstack-exporter/tree/src/templates/grafana-dashboards

@rbarry82 I understand the challenge, but if cos-proxy won't provide a way to transparently reuse the existing features of the legacy LMA, it feels like it is failing to achieve its purpose and we will need to rewrite dashboards and exporters instead of using cos-proxy.

The goal of cos-proxy is not to transparently re-use all the existing features of the existing LMA. There are some which we will never add. For example, having pre-baked dashboards for some services which are generated on-demand by literally querying Prometheus to discover whether it knows about those metrics.
Similarly, a better workaround here would simply be for cos-proxy to edit the dashboard JSON before forwarding it and replace dns_name with host, or have another relabel config which keeps instance and substitute that in the dashboards.
The purpose of cos-proxy is to do those kinds of transformations so can be continued to be used, as similarly as possible, until, yes, dashboards and exporters are rewritten.
Very simply, doing a DNS lookup from something which could be a cross-model relation (and we have no real way to detect or stop that) could result in almost any behavior. If a charm is providing a dashboard which expects a "valid" dns_name to actually perform that step (and provide a resolved label value) itself rather than inverting control. Eventually, rewriting dashboards and exporters will actually be needed to perform operations exactly as the one you're describing. We are happy to help do so, and provide workarounds in the meantime, but the workarounds will be just that -- some of them will not be 1:1 re-implementations of the way legacy LMA charms do things.

Examples of dashboards using dns_name are the ones provided by the prometheus-openstack-exporter charm [0] that mix together in two dashboards data from prometheus-openstack-exporter, prometheus-libvirt-exporter and telegraf, and to do so use the dns_name to correlate the metrics.

https://git.launchpad.net/charm-prometheus-openstack-exporter/tree/src/templates/grafana-dashboards

Based on these queries, either of the options above (rewriting the dashboard to use host, though that's used in many dashboards, so a different relabeling may be desired) are sustainable, maintainable stopgaps. Do you have a preference?

Very simply, doing a DNS lookup from something which could be a cross-model relation (and we have no real way to detect or stop that) could result in almost any behavior.

FTR prometheus2 is usually deployed in a separate lma model compared to where the metrics sources are located, so it is already the case that those dns_lookups could return pretty much anything. It's not a great solution and we should move away from it; at the same time I see cos-proxy in itself as a stopgap solution, only meant to enable a gradual transition from the legacy LMA stack to the COS. Once everything will have been rewritten we will no longer need cos-proxy and we'll be able to deprecate it. As such, I feel that pragmatic imperfect workarounds are ok in the cos-proxy charm.
I'll let Giuseppe comment on which relabeling workaround would be most appropriate. I will be happy with anything that lets us move to the COS sooner.

That's sort-of the concern with adding it -- that it could return pretty much anything. And while cos-proxy may be able to be deprecated for some use cases, there may be other users down the line who are... less happy with compromises which yield unpredictable behavior (like dns_name not actually being a DNS name).
There's already enough confusion about "why can't I establish a cross-mode/cross-controller relation to one inside microk8s" (bootstrapping with public-dns-address=... and/or controller-external-ips=... is non-obvious), and "ok, we'll relabel this or mangle the field in the dashboard so it keeps working, but it won't actually be DNS with all of the caveats around lookups that implies".
Sure, in the long run, targets should set this label themselves. And in the short term, we absolutely will provide a workaround. I just wanted to be clear that it would be a workaround (and not trying DNS lookups ourselves), and that some of the "other" functionality of legacy LMA (pre-baked dashboards in Grafana) will probably never be supported either.
As with this, we're happy to provide or help with bridge/stopgap solutions, just trying to steer clear of Hyrum's Law.

Closed as part of #31


Enable single return statement type inference in slow types

Isolated declarations now allows this: https://www.typescriptlang.org/play/?isolatedDeclarations=true&ts=5.5.0-beta#code/KYDwDg9gTgLgBAMwK4DsDGMCWEVwIYDOAJgBQCUcA3gFBx1xTAxJS4CMA3NQL5A

Don't we already do this?

No, only for arrow functions


Forms and input components updates

Per #27490 ...

The paragraph below should not jump into data annotations yet. The reader may have zero knowledge of those concepts at this point and they came here to learn about forms. So let's start from forms.

I add a non-DA example (but maintain the model) prior to the DA-based example.
An early, simple DA example is present for the following reasons ...

Data annotations are perhaps 15 years old now, integral to most real-world scenarios, conceptually simple, and cross-linked at first mention to our main doc set for those who aren't familiar with them.

It doesn't go farther than just a [Required] and [StringLength(...)] at that point. The topic uses DA extensively in the latter example at ...
https://learn.microsoft.com/en-us/aspnet/core/blazor/forms-and-input-components?view=aspnetcore-7.0#example-form
I think we should keep the simple example prior to reaching that advanced example because plunging the reader directly into the advanced example could be painful 😬 for new-to-.NET and new-to-dev readers. The simple example is meant to ease the reader into basic DA/validation concepts.

Thanks @guardrex.
I've made few suggestions to tweak the working a little bit. The rest look good.

@mkArtakMSFT ... See my two revisions :point_up: for final approval. If those look good, I'll commit them and merge the PR.


Problem requesting permission: Bluetooth Connect

Ooh, this seems like a nifty thing for a couple of my audio devices (one of which has the delayed wake-up issue, the other of which needs paired from scratch every time it powers on AND likes to power itself off after being paused for a minute or so). But I get this error when I hit the gear icon, on a Nokia 6.1 (2018) running Android 10.

Sorry to hear this. There were some recent changes for newer Android versions, and I may have messed something up!
Do you know what the error says exactly?
If you tap and hold the launcher icon, then go to the app information (possibly an ⓘ icon) then Permissions and allow the Bluetooth permission manually -- does this work around the issue?

Oh, I should have mentioned that: it's not requesting any permissions (so it's grayed out and I can't even allow it manually).

I'm having the same issue as well, I'm on Android 11. I also tried to go manually allow the permission, but the app has not requested any.

Ok, I think this is fixed in the latest release 1.5 -- please try that APK directly if possible.  (Otherwise, I believe F-Droid should eventually auto-update off the repo tag.)

F-Droid has now updated the build there too (to v1.5):

F-Droid - Speaker

...please let me know if that version (or this repo's release APKs) fix the issue for you.

That seems to do it, thanks!

Great! Thanks for getting back to me, and I'm glad it's working now.
@LawsonJohnson let me know if the new version is not working for you, and I'll reopen the issue.


Feature Request: Add Menu Button to use Hexen, Heretic, Chex Quest in lzdoom

ArkOS 1.5 (latest version) -> lzdoom
I've tested lzdoom with Hexen, Heretic and Chex Quest and the games run fine, but there is no button to get
back to the game's menu, so one has to reset the RG351p.
Maybe it's possible to add a config or a button layout, so that we can enjoy these games as a bonus.

Any chance we get a config for these games before Xmas?
Just asking. ;)

I need to understand the request a little better.  Is it that once you start one of these games, there's no menu exit option like there is with Doom?

Exactly. There is no button defined to get into the games' menu. So you are not able to quit back to ArkOS or change settings in a game.

This has been accommodated in today's update.


GenericForeignKey support

Added support for GenericForeignKey fields from django.contrib.contenttypes.generic

Do you have a test case for this that can ensure it works properly?

I've opened a ticket for this enhancement: http://dev.pyamf.org/ticket/849

This is stale - closing for now.


Server doesn't connect in WSL

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.90.0-insider
OS Version: Microsoft Windows 11 Pro 10.0.22631 N/A Build 22631

Steps to Reproduce:

Try to open VSC in WSL
Server fails to connect

Logs from running VSCODE_WSL_DEBUG_INFO=true code-insiders
+ COMMIT=60468916e48fe8293e7641f0fc4ada80d79117b3
+ APP_NAME=code-insiders
+ QUALITY=insider
+ NAME=Code - Insiders
+ SERVERDATAFOLDER=.vscode-server-insiders
+ realpath /mnt/c/Users/user/AppData/Local/Programs/Microsoft VS Code Insiders/bin/code-insiders
+ dirname /mnt/c/Users/user/AppData/Local/Programs/Microsoft VS Code Insiders/bin/code-insiders
+ dirname /mnt/c/Users/user/AppData/Local/Programs/Microsoft VS Code Insiders/bin
+ VSCODE_PATH=/mnt/c/Users/user/AppData/Local/Programs/Microsoft VS Code Insiders
+ ELECTRON=/mnt/c/Users/user/AppData/Local/Programs/Microsoft VS Code Insiders/Code - Insiders.exe
+ IN_WSL=false
+ [ -n Ubuntu ]
+ IN_WSL=true
+ [ true = true ]
+ export WSLENV=ELECTRON_RUN_AS_NODE/w:WT_SESSION:WT_PROFILE_ID:
+ wslpath -m /mnt/c/Users/user/AppData/Local/Programs/Microsoft VS Code Insiders/resources/app/out/cli.js
+ CLI=C:/Users/user/AppData/Local/Programs/Microsoft VS Code Insiders/resources/app/out/cli.js
+ WSL_EXT_ID=ms-vscode-remote.remote-wsl
+ ELECTRON_RUN_AS_NODE=1 /mnt/c/Users/user/AppData/Local/Programs/Microsoft VS Code Insiders/Code - Insiders.exe C:/Users/user/AppData/Local/Programs/Microsoft VS Code Insiders/resources/app/out/cli.js --locate-extension ms-vscode-remote.remote-wsl
+ cat /tmp/remote-wsl-loc.txt
+ WSL_EXT_WLOC=c:\Users\user\.vscode-insiders\extensions\ms-vscode-remote.remote-wsl-0.88.2
+ [ -n c:\Users\user\.vscode-insiders\extensions\ms-vscode-remote.remote-wsl-0.88.2 ]
+ wslpath -u c:\Users\user\.vscode-insiders\extensions\ms-vscode-remote.remote-wsl-0.88.2
+ WSL_CODE=/mnt/c/Users/user/.vscode-insiders/extensions/ms-vscode-remote.remote-wsl-0.88.2/scripts/wslCode.sh
+ /mnt/c/Users/user/.vscode-insiders/extensions/ms-vscode-remote.remote-wsl-0.88.2/scripts/wslCode.sh 60468916e48fe8293e7641f0fc4ada80d79117b3 insider /mnt/c/Users/user/AppData/Local/Programs/Microsoft VS Code Insiders/Code - Insiders.exe code-insiders .vscode-server-insiders
+ [ -z .vscode-server-insiders ]
+ [ .vscode-server-insiders = .vscode-insiders ]
+ [ ! -t 0 ]
+ VSCODE_REMOTE_BIN=/home/rohan/.vscode-server-insiders/bin
+ AUTHORITY=wsl+default
+ [ Ubuntu ]
+ AUTHORITY=wsl+Ubuntu
+ dirname /mnt/c/Users/user/.vscode-insiders/extensions/ms-vscode-remote.remote-wsl-0.88.2/scripts/wslCode.sh
+ /mnt/c/Users/user/.vscode-insiders/extensions/ms-vscode-remote.remote-wsl-0.88.2/scripts/wslDownload.sh 60468916e48fe8293e7641f0fc4ada80d79117b3 insider /home/rohan/.vscode-server-insiders/bin
+ [ ! -d /home/rohan/.vscode-server-insiders/bin/60468916e48fe8293e7641f0fc4ada80d79117b3 ]
+ RC=0
+ [ 0 -eq 100 ]
+ [ 0 -ne 0 ]
+ mktemp /tmp/vscode-distro-env.XXXXXX
+ STORED_ENV=/tmp/vscode-distro-env.U7m4wp
+ env
+ dirname /mnt/c/Users/user/.vscode-insiders/extensions/ms-vscode-remote.remote-wsl-0.88.2/scripts/wslCode.sh
+ VSCODE_CLIENT_COMMAND=/mnt/c/Users/user/AppData/Local/Programs/Microsoft VS Code Insiders/Code - Insiders.exe VSCODE_CLIENT_COMMAND_CWD=/mnt/c/Users/user/.vscode-insiders/extensions/ms-vscode-remote.remote-wsl-0.88.2/scripts VSCODE_CLI_AUTHORITY=wsl+Ubuntu VSCODE_CLI_REMOTE_ENV=/tmp/vscode-distro-env.U7m4wp VSCODE_STDIN_FILE_PATH= WSLENV=VSCODE_CLI_REMOTE_ENV/w:ELECTRON_RUN_AS_NODE/w:WT_SESSION:WT_PROFILE_ID: /home/rohan/.vscode-server-insiders/bin/60468916e48fe8293e7641f0fc4ada80d79117b3/bin/remote-cli/code-insiders
/mnt/c/Users/user/.vscode-insiders/extensions/ms-vscode-remote.remote-wsl-0.88.2/scripts/wslCode.sh: 68: /home/rohan/.vscode-server-insiders/bin/60468916e48fe8293e7641f0fc4ada80d79117b3/bin/remote-cli/code-insiders: not found
+ exit 127

In the folder ~/.vscode-server-insiders/bin/60468916e48fe8293e7641f0fc4ada80d79117b3 the only files/folders are LICENSE and node_modules/.

Hm, another corrupt/incomplete install. We had multiple reports like that recently, I must investigate.
When the new server version got installed, did you start the window from the terminal or from VS Code (e.g. WSL: Connect to WSL)?
The workaround is

close all WSL windows
open a WSL terminal:  rm -r .~/.vscode-server-insiders/bin
reopen the WSL window

Just had this issue again with a different version:
1.91.0-insider
0da59bdde2339d6ba632524dc8f3fb6f4b8a2bcb
x64


Display Chinese garbled code in Windows 10.

Description
If you're suggesting a new feature then just a description will suffice.

[x] Does this issue still occur in the master branch? (Required if issue)

Display Chinese garbled code in Windows 10.
Neofetch version
Screenshot
Config file
Verbose log
https://gist.github.com/plain-dev/1caa83f7b20509a266fd8554e7bd3634

Run neofetch -vv 2> neofetchlog
Upload the contents of neofetchlog to pastebin, gist or equivalent.

开启 Beta版:使用Unicode UTF-8提供全球语言支持 后正常了

The verbose log link doesn't work?

I deleted log, I found a solution.


User Menu Item object type instead of hardcoded names

Small refactoring of the code so that no explicit "type" field is stored in MenuItemBase.


Photos

Add in photos. Include a profile photo.

Closing this issue for now because I don't think I want to include multiple photos. Instead, I will probably just do one.


Use closesocket instead of close

Prevents conflict with close() when it's not provided by lwip.

Hi @rojer,
Sorry for the slow turnaround responding to this. We (finally) have a better fix for this (ability to use unistd.h functions for files & sockets) that should be merged very soon.
Angus

no longer relevant


Add VHDL simulation checker package generator

Closes #40

[ ] Implement testbench
[ ] Fill in 'msg'
[ ] Unify 'msg' with "wait until" package
[ ] Add failing simulation test case that shows printouts. Check that they look ok.
[ ] Print numeric value for 'fixed' fields.
[ ] Add to documentation
[ ] Use in tb_counter


No version 0.8.0 via pip install

Your package is wonderful, and I've been trying to install v0.8 through pip but it doesn't seem to be available. Any solution?

@ereznik , you could use conda instead
    conda install -c bioninja gseapy

or use pip by specifing the gseapy version on pypi
pip install gseapy==0.8.0p6


Icon change

Change the bluetooth icon to some relevent icon

Hi @Vedarutvija, do you still need help with this issue? If so, please explain to me exactly what should be done in your code and what branch should I do PR for.


A question about only_new

Hi,I have a question about the keyward only_new in teach method.In the document,it says that to make sure that you train only on newly queried labels, pass only_new=True to the .teach() method of the learner.Then if I set only_new=False with Pytorch models in modAL workflows,the models will be retrained with all the labelled data or continue learning with all the labelled data?If the workflow is the last one,it seems that the model will overfit on the repetitive data point,which makes me confused.
Thank you.

Hi!
only_new=True will train the model on the data which is passed to it in that function call.
Traditionally, when active learning was used in combination with more classical methods like random forest, SVM and others (essentialy anything which is not a neural network), the entire model was retrained on the old data + new data after the query. Since neural networks train incrementally because of the batch gradient descent, the traditional method is not particularly the best for them. (It would be very costly also.)

Thank you for the reply.Actually,since I set train_split=CVSplit(0.2) in NeuralNet,but with active learning,the model is only teached with 1 data point,then the validation set will be empty if only_new=True.However when I set only_new=False,the code runs.
import torch
from torch import nn
from modAL.models import ActiveLearner
from skorch import NeuralNet
from skorch.dataset import CVSplit
from modAL.uncertainty import uncertainty_sampling

class net(nn.Module):
    def __init__(self):
        super(net, self).__init__()
        self.model = nn.Sequential(
            nn.Linear(30, 256),
            nn.ReLU(),
            nn.Linear(256, 1),
        )

    def forward(self, x):
        out = self.model(x)
        return out

device = 'cuda' if torch.cuda.is_available() else 'cpu'

model = NeuralNet(
    module=net,
    criterion=nn.MSELoss,
    optimizer=torch.optim.Adam,
    lr=3e-4,
    max_epochs=10,
    batch_size=32,
    train_split=CVSplit(0.2),
    verbose=1,
    device=device
)

learner = ActiveLearner(
    estimator=model,
    query_strategy=uncertainty_sampling,
    X_training=torch.rand(50, 30),
    y_training=torch.rand(50, 1)
)

pool = torch.rand(20000, 30)

n_queries = 5

for i in range(n_queries):
    print('Query no. %d' % (i + 1))
    query_idx, query_inst = learner.query(pool, n_instances=1)
    learner.teach(
        X=pool[query_idx],
        y=torch.rand(1, 1),
#         only_new=True
    )
    pool = np.delete(pool, query_idx, axis=0)

If only_new=True,the following error will be returned:
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-4-67dbdfd957b1> in <module>
     50         X=pool[query_idx],
     51         y=torch.rand(1, 1),
---> 52         only_new=True
     53     )
     54     pool = np.delete(pool, query_idx, axis=0)

c:\users\anaconda3\lib\site-packages\modAL\models\learners.py in teach(self, X, y, bootstrap, only_new, **fit_kwargs)
     97             self._fit_to_known(bootstrap=bootstrap, **fit_kwargs)
     98         else:
---> 99             self._fit_on_new(X, y, bootstrap=bootstrap, **fit_kwargs)
    100
    101

c:\users\anaconda3\lib\site-packages\modAL\models\base.py in _fit_on_new(self, X, y, bootstrap, **fit_kwargs)
    129
    130         if not bootstrap:
--> 131             self.estimator.fit(X, y, **fit_kwargs)
    132         else:
    133             bootstrap_idx = np.random.choice(range(X.shape[0]), X.shape[0], replace=True)

c:\users\anaconda3\lib\site-packages\skorch\net.py in fit(self, X, y, **fit_params)
    852             self.initialize()
    853
--> 854         self.partial_fit(X, y, **fit_params)
    855         return self
    856

c:\users\anaconda3\lib\site-packages\skorch\net.py in partial_fit(self, X, y, classes, **fit_params)
    811         self.notify('on_train_begin', X=X, y=y)
    812         try:
--> 813             self.fit_loop(X, y, **fit_params)
    814         except KeyboardInterrupt:
    815             pass

c:\users\anaconda3\lib\site-packages\skorch\net.py in fit_loop(self, X, y, epochs, **fit_params)
    715
    716         dataset_train, dataset_valid = self.get_split_datasets(
--> 717             X, y, **fit_params)
    718         on_epoch_kwargs = {
    719             'dataset_train': dataset_train,

c:\users\anaconda3\lib\site-packages\skorch\net.py in get_split_datasets(self, X, y, **fit_params)
   1199         if self.train_split:
   1200             dataset_train, dataset_valid = self.train_split(
-> 1201                 dataset, y, **fit_params)
   1202         else:
   1203             dataset_train, dataset_valid = dataset, None

c:\users\anaconda3\lib\site-packages\skorch\dataset.py in __call__(self, dataset, y, groups)
    323             args = args + (to_numpy(y),)
    324
--> 325         idx_train, idx_valid = next(iter(cv.split(*args, groups=groups)))
    326         dataset_train = torch.utils.data.Subset(dataset, idx_train)
    327         dataset_valid = torch.utils.data.Subset(dataset, idx_valid)

c:\users\anaconda3\lib\site-packages\sklearn\model_selection\_split.py in split(self, X, y, groups)
   1327         """
   1328         X, y, groups = indexable(X, y, groups)
-> 1329         for train, test in self._iter_indices(X, y, groups):
   1330             yield train, test
   1331

c:\users\anaconda3\lib\site-packages\sklearn\model_selection\_split.py in _iter_indices(self, X, y, groups)
   1435         n_train, n_test = _validate_shuffle_split(
   1436             n_samples, self.test_size, self.train_size,
-> 1437             default_test_size=self._default_test_size)
   1438
   1439         rng = check_random_state(self.random_state)

c:\users\anaconda3\lib\site-packages\sklearn\model_selection\_split.py in _validate_shuffle_split(n_samples, test_size, train_size, default_test_size)
   1803             'resulting train set will be empty. Adjust any of the '
   1804             'aforementioned parameters.'.format(n_samples, test_size,
-> 1805                                                 train_size)
   1806         )
   1807

ValueError: With n_samples=1, test_size=0.2 and train_size=None, the resulting train set will be empty. Adjust any of the aforementioned parameters.

Thus I'm confused about the mechanism with only_new=False.


Fix DBConfig used in builder

Wait, dbConfig should be initialized to null.

I change it from pointer to regular object so that BuilderParams will have a default db config.


Skip Buttons

Give a closeBtnText property so we can customize the exit button text too. Because with a close button icon, users may be confused if it will close the entire tour or just the current step. If there is option to customize text like 'skip tour' or just 'skip' instead of close icon, it will be easier for users to understand that clicking on it will close the entire tour.

Thank you for opening the issue but the behavior of close icon is pretty standard. There are no plans to replace icon with the textual button.


Update sbt-scalajs-crossproject to 1.1.0

Updates org.portable-scala:sbt-scalajs-crossproject from 1.0.0 to 1.1.0.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.portable-scala", artifactId = "sbt-scalajs-crossproject" } ]

labels: sbt-plugin-update, semver-minor

Superseded by #262.


Fail to detach one broken regular/ADLS Gen2 blob container attachment

Storage Explorer Version: 1.32.0-dev (93)
Build Number: 20230915.2
Branch: main
Platform/OS: Windows 10/Linux Ubuntu 20.04/MacOS Ventura 13.5.2 (Apple M1 Pro)
Architecture: x64/x64/x64
How Found: From running test cases
Regression From: Previous release (1.31.1)
Steps to Reproduce

Expand one storage account -> Blob Containers.
Select one blob container -> Attach the blob container via OAuth.
Switch to the 'ACCOUNT MANAGEMENT' panel -> Remove the azure account that associated with the OAuth attachment.
Switch to the 'EXPLORER' panel -> The attached blob container shows as broken.
Detach the broken attachment.
Check whether succeeds to detach broken attachment.

Expected Experience
Succeed to detach the broken attachment.
Actual Experience
Fail to detach the broken attachment.

Additional Context
The broken attachments disappear after manually refreshing.

Hi @JasonYeMSFT This issue also reproduces when detaching one expired ADLS Gen2/regular blob container attachment.

I published a new package and this should be fixed in our next build.

Verified this issue on the main build 20230920.1. Fixed. So, we are going to close it.


Add support to deploy sushy in extracted jobs

Depends-On: https://github.com/openstack-k8s-operators/ci-framework/pull/2396
Depends-On: https://github.com/openstack-k8s-operators/ci-framework/pull/2371

recheck

recheck

recheck

recheck

/approve

recheck

lgtm from the commit msg

/lgtm


Regression: Unable to resolve module 'scheduler/tracing' in ReactNative 0.59.3

💥 Regression Report
I am trying to upgrade to RN 0.59.3 from RN 0.56 (my understanding is that I need 0.59 to get 64 bit, required by Play Store by August). I am seeing an "Unable to resolve module 'scheduler/tracing'" message when the app loads on both an Android simulator and device. (Note that it says "scheduler/tracing", not "schedule/tracking", like it does in some other issues posted here.)

I tried using version 16.6.0-alpha.8af6728 since that was suggested here, but no difference. I believe that RN 0.59 needs react 16.8.
Here's the thing that's really strange. I tried creating a new RN 0.59 project through react-native init. It's essentially AwesomeProject. When I run it, I get the same error. The error refers to directories in my old project, despite the fact that I have created this new project in a completely different directory. I tried changing the directory that the old project is in, but the error refers to the original project directory. So it's as if something got cached. I tried uninstalling react-native-cli and react-native, and then reinstalling them, but no result. I removed the node_modules directory and did an npm install, but that hasn't had an effect either.
Last working version
Worked up to version: 0.56
Stopped working in version: 0.59
To Reproduce
Given that I am seeing this error when I do a react-native init, I'm not sure how you can reproduce it.
Expected Behavior
Should run without the red screen with error showing up.
Code Example
Given that I am seeing this error when I do a react-native init, I'm not sure how you can reproduce it. If need be, I can create a repo with the original project, but I suspect something else is going on. Here is my package.json file:
{
"name": "Transfusion",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"react": "16.8.3",
"react-native": "^0.59.5"
},
"devDependencies": {
"@babel/core": "7.4.3",
"@babel/runtime": "^7.4.3",
"babel-jest": "24.7.1",
"jest": "24.7.1",
"metro-react-native-babel-preset": "0.53.1",
"react-test-renderer": "16.8.3"
},
"jest": {
"preset": "react-native"
}
}
Environment
System:
OS: macOS 10.14.4
CPU: (8) x64 Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz
Memory: 307.59 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 10.7.0 - /usr/local/bin/node
npm: 6.2.0 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
IDEs:
Android Studio: 3.2 AI-181.55<IP_ADDRESS>56338
Xcode: 10.2.1/10E1001 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.3 => 16.8.3
react-native: ^0.59.5 => 0.59.5
npmGlobalPackages:
react-native-cli: 2.0.1
react-native-git-upgrade: 0.2.7
react-native: 0.59.3

I did have the react-native info output in the environment section. I just removed the leading indent -- maybe the bot will recognize it now.

This is likely a result of bad cache and clearing node modules (happens when upgrading). Please reinstall node_modules followed by restart of packager and its cache with yarn react-native start --reset-cache. That should help. Also, please remove global react-native package, it should be installed globally (it's different than react-native-cli)

Thanks @thymikee, that now works at least for the blank project. (I have a new error for my original project, which I will try to figure out before posting another issue.)
I would love it if when you searched on "clear cache" in the React Native documentation, that it would tell you to do yarn react-native start --reset-cache. If you just do a Google search on "react native clear cache", you get all kinds of suggestions (most often npm cache clean --force), but I never came across the yarn command.

we should make --clear-cache and maybe --cache-clear another aliases to --reset-cache :) Feel free to contribute this change: https://github.com/react-native-community/cli/blob/master/packages/cli/src/commands/server/server.js#L76 (cli uses commander btw)

Actually, my complaint was more about knowing to use yarn rather than reset-cache vs clear-cache. If you go to the React Native documentation and search on "reset cache", you still won't get any useful information.
Once I cleared the cache as you suggested, my project was seeing the issue described here I tried implementing the suggestion to add the metro-react-native-babel-preset package, and that got rid of that error, but created a new one: Can't find variable Intl. Let me know if you have suggestions.

Typing yarn something tries to run npm-script called "something" and falls back to trying  "something" binary if that's available in your node_modules, so it's just a convenient way to call node ./node_modules/.bin/react-native start :).
Do you use a variable Intl somewhere? I've never seen this error before, but looks like it's coming from PagerAndroid - maybe that's something you need to upgrade as well

Yeah, sorry, I should have checked my code for Intl. Not a variable, but part of a module that I installed but wasn't really using, so forgot about. I got rid of it, and now I have a new error. I'll bang my head against that one and open a new issue if I can't figure it out.

Yeah, sorry, I should have checked my code for Intl. Not a variable, but part of a module that I installed but wasn't really using, so forgot about. I got rid of it, and now I have a new error. I'll bang my head against that one and open a new issue if I can't figure it out.

Hey @thymikee, one more quick question: is there any other way to clear the cache? I now have an error: undefined is not an object (evaluating '_reactNative.Modal.propTypes.animationType'). I removed all references to animationType from my project, and I am still getting this error. I tried running my blank project, and I get the exact same error. So that suggests that it's a caching problem. I did a yarn react-native start --reset-cache, as well as:
watchman watch-del-all && rm -rf $TMPDIR/react-native-packager-cache-* &&  rm -rf $TMPDIR/metro-bundler-cache-* && rm -rf node_modules/ && npm cache clean --force &&  npm install
but I am still getting that error. Is there some cache that I am missing?

Just realized I was doing yarn react-native start --reset-cache. The blank project works fine now. So it's not a caching issue after all.

Resolved: I ended up creating a new project with react-native init and moving all of my source code and assets into it. It was a pain, but less of a pain than the constant stream of random errors when trying to upgrade the original project. Now just trying to get it into the Google Play Store...

that is no solution

Any update on this?

if you are using "react-native": "^0.59.8", update your react to "react": "16.8.5".

its work for me
npm cache clean --force

cache resetting, force cache clean and other proposed solutions are not working. Any solid solution for this ?