text:
test when $dynamicRef references a boolean schema

This was an interesting one in my implementation - when looking for a $dynamicAnchor keyword at the destination schema, it threw an exception when that schema wasn't an object, but rather a boolean.

One of the things that's changing for $dynamicRef in the next version...

Has that change already landed, or is it planned to be done in the future?

Has that change already landed, or is it planned to be done in the future?

It hasn't yet.  We have a task in the opening comment of the issue I linked, but that's it.

Ok, I fixed the tests to make the true and false branches look more alike, as you suggested. I also added $schema keywords as I believe we now require that.
I left the draft-next tests alone, as the specified behaviour of $dynamicRef has not yet changed; when it does, this test (along with some others I'm sure) will start failing in the test suite and we can fix/remove them then.

I left the draft-next tests alone, as the specified behaviour of $dynamicRef has not yet changed; when it does, this test (along with some others I'm sure) will start failing in the test suite and we can fix/remove them then.

I'm happy with that.

authors: gregsdennis karenetheridge

repo: json-schema-org/JSON-Schema-Test-Suite


text:
Denomination Test Online

Hi everyone! We are trying to build a denomination test with Jspsych. We aim at testing 2 year olds and the test should be accessible to anyone online.
Ideally our test should be composed by:

46 stimuli images (to be orally named) ranked by AoA (max duration of exposure for each stimulus 30 seconds).
Each stimulus is divided by a fixation point (2 seconds).
Two different sounds (1 second): one presenting the stimulus and one presenting the fixation point.
Each stimulus can be ended pressing a key on the keyboard (in our case “s” for correct denomination (Sì - in Italian), “n” for incorrect denomination and “space” if parents are dubious) in order to record reaction times. RTs will also be verified post-test by a RA through video recording. The video recording should be ideally part of the digital test (not a Meet or Skype call).
We are also using AlterVista as an internet site for our experiment.
We have some issues with JsPsych:
We can’t manage the stimulus plug-in for JsPsych at the same time of the audio plug-in. We tried with some plug-in (found in the forum) as: audio-keybord-response.js + image-keybord-response.js; stim_audio_association; multi-stim-multi-response.js.
But they didn’t work.
We also want to record a video or audio track of the experiment, but we can’t find a plug-in that allow us to do this. We tried with audio_record plug-in but the program read it as a task and not as a response. We noticed that a plug-in like this is not yet available, is it right?
Moreover, the speed of our test suffers a lot poor internet connection.
Can anyone help us with these issues?
Thanks very much in advance.
Cheers,
Martina

Hi Martina,
I think I can give you a little help here,
We can’t manage the stimulus plug-in for JsPsych at the same time of the audio plug-in
To solve this issue, I suggest you have a look at the jspsychophysics plug-in. Works fine for me.
record a video or audio track of the experiment, but we can’t find a plug-in that allows us to do this
You should have a look at this support audio recording. I have tried the html-audio-response and it works fairly well for my needs.
Moreover, the speed of our test suffers a lot poor internet connection.
not sure.. usually you download the stimuli prior to the start of the experiment and you upload the results at the very end.
As far as I understand, during the experimental session, the internet connection is not used so it shouldn't produce any slowing. With a slow internet connection, I experienced difficulty in downloading all the stimuli and thus in starting the experiment but no slowing in between. Reducing the number and quality of images or audio files (if you have any) helps a lot.
Best,
Giulio.

Thank you very much Giulio for these advices! I'll try and I'll let you know.

source: gharchive/issue

authors: Marti-C giuconte

repo: jspsych/jsPsych

license: MIT

license_type: permissive

license_source: github-api


text:
Update README.md with Known Issues Section

Added a new "Known Issues" section to the README.md. Added the solution for the "elm.focus is not a function" error that occurs when using upload components.

@all-contributors, please add @snndmnsz for document

https://github.com/all-contributors, please add @snndmnsz for doc

@all-contributors please add @snndmnsz for doc

source: gharchive/pull-request


text:
Bug(transloco): transloco pipe does not support loadingTpl when template is provided

Is there an existing issue for this?

[X] I have searched the existing issues

Which Transloco package(s) are the source of the bug?
Transloco
Is this a regression?
Yes
Current behavior
providers: [     provideTranslocoLoadingTpl('loading...'),     ... ]
loading template is not shown when provided in component/module providers when | transloco pipe is used in templates.
Expected behavior
provided loading template is shown when | transloco pipe is used in template.
Before translations are loaded for lazy loaded modules components with their own scope.
Please provide a link to a minimal reproduction of the bug, if you won't provide a link the issue won't be handled.
https://codesandbox.io/s/ngneat-transloco-forked-543jvn?file=/src/app/lazy/lazy.component.html
Transloco Config
No response
Please provide the environment you discovered this bug in
Transloco: v5.0.0
Angular: 16.0.0
Node: 16.18.2
Package Manager: npm
OS: macos 13

Browser
No response
Additional context
No response
I would like to make a pull request for this bug
No

@edmondko The loading template is only supported when using the structural directive, I'll make it clearer in the docs.

authors: edmondko shaharkazaz

repo: jsverse/transloco


text:
zero byte compressed file should be handled more gracefully

Currently, a zero byte compressed file, e.g. log.xz will print to stderr
ERROR: FileXz: reader.read_exact() (stream header magic bytes) path "/var/log/apt/eipp.log.xz" failed to fill whole buffer

Improvement
For zero-byte files, do not attempt to analyze them. Return sooner during processing.  This will also skip the error message.

However, the Improvment is contrary to Tukaani xz behavior.
$ touch zero.xz
$ xz -kdc zero.xz
xz: zero.xz: File format not recognized

Related issue is that empty files should not have a large Summary section. Just need a one line.


text:
🛑 Tango is down

In 4ec6bad, Tango (https://tiendas.axoft.com/api/Aperture/dummy) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Tango is back up in c155840 after 12 minutes.

repo: juanLabonia/uptime


text:
🛑 Salud Individual is down

In 7690427, Salud Individual (https://www1.mercantilseguros.com/appweb/salud-individual/cotizador/afinidad?gid=530bede5-b246-11ea-9868-0a0c562ff536) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Salud Individual is back up in 2593489.

repo: juancalbarran/upptime


text:
Passing samples instead of filepath to get embeddings

I already have the audio file loaded and I want to avoid an extra file I/O by using this API:
emb1 = model({'audio': '/path/to/file1.wav'})

Is there a way to pass the samples and sampling rate to get the embedding?

Hello,
For the record, if you have a waveform loaded as a numpy array, I believe pyannote let's you bypass the file loading with the 'waveform' key:
emb1 = model({'waveform': wave})

Notice that for this to work, the waveform has to have shape (seq_len, 1).


text:
it should be helpful that bridge ports could be filtered

For example i want to filter out briges on ports 80 and 2000
tor-relay-scanner -xp 80,2000
also colon separated list for ports is a must have option

If possible, you could implement this functionality yourself and provide PR.
Otherwise, I'll have to wait until I have time.

One more thing, now filtering by ports using the p flag has been implemented. Which can be described several times. Thus, if you plan to filter by ports 80 and 2000, you need to use the following flags:
tor-relay-scanner -p 80 -p 2000

Now I understand, an interesting idea! Thank you. I'll have to think about it.

authors: alexey-vostrikov juev

repo: juev/tor-relay-scanner-go


text:
Refactor READMEs to point to appropriate upstream documentation.

[ ] bundle-canonical-kubernetes
[ ] kubernetes-core
[ ] kubernetes charm
[ ] etcd charm
[ ] easyrsa charm
[ ] load balancer-nginx

and appropriate charms/layers

Is the plan to simply link to the upstream docs, or to import them into the readme for display on the charm store? If the former:

How are we going to ensure the upstream docs are in sync with what is in the store?
Where are we going to track our changes to the docs? PRs against upstream?

Marco's initial idea was to continue to generate the READMEs, however use the upstream markdown files as the source of parts, we should probably scope this out a bit.

This is going to be problematic, as the upstream markdown docs are full of google tracking and bits right? How are we going to scrub for our README generation?

Everything in the google tags is in { curlies }, perhaps toss out those statements?

I do not understand the scope of work here. Is this just adding a few links to the 8 readme files? Or is this some kind of engineering effort with scripting and automation here?
Since we have control over what is in the charm store we can point to google documentation as much as we want. As Rye points out this may be difficult to keep the google/kubernetes docs up-to-date.

cc @tvansteenburgh
I think this ties in with work you're currently doing

authors: castrojo chuckbutler mbruzek wwwtyro


text:
License

Which license should we put this under? I was thinking of CC0, thats a one-way-street though, so everybody should be fine with it.
CC: @pfitzseb @frankhuettner @daveh19

I'm pretty open. Glad you ask it now, rather than later of course. If you think you might want to use it for something specific later, then I'd advise MIT licence. Otherwise any of the GNU or CC licences work for me. It's both code and text, so GNU/MIT might be more appropriate...

Maybe, for process, it would be worth getting anybody who contributed already (to the first workshop) to agree here to the new licence. I guess that's what you're going for with the name tags above.

MIT
On Tue, Sep 24, 2019, at 12:18 AM, Sebastian Pfitzner wrote:

By default I'd vote for MIT, but considering there's probably not going to be much reuseable code in here, CC0 makes sense as well.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/julia-users-berlin/julia-users-workshop/issues/1?email_source=notifications&email_token=AIV24UNWO5TLOBG6BBT6Y6LQLDM4RA5CNFSM4IYY4EQKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7LG7YY#issuecomment-534147043, or mute the thread https://github.com/notifications/unsubscribe-auth/AIV24UJLLL2GYVA5MQN4DETQLDM4RANCNFSM4IYY4EQA.

Ok, thats MIT then. Thanks for getting this done quickly :)

authors: BeastyBlacksmith daveh19 frankhuettner

repo: julia-users-berlin/julia-users-workshop


text:
Sorry, your Mac is not compatible.

I'm having this GPU issue.
I ran the program and I'm getting this:
Sorry, your Mac is not compatible.
https://ibb.co/qpF1KMy
OSX 10.13.6

The fix only works for MBP Mid-2010 15" (MacBook 6,2). What is you mac version ? If you don't know see here : https://support.apple.com/en-au/HT201300

Mid 2012 range Retina

Is there a manual step by step? :)

The root cause of the bug is not the same for 2010 and 2012 models. I tried helping users to manually change the kernel file but it ended up totally screwing up there machines so I don't want to do that.

You also can look around here : https://github.com/julian-poidevin/MBPMid2010_GPUFix/issues/31#issuecomment-328356337

Does it work with MBP 13" mid-2010 ? Cause I have the same probleme when I try to start the application. "Sorry, your mac is not compatible".

@zoubbidda I'm sorry, the app is only compatible with MBP 15" Mid-2010.

authors: borriej julian-poidevin zoubbidda

license: mit

license_source: bigquery


text:
Idea: allow dynamic route changes at runtime in v2

At first I want to congratulate you to this awesome performant library. I saw that you started planning a v2.
I thought maybe the v2 could allow changing the router while it is in use. I know this already works to some extent, but to fully use it some enhancements would be needed.
1. Remove existing handlers
One thing that should be possible is unregistering existing handlers. I bet this is easily implemented in a hacky way, but probably not so simple to do if the function also cleans up the tree without this route
2. Registering routes without panicking
The functions that register routes could return an error instead of panicking, or there should be a function that checks if a route with a given path is possible. I would prefer if the registering functions would return an error value.
What do you think of that?

I think this shouldn't be in this library. If you want to modify the router in some way while using it you'll need some form of locking. Using locks reduces performance, while one of the main features of this package is performance. A second argument against this is that this probably not much used, considering this is the first request for it (I think).
Why not make it a wrapper package around this package? This way people can choose to take a performance hit if they want the functionality.
As for panicking instead of returning an error; it doesn't make sense if the first idea doesn't get added to the package. Because you want to know at startup (preferably while developing or testing) that your routes are broken. But if you create a dynamic router package around this package, it would make more sense to return errors.

That sounds like an anti-feature to me.
URLs and thus probably also the registered routes are supposed to be static. If you need "dynamic" segments, e.g. for certain items that might be created during runtime, like articles or users, then you should use the path parameters / wildcards instead.
Moreover, changing the tree at runtime is not that trivial. Extending it is possible with locking, but removing routes is rather complicated.

Okay I see your points. Thanks for the explanation.

authors: Thomasdezeeuw julienschmidt mbertschler

repo: julienschmidt/httprouter


text:
Install TagBot as a GitHub Action

You're receiving this pull request because the now-deprecated Julia TagBot GitHub App is installed for this repository. This pull request installs TagBot as a GitHub Action.
If this PR does not belong in this repository for any reason, feel free to close it.
See this Discourse thread for more details and to ask questions.
Please do not comment on this pull request, because it is unlikely that I (@christopher-dG) will see it.

Codecov Report

Merging #4 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master     #4   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines           1      1
=====================================
  Hits            1      1

Continue to review full report at Codecov.

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

authors: JuliaTagBot codecov-io

license: ISC


text:
.unmark() performance optimization

Hi,
I have a big document, and trying to use mark.js but, the mark and unmark operations take a lot of time, about 5 seconds to do each of them
Environment

Chrome 52.0.2743.116
mark.js 8.1.1

Hi @josephi,
Thanks for submitting.
Actually when you have large documents parsing the nodes will take time. It doesn't depend on the size (MB) that the files take – it depends on the amount of text nodes in the specified context.
Currently at least no errors will be thrown. But I agree that some micro performance optimization would be possible. And I could imagine to implement some benchmark tests into the build.
Could you please let me know the following:

Is it also slow when you're using a file from a 7.x release?
How many text nodes do you have? You could use this function inside your console to get the amount.
Independently of the micro optimization internally, do you have any idea to workaround the situation? What I could imagine e.g. is to offer an option to really break marking matches after a certain amount of matches. There's already a filter option to ignore matches after a time, but that won't break the loop currently. Then, it might be possible to offer a method to allow marking futher matches when scrolling

@josephi @julmot Hi, I had same issue with 8.4.0 version, downgrading to 7.x version solved this for me.

Hi,
Same issue with 8.4.0 version, using List filtering and highlighting.
Version 7.0.2 is better in term of performance.

Alright, in case you're not using the acrossElements option I could optimize the iterator internally. Let's see when I'll find the time.

In fact that didn't improve the performance, instead it even worsened it. It's necessary to find a decisive factor in the source code...

Same problem here: I tried to use mark.js for a single page HTML of the length of http://docs.getchip.com/chip.html
The result is that it takes 5 seconds per .mark() and sometimes the browser even freezes.
On the other hand the JS search / highlighting feature included in http://docs.getchip.com/chip.html works very fast in comparison.
Any update about this?

@josephi and all other, thanks for your patience.
Last week I've spent some time on finding the cause of the slowness. According to Chrome the function "compareDocumentPosition" is the cause:

This is a browser function. So I'll need to find a workaround to not use this function.
I'm now priorising this issue, so it's the next thing I'm working on.
:octocat:

Thanks @julmot
If you need a real life example to do your tests, here is one:  https://github.com/josephernest/0Doc-chip // https://josephernest.github.io/0Doc-chip/
I added accuracy: "exactly" to stop the problem. If you want to see the performance issue, just remove accuracy: "exactly" in https://github.com/josephernest/0Doc-chip/blob/master/0doc.js#L161

I've spent more time investigating the slowness and used the project of @josephernest for debugging purposes. It turned out that it's not the .mark() method that is causing the slowness.
More details:

When calling .mark() with a keyword "c" 4152 matches will be found in 3490 text nodes. For me this takes about 160ms ~ 0.04ms per match
The .unmark() method on the other hand takes about 37 seconds for me with above created <mark> elements, which is incredible slow ~ 8.9ms per marked element (match)

In summary if you enter "co" (original: computer) the problem is that mark.js is busy unmarking the "c" and not busy marking "co".
So I tried finding the cause internally. Above named method compareDocumentPosition is not the cause. I still don't know why Chrome points this out at the CPU profile. The method isn't called at all, because it's used to check iframes positions within the DOM and there weren't any in my test case nor did I enabled iframes.
It turned out that the action that unwraps matches takes too long when called directly within the loop. But unfortunately it's necessary to call this action synchronously within the loop because otherwise the references of DOM nodes may be lost. If that wouldn't be the case it would have been possible to use setTimeout for the entire unwrapping part:
unmark(opt) {
    this.opt = opt;
    let stack = [],
        sel = this.opt.element ? this.opt.element : "*";
    sel += "[data-markjs]";
    if(this.opt.className) {
        sel += `.${this.opt.className}`;
    }
    this.log(`Removal selector "${sel}"`);
    this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT, node => {
        stack.push(node);
    }, node => {
        const matchesSel = DOMIterator.matches(node, sel),
            matchesExclude = this.matchesExclude(node, false);
        if(!matchesSel || matchesExclude) {
            return NodeFilter.FILTER_REJECT;
        } else {
            return NodeFilter.FILTER_ACCEPT;
        }
    }, () => {
        setTimeout(() => {
            stack.forEach(node => {
                this.unwrapMatches(node);
            });
            this.opt.done();
        }, 0);
    });
}

This would speed up the .unmark() from 37,5sec to 3,6sec ~ a difference of 33,9 sec. This would be ~ 0.08ms per marked element which is incredible but still twice as high as .mark().
Another idea would have been to use setTimeout for each this.unwrapMatches() instead of the entire loop stack. But this isn't possible too, because it wouldn't be synchronously and element references may be lost.
My last idea was to refactor the iterateTroughNodes() method to be asynchronously and wait for the each callback. It would then be possible to use setTimeout() and no node references would get lost. But, as this would mean that the node iterator would be asynchronously again we would introduce a bug that I've solved in #66 a few months ago. So unfortunately this isn't a solution too.
I'm still thinking about other options but I'm open for thoughtful ideas! :octocat:

Finally, I've implemented a similar solution to the one named above, directly in the DOMIterator class (not .unmark() specific). This works, doesn't loose DOM node references and brings a huge performance improvement. You'll find it in PR #100 (btw. :tada:).
I've taken the 0Doc-chip project of @josephernest for the benchmark test. I've tested entering "c" and "co" after that into the search input in Chrome 54. The time .unmark() needed to unmark 4152 matches of "c" before the improvements was 33607ms (~33sec). With the recent improvements it needs about 200ms (0.2sec). This is a difference of 33407ms and almost synchronous to the input.
With a short time delay to make sure mark.js is only called when the user stopped entering the keyword it's even better! This change can be found in https://github.com/josephernest/0Doc-chip/pull/1.
I'll release this soon. :octocat:
In the meantime I'd appreciate if you @Pierre-G, @josephi and @JovicaSusa and maybe @josephernest test if this improves the speed in your applications too. You can use the files in the performance branch. I guess so, but if not, please let me know!

Thanks a lot @julmot !
v8.5.0 is a lot better in term of performance. Last version, v8.6.1, is ok too.

authors: JovicaSusa Pierre-G josephernest josephi julmot


text:
Make Info_Page responsive

[ ] Info page doesn't look right on small phones or android phones 👍
IOS:

Android:

Looks good on all iphone, need to fix android


text:
Explicit sourcing of keybindings work, not from zshenv

Category

[x] Key bindings

OS

[x] Linux

Shell

[x] zsh

Hey,
using zsh 5.5.1 with grml-zsh-config / fzf 0.17.4 on ArchLinux, I have observed a weird behavior.
Having
source /usr/share/fzf/key-bindings.zsh
source /usr/share/fzf/completion.zsh

at the end of .zshenv, Ctrl-T and Alt-C works just nicely, but Ctrl-R still shows the the old reverse search prompt.
However, when I do a source /usr/share/fzf/key-bindings.zsh, Ctrl-R also used fzf. Yes, just the same line I used in .zshenv above. I also tried to swap the two lines, no change.
Any ideas?
Thanks!

Any reason you put those lines in zshenv instead of zshrc? See if moving them to zshrc helps.
http://zsh.sourceforge.net/Intro/intro_3.html

Thanks! It works when put in .zshrc. Is this still in issue or can it be closed?

authors: floli junegunn

repo: junegunn/fzf


text:
unknown option: --scheme=history

[x] I have read through the manual page (man fzf)
[x] I have the latest version of fzf
[x] I have searched through the existing issues

Info

OS

[x] Linux
[ ] Mac OS X
[ ] Windows
[ ] Etc.

Shell

[ ] bash
[x] zsh
[ ] fish

Problem / Steps to reproduce
Pressing CTRL-R results in unknown option: --scheme=history.
I found an existing issue here, but I've updated to the newest binary and still have the issue.

Same

You must be still using an old binary. See fzf --version to confirm.

authors: gtzo-anchorage junegunn palcalde


text:
visibility score

Sorry to interrupt, where to download the associated visibility score of visible objects.

Hello Chen:
Thanks for pointing out this issue!
Unfortunately, the visibility score is not available is currently not available. The visibility score should be associated with the ground truth object pose and defined under camera coordinate. However, in the current version of ROBI dataset, we provide the ground truth under world frame.
We will start working on the ROBI dataset for this issue and expect to provide the visibility score in one or two weeks.
Thank you
Jun

Hello:
The visibility score has been added to the ROBI dataset, for each viewpoint image, we add the visibility score for each object, as shown below.
Please let me know if you have any questions.
{"cam_pose": [0.944755, -0.079584, 0.317969, -182.902, 0.002751, -0.968118, -0.250479, 84.6171, 0.327765, 0.237516, -0.914415, 346.799, 0.0, 0.0, 0.0, 1.0]}
{"object_1_visibility": 1.0}
{"object_2_visibility": 1.0}
{"object_3_visibility": 0.8380211780277962}
{"object_4_visibility": 0.999162198391421}
{"object_5_visibility": 0.887160877829618}
{"object_6_visibility": 0.7008443908323281}
{"object_7_visibility": 0.9950504473634114}
{"object_8_visibility": 0.9623793578885168}
{"object_9_visibility": 0.5995697602950215}
{"object_10_visibility": 0.36064605081741186}
{"object_11_visibility": 0.35650527454692993}
{"object_12_visibility": 0.25554278206602066}
{"object_13_visibility": 0.5583318972945028}

thank you


text:
[Enhancement] Changed example of functions should do one thing

Fix for Functions should do one thing.
The original example is very strange and incomprehensible.
What is passed in the emailClients() function argument?
What does the email() function do?
Why get entity from database to check activity?
Why doesn't a specific entity be passed into function?
Perhaps this example will be more understandable.

Main goal was to show shortly example of:

bad example of function, that do many things
good example, to show how to split function, to small functions, that could be reusable in different parts of codes.
Intention wasn't to place working code, that you can copy paste to your code.

Of course, when you coding, is always good to think in more objective way (classes, more objects, etc.), but that was not intention of this point.
In real code, it's always good practice to specify arguments types. For example:
function emailClients(Client ...$clients) {

Your example is still terrible.
Need to think about how to make an example easier and better.

authors: jupeter peter-gribanov

repo: jupeter/clean-code-php


text:
[Typst] Subscript only uses first letter

Description
When working in math environment, subscript (and probably also superscript) only uses the first symbol, even if more is in curly braces. E.g. the following works well in HTML, but not in Typst:
:::{math}
:name: ch3-eq1

\text{SR} = \frac{\sum{t_{active}}}{\sum{t_{active}} + \sum{t_{passive}}}
:::

Proposed solution
Additional notes

Should be fixed in #1439 when that goes live.

repo: jupyter-book/mystmd


text:
Remove Webpack plugins from development dependencies to simplify the package.json file

Hi! 👋
Problem
This is not exactly a problem, but I would like to suggest a small change to the package.json file to simplify it.
Currently, there are three Webpack plugins as development dependencies: css-loader, source-map-loader, and style-loader. They are all @jupyterlab/builder dependencies, so they are installed together. Therefore, to simplify the package.json file a bit (and consequently the template), especially for new extension developers, I think it would be good to remove them.
Proposed Solution
Delete the css-loader, source-map-loader, and style-loader development dependencies from the following file: https://github.com/jupyterlab/extension-template/blob/eda2e0db3a8b0630e8802524dd3c95ac7db54526/template/package.json.jinja#L67
Please let me know your opinion and if I can help/open a PR.
Thanks!

@joaopalmeiro does yarn complain when installing the dependencies if those are removed? If not, feel free to open a PR.

If I recall correctly, these devDependencies were added in https://github.com/jupyterlab/extension-cookiecutter-ts/pull/293, mostly because of pnpm? There is some prior discussion about this here: https://github.com/jupyterlab/extension-cookiecutter-ts/pull/293#issuecomment-1708820405
Also thinking it would be great to remove them, especially to simplify the template a bit and not have extension authors wonder what these devDependencies are used for.

authors: fcollonval joaopalmeiro jtpio

repo: jupyterlab/extension-template


text:
Easy path fix

var shelljs = require('shelljs')
let jupyterSysInfo = shell.which('jupyter')
let result = jupyterSysInfo.stdout
console.log(result)

Closing because written in wrong thread.

authors: declanvk jeremy-coleman


text:
Unable to connect with SSL

How can I connect secure connection for socket?
WSS = "wss://test.com:9092"

You are likely using the wrong library, it does not support websockets.

authors: juretta krunalbhavsar

repo: juretta/objc-stomp


text:
feat(connector): [Fiserv] Currency Unit Conversion

Type of Change

[ ] Bugfix
[x] New feature
[ ] Enhancement
[ ] Refactoring
[ ] Dependency updates
[ ] Documentation
[ ] CI/CD

Description

Addressing Issue: #2225
Modified two files in hyperswitch/crates/router/src/connector/

fiserv.rs

Implement get_currency_unit function
Modify ConnectorIntegration implementations for Fiserv

fiserv/transformers.rs

Implement FiservRouterData<T> structure and functionality
Modify implementation for FiservPaymentsRequest and FiservRefundRequest

Additional Changes

[ ] This PR modifies the API contract
[ ] This PR modifies the database schema
[ ] This PR modifies application configuration/environment variables

Motivation and Context

How did you test it?

We need to create a payment using Fiserv and test the currency unit from connector response and connector dashboard.
Checklist

[x] I formatted the code cargo +nightly fmt --all
[ ] I addressed lints thrown by cargo clippy
[ ] I reviewed the submitted code
[ ] I added unit tests for my changes where possible
[ ] I added a CHANGELOG entry if applicable

LGTM!

Hey @SagarDevAchar  ,
Thanks a bunch for all your contributions! We've got a little something for you to show our appreciation.
Just take a moment to fill out this form, and get ready for some awesome swag coming your way.
Thanks!

repo: juspay/hyperswitch


text:
Query about the AWS SDK for .NET

Not really an Issue. I just wanted to start a dialog about what we can do on the AWS .NET SDK  side to help out.

Closing this. If you guys ever have any issues or questions about the AWS SDK for .NET feel free to reach out to us on our github repository https://github.com/aws/aws-sdk-net

repo: justeat/JustSaying


text:
🛑 Bitwarden is down

In 1bf4184, Bitwarden (https://bitwarden.mkacg.com) was down:

HTTP code: 530
Response time: 99 ms

Resolved: Bitwarden is back up in efdae4e after 30 minutes.


text:
justinhimself/i2pplus Docker Image Unable to Start Container

The container starts, then immediately stops again.
Attaching to i2pplus
i2pplus  | exec /init: exec format error
i2pplus exited with code 0

some error

you use jlesage/baseimage:alpine-3.15-glibc
and dont is a version for arm32

repo: justin-himself/docker-autobuild


text:
formtastic integration test

this creates an integration test to verify #1188 works

[x] create new rails project
[x] add formtastic
[x] install formtastic
[x] run tests
[x] generate form
[x] test form

wdyt @justinfrench ? I think it is a nice way to verify the rails integration works correctly.

Awesome idea!

authors: justinfrench mikz

repo: justinfrench/formtastic


text:
Search offset and added missing API key

Hello :)
Supposing two changes:
1. Added search offset
I was implementing a paged gif search and there is already a pos parameter in the internal SDK api but not passing outside. So I added API for that.
2. Missing API Key on category list
Not sure what happened here, but the Key is missing here for some reason. Updating to the master branch it also stopped working for me while the pub.dev version still works. So keep an eye on that if I am wrong with my thought here :D
Regards and have a nice weekend!

@justkawal any chance for review? 🙃

@

@justkawal any chance for review? 🙃

@justkawal any chance for review? 🙃

Sure brother

authors: justkawal obrunsmann

repo: justkawal/tenor


text:
end to end adapter system tests in juttle-engine

Adapters Tested:

[x] graphite
[x] influx
[x] elastic
[ ] opentsdb
[ ] mysql
[ ] postgres
[ ] sqlite

Keep this open till I have all adapters covered.

repo: juttle/juttle-engine


text:
error stripping locations from read / write procs

The following command produces an opaque error:
# bin/juttle --mode compile -e 'read file'
Error: Cannot read property 'apply' of undefined

The problem comes when the location stripper is trying to walk the AST, since the node generated for the read and write procs contains a child element (the adapter name) that has no AST node type but does have a location.
At the same time, the ASTVisitor should give more helpful errors when encountering problems in the AST.

At the same time, the ASTVisitor should give more helpful errors when encountering problems in the AST.

This facility exists from day 1, it is just disabled by default for performance reasons.

authors: demmer dmajda

repo: juttle/juttle


text:
🛑 SALUD SOCIAL is down

In 61cc332, SALUD SOCIAL (https://saludsocial.tonoip.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: SALUD SOCIAL is back up in a8ec0fd.

repo: jveyes/upptime


text:
Tree view for caller callee

Is it possible to generate a tree view showing caller callee with %CPU times at each tree method?

Well, Flame Graph is a visualization of such a tree.
Or please clarify what you mean. Do you have an example?

@apangin  I am planning for a demo next week across my group, are you planning for 1.4 release?

@rpulle My intention was to complete JFR support by 1.4 release. I'm going to finish it soon, but not sure it'll be done by the next week.

@apangin  Can you please clarify on the numbers on profiler output?

how to interpret number "10569704" for alloc profiling?
[alloc] profiling
10569704 (50.00%)       1  java.lang.Object[]
10569688 (50.00%)       1  char[]

how to interpret number "4117339" for cpu profiling?
[cpu] profiling
4117339 (13.00%)       4  [unknown]
2074622 ( 6.55%)       2  MutableSpaceUsedHelper::take_sample()
1060175 ( 3.35%)       1  Monitor::IWait(Thread*, long)

Integrated in #117

authors: apangin rpulle

repo: jvm-profiling-tools/async-profiler


text:
failed while authorizing, why error 'Invalid client' ?

i'am using laravel 8.0,
code :
$session = new SpotifyWebAPI\Session(
'----XXXX---',
'----XXXX----'
);
    $session->requestCredentialsToken();
    $accessToken = $session->getAccessToken();

this error:
SpotifyWebAPI\SpotifyWebAPIAuthException
Invalid client

Hey!
Something seems to be wrong with your Spotify app, sometimes it helps just creating a new one and using that one instead.

ridiculous case 🙃
solved, apparently because of a problem when copying the CLIENT_ID using the Chrome browser Version 85.0.4183.121, when pasting the CLIENT_ID in the text editor, the result given was different from the original.
alternative way is to use another browser when copying CLIENT_ID, in this case i'am using Mozilla

authors: jwilsson pepoper

repo: jwilsson/spotify-web-api-php


text:
Serial number validation

When entering a serial number, validate that the serial number matches the expected format for either a Brother, Sharp, or LUNA device. If it doesn't, advise the user that the serial number doesn't appear valid. Warning should be able to be overridden by a management account.

Serial number formats should be able to be defined in setup

repo: jxthibeault/cot-install


text:
CTRL + Y broken on windows

On Windows CTRL + Y is the shortcut for REDO, however your plug-in maps this to Delete line at caret. This makes undo then redo impossible and causes attempts to redo a change to delete entire lines costing you valuable development time as you manually recreate whatever code was deleted.
Looking at the VSCode keybindings for both Ctrl + Shift +Z and Ctrl + Y are bound to redo. Ctrl + Y is the most widely used binding for redo on windows machines and shouldn't be overwritten.

I guess IntelliJ used CTRL+SHIFT+Z for redo, horrible.

I can't accept your request because of below pdf. But I can create a special build for you that removed Ctrl + Y.

IntelliJ IDEA Default Keymap > Editing > Delete line at caret > Ctrl + Y
https://resources.jetbrains.com/storage/products/intellij-idea/docs/IntelliJIDEA_ReferenceCard.pdf

removed Ctrl + Y build
intellij-idea-keybindings-0.2.771.vsix.zip


text:
✨ Plan Do -result 画面実装

🎫 関連課題

#2
#4

✨ 実現したいこと

[ ] タイトルカード

[ ] Weekly result文言表示
[ ] 前週の日付表示
[ ] 第何週目表示

[ ] リザルトカード

[ ] プログレスサークル

[ ] 50%以下 : FF575F
[ ] 51%以上75%以下 : FFC542
[ ] 76%以上 : 00DBB5
[ ] 0% : 2A3C44
[ ] インナーシャドウ

[ ] 最も投稿されたタグ・されなかったタグ

[ ] 押下でAct画面ソート結果に遷移（遷移時Act画面はボトムバー非表示→戻る動作しかさせない）
[ ] Press the tag to check the reflection !!

- [ ] Set your next goal !! →ボタン
- [ ] 目標設定がされていない「次の週のPlan Do画面に遷移する」
- [ ] 00DBB5
🚩 やらないこと

内部ロジック（login処理など）の実装
ライトモードへの対応

🔀 達成条件

イメージ通りに画面実装

👀 備考

figma

🎨 デザイン変更

[ ] Set your next goal !! →ボタン廃止
[ ] Advice Slip JSON API 導入によるアドバイス表示


text:
Raise ArgumentError when value is not positive

With this snippet,
require 'benchmark_driver'

BenchmarkDriver::Output::Compare.new(jobs: nil, executables: nil).__send__(:humanize, 0.0)

Actual
$ ruby test.rb
Traceback (most recent call last):
        2: from test.rb:3:in `<main>'
        1: from /Users/hkdnet/.ghq/github.com/hkdnet/benchmark_driver/lib/benchmark_driver/output/compare.rb:111:in `humanize'
/Users/hkdnet/.ghq/github.com/hkdnet/benchmark_driver/lib/benchmark_driver/output/compare.rb:111:in `to_i': -Infinity (FloatDomainError)

Expected
Do not raise FloatDomainError

This occurred when BenchmarkDriver::Metrics#value is 0.0.

I'm afraid this patch does not make sense...
If BenchmarkDriver::Metrics#value is 0.0, it is not comparable. Therefore benchmark_driver should raise neither FloatDomainError nor ArgumentError, it should raise, for example, CannotCompareError.

I think this is fine, or at least better. Thanks!


text:
merge from arlac77/template-esm-only,arlac77/template-github

package.json

chore(package): (exports)

Codecov Report

Merging #174 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #174   +/-   ##
=======================================
  Coverage   85.58%   85.58%
=======================================
  Files           4        4
  Lines         430      430
  Branches       33       33
=======================================
  Hits          368      368
  Misses         62       62

Continue to review full report at Codecov.

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


text:
Pin kapp with kapp-controller

Right now, kapp-controller builds package the latest version of kapp. This makes it impossible to conclude the kapp version from kapp-controller's version.
Should we consider pinning kapp's version per kapp-controller release?
tagging my pair @Haegi

Should we consider pinning kapp's version per kapp-controller release?

isn't it implicitly "pinned" to version that was included at the time of the build of kapp-controller? may be you have something for pinning?

This makes it impossible to conclude the kapp version from kapp-controller's version.

how would you want to surface this information? release notes, logs, etc?
i dont think having one product version be dependent on another (eg they always match or something like that) is a good idea since they are two distinct products and evolve independently.

isn't it implicitly "pinned" to version that was included at the time of the build of kapp-controller? may be you have something for pinning?

The problem is that build are not reproducible at the moment. I cannot build an old version of the controller if I would want to.

how would you want to surface this information? release notes, logs, etc?

Maybe? I mean we have release notes for every release, why not use them for that?

i dont think having one product version be dependent on another (eg they always match or something like that) is a good idea since they are two distinct products and evolve independently.

If the products would revolve independently, they should not be packaged together in my opinion.
We should also consider Kapp evolving. What if kapp has a breaking change in the way it communicates with the controller? All old versions would be broken and no new builds of old versions could be created.

The problem is that builds are not reproducible at the moment. I cannot build an old version of the controller if I would want to (at least not the original version with the old Kapp version).

👍 i understand now what you are after.

fixed in https://github.com/k14s/kapp-controller/commit/9c220933af6585fd30cff50d48979e1c959f3625

included in https://github.com/k14s/kapp-controller/releases/tag/v0.10.0

authors: cppforlife lucaschimweg


text:
Error while decoding

2023-10-02 04:44:42,617 INFO [zipformer.py:178] At encoder stack 4, which has downsampling_factor=2, we will combine the outputs of layers 1 and 3, with downsampling_factors=2 and 8.
2023-10-02 04:44:42,626 INFO [decode.py:917] Calculating the averaged model over epoch range from 5 (excluded) to 30
Traceback (most recent call last):
File "./pruned_transducer_stateless7/decode.py", line 1015, in
main()
File "/mnt/efs/swetha/icefall_env_swe/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
return func(*args, **kwargs)
File "./pruned_transducer_stateless7/decode.py", line 922, in main
model.load_state_dict(
File "/mnt/efs/swetha/icefall_env_swe/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1667, in load_state_dict
raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
RuntimeError: Error(s) in loading state_dict for Transducer:
size mismatch for decoder.embedding.weight: copying a param with shape torch.Size([500, 512]) from checkpoint, the shape in current model is torch.Size([250, 512]).
size mismatch for joiner.output_linear.weight: copying a param with shape torch.Size([500, 512]) from checkpoint, the shape in current model is torch.Size([250, 512]).
size mismatch for joiner.output_linear.bias: copying a param with shape torch.Size([500]) from checkpoint, the shape in current model is torch.Size([250]).
size mismatch for simple_am_proj.weight: copying a param with shape torch.Size([500, 384]) from checkpoint, the shape in current model is torch.Size([250, 384]).
size mismatch for simple_am_proj.bias: copying a param with shape torch.Size([500]) from checkpoint, the shape in current model is torch.Size([250]).
size mismatch for simple_lm_proj.weight: copying a param with shape torch.Size([500, 512]) from checkpoint, the shape in current model is torch.Size([250, 512]).
size mismatch for simple_lm_proj.bias: copying a param with shape torch.Size([500]) from checkpoint, the shape in current model is torch.Size([250]).

Please show your complete command.
The error indicates you use a different set of model arguments for decode.py and train.py. Please check the commandline arguments carefully.

Yeah I resolved that error.. I'm getting very high word error rate.. what should I do to reduce

Are you using your own model or use our pre-trained model?
If you are using your own model, is your model converged?

No I'm using my own model.. I'm training the model again.. it was running before after i changed the gpu.. it is showing error like
File "/usr/lib/python3.8/shutil.py", line 675, in _rmtree_safe_fd
onerror(os.unlink, fullname, sys.exc_info())
File "/usr/lib/python3.8/shutil.py", line 673, in _rmtree_safe_fd
os.unlink(entry.name, dir_fd=topfd)
OSError: [Errno 16] Device or resource busy: '.nfsf8aa902a3d86d53e00000bf6'
Traceback (most recent call last):
File "./pruned_transducer_stateless7/train.py", line 1275, in
main()
File "./pruned_transducer_stateless7/train.py", line 1266, in main
mp.spawn(run, args=(world_size, args), nprocs=world_size, join=True)
File "/mnt/efs/swetha/icefall_env_swe/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 240, in spawn
return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
File "/mnt/efs/swetha/icefall_env_swe/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 198, in start_processes
while not context.join():
File "/mnt/efs/swetha/icefall_env_swe/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 160, in join
raise ProcessRaisedException(msg, error_index, failed_process.pid)
torch.multiprocessing.spawn.ProcessRaisedException:
-- Process 1 terminated with the following error:
Traceback (most recent call last):
File "/mnt/efs/swetha/icefall_env_swe/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 69, in _wrap
fn(i, *args)
File "/mnt/efs/swetha/marathi/ds-icefall-scripts/pruned_transducer_stateless7/train.py", line 1145, in run
train_one_epoch(
File "/mnt/efs/swetha/marathi/ds-icefall-scripts/pruned_transducer_stateless7/train.py", line 940, in train_one_epoch
valid_info = compute_validation_loss(
File "/mnt/efs/swetha/marathi/ds-icefall-scripts/pruned_transducer_stateless7/train.py", line 753, in compute_validation_loss
loss, loss_info = compute_loss(
File "/mnt/efs/swetha/marathi/ds-icefall-scripts/pruned_transducer_stateless7/train.py", line 704, in compute_loss
raise ValueError(

Duplicate of https://github.com/k2-fsa/icefall/issues/1289


text:
Fix torch.jit.script() export for pruned_transducer_stateless2

Fixes #1409

@csukuangfj - This is great. Works now. Thanks a lot.

authors: Tirthankar-iiitb csukuangfj


text:
DDP address in use

When I try to run more than one trainings (with a single job) on the same machine, I get this:
Traceback (most recent call last):
  File "mmi_bigram_train.py", line 475, in <module>
    main()
  File "mmi_bigram_train.py", line 238, in main
    setup_dist(rank=args.local_rank, world_size=args.world_size)
  File "/ceph-dan/.local/lib/python3.8/site-packages/snowfall-0.1-py3.8.egg/snowfall/dist.py", line 9, in setup_dist
  File "/ceph-dan/.local/lib/python3.8/site-packages/torch/distributed/distributed_c10d.py", line 423, in init_process_group
    store, rank, world_size = next(rendezvous_iterator)
  File "/ceph-dan/.local/lib/python3.8/site-packages/torch/distributed/rendezvous.py", line 179, in _env_rendezvous_handler
    store = TCPStore(master_addr, master_port, world_size, start_daemon, timeout)
RuntimeError: Address already in use

this is with mmi_bigram_train.py, with --world-size=1, --local-rank=0

... i.e. the defaults, no extra args.

We might need to make the port configurable. For a quick work-around you can change it here:
https://github.com/k2-fsa/snowfall/blob/master/snowfall/dist.py#L8

yeah I did that.
can't we randomly choose it in a range?  or does that create problems for co-ordination?
is the user just supposed to launch multiple copies of the job?  Or does it spawn?

We can choose it randomly - although I think with torch.distributed.launch we'd have to choose it outside of the python script, and with torch.distributed.spawn we can choose it inside the python script, before spawning jobs. All the spawned tasks would have to see the same address + port. It might be easier to implement with spawn that @csukuangfj has been using in another PR.

Getting this error:
de-74279-k2-dev-2-0331181900-7b69767657-72fhf:simple_v1: ngpus=2
de-74279-k2-dev-2-0331181900-7b69767657-72fhf:simple_v1: python3 -m torch.distributed.launch --nproc_per_node=$ngpus ./mmi_bigram_train.py --world_size $ngpus &
[1] 1489648
de-74279-k2-dev-2-0331181900-7b69767657-72fhf:simple_v1: *****************************************
Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your app\
lication as needed.
*****************************************

de-74279-k2-dev-2-0331181900-7b69767657-72fhf:simple_v1: World size: 2 Rank: 0
World size: 2 Rank: 1

de-74279-k2-dev-2-0331181900-7b69767657-72fhf:simple_v1: Traceback (most recent call last):
Traceback (most recent call last):
  File "./mmi_bigram_train.py", line 474, in <module>
  File "./mmi_bigram_train.py", line 474, in <module>
    main()
  File "./mmi_bigram_train.py", line 238, in main
    main()
  File "./mmi_bigram_train.py", line 238, in main
    setup_dist(rank=args.local_rank, world_size=args.world_size)
  File "/ceph-dan/.local/lib/python3.8/site-packages/snowfall-0.1-py3.8.egg/snowfall/dist.py", line 9, in setup_dist
    setup_dist(rank=args.local_rank, world_size=args.world_size)
  File "/ceph-dan/.local/lib/python3.8/site-packages/snowfall-0.1-py3.8.egg/snowfall/dist.py", line 9, in setup_dist
  File "/ceph-dan/.local/lib/python3.8/site-packages/torch/distributed/distributed_c10d.py", line 442, in init_process_group
  File "/ceph-dan/.local/lib/python3.8/site-packages/torch/distributed/distributed_c10d.py", line 442, in init_process_group
    barrier()
  File "/ceph-dan/.local/lib/python3.8/site-packages/torch/distributed/distributed_c10d.py", line 1947, in barrier
    barrier()
  File "/ceph-dan/.local/lib/python3.8/site-packages/torch/distributed/distributed_c10d.py", line 1947, in barrier
    work = _default_pg.barrier()
RuntimeError: NCCL error in: /pytorch/torch/lib/c10d/ProcessGroupNCCL.cpp:784, invalid usage, NCCL version 2.7.8
    work = _default_pg.barrier()
RuntimeError: NCCL error in: /pytorch/torch/lib/c10d/ProcessGroupNCCL.cpp:784, invalid usage, NCCL version 2.7.8
Traceback (most recent call last):
  File "/usr/lib/python3.8/runpy.py", line 192, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.8/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/ceph-dan/.local/lib/python3.8/site-packages/torch/distributed/launch.py", line 260, in <module>
    main()
  File "/ceph-dan/.local/lib/python3.8/site-packages/torch/distributed/launch.py", line 255, in main
    raise subprocess.CalledProcessError(returncode=process.returncode,
subprocess.CalledProcessError: Command '['/usr/bin/python3', '-u', './mmi_bigram_train.py', '--local_rank=1', '--world_size', '2']' returned non-zero exit status 1.

Hmm, I've never seen this one before...

I found something about why, when we use torch.distributed.launch, it was hanging at the end.  (Caution: my lhotse was not fully up to date, although sampling.py doesn't seem to have changed in the interim).
Firstly, at startup, I got a bunch of messages like this (I was confused with how many there were):
2021-04-10 23:35:58,870 INFO [mmi_bigram_train.py:274] About to create train dataset
2021-04-10 23:35:59,509 INFO [mmi_bigram_train.py:284] Using BucketingSampler.
2021-04-10 23:35:59,813 INFO [sampling.py:523] Distributed training with world size of 2 detected (node's local rank is 0. Splitting cuts into 2 partitions (this partition has cut IDs range\
 [(0, 1427)].
2021-04-10 23:35:59,814 INFO [sampling.py:523] Distributed training with world size of 2 detected (node's local rank is 0. Splitting cuts into 2 partitions (this partition has cut IDs range\
 [(0, 1427)].
2021-04-10 23:35:59,814 INFO [sampling.py:523] Distributed training with world size of 2 detected (node's local rank is 0. Splitting cuts into 2 partitions (this partition has cut IDs range\
 [(0, 1427)].
2021-04-10 23:35:59,814 INFO [sampling.py:523] Distributed training with world size of 2 detected (node's local rank is 0. Splitting cuts into 2 partitions (this partition has cut IDs range\
 [(0, 1427)].
2021-04-10 23:35:59,815 INFO [sampling.py:523] Distributed training with world size of 2 detected (node's local rank is 0. Splitting cuts into 2 partitions (this partition has cut IDs range\
 [(0, 1427)].
2021-04-10 23:35:59,815 INFO [sampling.py:523] Distributed training with world size of 2 detected (node's local rank is 0. Splitting cuts into 2 partitions (this partition has cut IDs range\
 [(0, 1427)].
2021-04-10 23:35:59,815 INFO [sampling.py:523] Distributed training with world size of 2 detected (node's local rank is 0. Splitting cuts into 2 partitions (this partition has cut IDs range\
 [(0, 1427)].
2021-04-10 23:35:59,816 INFO [sampling.py:523] Distributed training with world size of 2 detected (node's local rank is 0. Splitting cuts into 2 partitions (this partition has cut IDs range\
 [(0, 1427)].
2021-04-10 23:35:59,816 INFO [sampling.py:523] Distributed training with world size of 2 detected (node's local rank is 0. Splitting cuts into 2 partitions (this partition has cut IDs range\
 [(0, 1427)].
2021-04-10 23:35:59,816 INFO [sampling.py:523] Distributed training with world size of 2 detected (node's local rank is 0. Splitting cuts into 2 partitions (this partition has cut IDs range\
 [(0, 1427)].
2021-04-10 23:35:59,816 INFO [sampling.py:523] Distributed training with world size of 2 detected (node's local rank is 0. Splitting cuts into 2 partitions (this partition has cut IDs range\
 [(0, 1427)].
2021-04-10 23:35:59,817 INFO [sampling.py:523] Distributed training with world size of 2 detected (node's local rank is 0. Splitting cuts into 2 partitions (this partition has cut IDs range\
 [(0, 1427)].
2021-04-10 23:35:59,817 INFO [sampling.py:523] Distributed training with world size of 2 detected (node's local ran
...
2021-04-10 23:35:59,820 INFO [sampling.py:523] Distributed training with world size of 2 detected (node's local rank is 0. Splitting cuts into 2 partitions (this partition has cut IDs range\
 [(0, 1427)].
2021-04-10 23:35:59,820 INFO [sampling.py:523] Distributed training with world size of 2 detected (node's local rank is 0. Splitting cuts into 2 partitions (this partition has cut IDs range\
 [(0, 1427)].
2021-04-10 23:35:59,820 INFO [sampling.py:523] Distributed training with world size of 2 detected (node's local rank is 0. Splitting cuts into 2 partitions (this partition has cut IDs range\
 [(0, 1427)].
2021-04-10 23:35:59,821 INFO [sampling.py:523] Distributed training with world size of 2 detected (node's local rank is 0. Splitting cuts into 2 partitions (this partition has cut IDs range\
 [(0, 1427)].
2021-04-10 23:35:59,821 INFO [sampling.py:523] Distributed training with world size of 2 detected (node's local rank is 0. Splitting cuts into 2 partitions (this partition has cut IDs range\
 [(0, 1427)].
2021-04-10 23:35:59,821 INFO [sampling.py:523] Distributed training with world size of 2 detected (node's local rank is 0. Splitting cuts into 2 partitions (this partition has cut IDs range\
 [(0, 1427)].
2021-04-10 23:35:59,822 INFO [sampling.py:523] Distributed training with world size of 2 detected (node's local rank is 0. Splitting cuts into 2 partitions (this partition has cut IDs range\
 [(0, 1426)].
2021-04-10 23:35:59,824 INFO [mmi_bigram_train.py:298] About to create train dataloader

.. .that's just FYI.  I am confused why it never says the local rank is 1, and why the last message says 1426.
I am using world-size=2.  The rank=1 process doesn't print much logs, but I does print some, which are printed near the start of the log file for some reason, and not at all in sync with where you'd expect them to be:
2021-04-10 23:36:00,287 INFO [mmi_bigram_train.py:401] epoch 0, learning rate 0.001
2021-04-10 23:36:02,585 INFO [mmi_bigram_train.py:176] batch 0, epoch 0/10 global average 2021-04-10 23:36:02,597 INFO [distributed.py:607] Reducer buckets have been rebuilt in this iterati\
on.
2021-04-11 00:06:37,689 INFO [common.py:201] write training info to exp-lstm-adam-mmi-bigram-musan-dist/best-epoch-info
2021-04-11 00:06:37,689 INFO [common.py:201] write training info to exp-lstm-adam-mmi-bigram-musan-dist/epoch-0-info
2021-04-11 00:06:37,690 INFO [mmi_bigram_train.py:401] epoch 1, learning rate 0.001
2021-04-11 00:37:08,277 INFO [common.py:201] write training info to exp-lstm-adam-mmi-bigram-musan-dist/best-epoch-info
2021-04-11 00:37:08,277 INFO [common.py:201] write training info to exp-lstm-adam-mmi-bigram-musan-dist/epoch-1-info
2021-04-11 00:37:08,278 INFO [mmi_bigram_train.py:401] epoch 2, learning rate 0.001
2021-04-11 01:07:37,757 INFO [common.py:201] write training info to exp-lstm-adam-mmi-bigram-musan-dist/best-epoch-info
2021-04-11 01:07:37,757 INFO [common.py:201] write training info to exp-lstm-adam-mmi-bigram-musan-dist/epoch-2-info
2021-04-11 01:07:37,758 INFO [mmi_bigram_train.py:401] epoch 3, learning rate 0.001
2021-04-11 01:38:04,478 INFO [common.py:201] write training info to exp-lstm-adam-mmi-bigram-musan-dist/best-epoch-info
2021-04-11 01:38:04,478 INFO [common.py:201] write training info to exp-lstm-adam-mmi-bigram-musan-dist/epoch-3-info
2021-04-11 01:38:04,478 INFO [mmi_bigram_train.py:401] epoch 4, learning rate 0.001
2021-04-11 02:08:40,364 INFO [common.py:201] write training info to exp-lstm-adam-mmi-bigram-musan-dist/best-epoch-info
2021-04-11 02:08:40,365 INFO [common.py:201] write training info to exp-lstm-adam-mmi-bigram-musan-dist/epoch-4-info
2021-04-11 02:08:40,365 INFO [mmi_bigram_train.py:401] epoch 5, learning rate 0.001
2021-04-11 02:39:10,325 INFO [common.py:201] write training info to exp-lstm-adam-mmi-bigram-musan-dist/best-epoch-info
2021-04-11 02:39:10,326 INFO [common.py:201] write training info to exp-lstm-adam-mmi-bigram-musan-dist/epoch-5-info
2021-04-11 02:39:10,326 INFO [mmi_bigram_train.py:401] epoch 6, learning rate 0.001
2021-04-11 03:09:50,414 INFO [common.py:201] write training info to exp-lstm-adam-mmi-bigram-musan-dist/best-epoch-info
2021-04-11 03:09:50,415 INFO [common.py:201] write training info to exp-lstm-adam-mmi-bigram-musan-dist/epoch-6-info
2021-04-11 03:09:50,415 INFO [mmi_bigram_train.py:401] epoch 7, learning rate 0.0008
2021-04-11 03:36:48,757 WARNING [cut.py:1023] To perform mix, energy must be non-zero and non-negative (got 0.0).  Cut with id "c1c0349b-2b4f-3277-d8a3-c1a701cc4c32" will not be mixed in.
2021-04-11 03:40:24,571 INFO [common.py:201] write training info to exp-lstm-adam-mmi-bigram-musan-dist/epoch-7-info
2021-04-11 03:40:24,571 INFO [mmi_bigram_train.py:401] epoch 8, learning rate 0.0006400000000000002
2021-04-11 04:11:20,545 INFO [common.py:201] write training info to exp-lstm-adam-mmi-bigram-musan-dist/epoch-8-info
2021-04-11 04:11:20,546 INFO [mmi_bigram_train.py:401] epoch 9, learning rate 0.0005120000000000001
2021-04-11 04:42:13,339 INFO [common.py:201] write training info to exp-lstm-adam-mmi-bigram-musan-dist/best-epoch-info
2021-04-11 04:42:13,340 INFO [common.py:201] write training info to exp-lstm-adam-mmi-bigram-musan-dist/epoch-9-info
2021-04-11 04:42:13,340 WARNING [mmi_bigram_train.py:466] Done
erage objf: 1.353939 over 1285235.0 frames (100.0% kept), current batch average objf: 1.197140 over 9905 frames (100.0% kept) avg time waiting for batch 0.012s
2021-04-10 23:39:06,673 INFO [mmi_bigram_train.py:176] batch 140, epoch 0/10 global average objf: 1.346037 over 1383290.0 frames (100.0% kept), current batch average objf: 1.175396 over 974\
1 frames (100.0% kept) avg time waiting for batch 0.012s

Anyway, when I check the times of where it starts each epoch, this rank=1 job does not seem to be correctly synchronized with the rank=0 job.  It finishes epoch 0 when the rank=0 job has only finished about 90% of its minibatches.

Wouldn't it be easier, in order to support distributed training, to just have the sampler process things as normal and then return 1 out of every world_size minibatches?  The time that it processes that metadata will probably overlap with GPU stuff anyway, I don't really think that's going to be the limiting factor.
That way we can more easily ensure the number of minibatches is exactly the same between jobs.

That way we can more easily ensure the number of minibatches is exactly the same between jobs.

I confirm that if different nodes have a different number of utterances in its dataloader, the node with most utterances will hang in the end.
I suspect the reason is due to allreduce called inside backward. Since nodes with fewer utterances
exit earlier, the node with most utterances waits inside allreduce; but it does not receive responses from other already exited nodes. Therefore, it waits indefinitely.
A minimal example to reproduce it is given below.
The current approach to partition the dataset over different nodes cannot guranteen that every node receives the same amount of utterances. See
https://github.com/lhotse-speech/lhotse/blob/3c6dea9e90536e01b6ce7b937682ab85ae50d680/lhotse/dataset/sampling.py#L519-L522
        total = len(data_source)
        per_partition = int(ceil(total / float(world_size)))
        partition_start = rank * per_partition
        partition_end = min(partition_start + per_partition, total)

The node with the largest rank value receives fewer if  total % world_size != 0.
That may explain why the node with rank==0 hangs in the end.

#!/usr/bin/env python3

import os
import torch.distributed as dist
import torch.multiprocessing as mp
from torch.nn.parallel import DistributedDataParallel as DDP

import torch

import datetime

def run(rank: int, world_size: int):
    print(f'world_size: {world_size}')
    device = torch.device('cuda', rank)
    if rank != 0:
        data = [torch.tensor([1], device=device, dtype=torch.float32) for _ in range(world_size)]
    else:
        data = [torch.tensor([1], device=device, dtype=torch.float32) for _ in range(world_size*100)]
    # NOTE: `data` on rank 0 has more entries
    dist.barrier()

    model = torch.nn.Linear(1, 1).to(device)
    model = DDP(model, device_ids=[rank])
    for i, d in enumerate(data):
        model.zero_grad()
        y = model(d)
        y.backward()

    print(f'rank {rank} done')
    # node with rank==0 will exit after timeout (5 seconds)
    # The default time out is 30 minutes. But it comes into effect
    # only if one of the following environment variable is
    # set:
    #  - NCCL_ASYNC_ERROR_HANDLING
    #  - NCCL_ASYNC_ERROR_HANDLING
    # See https://pytorch.org/docs/stable/distributed.html#torch.distributed.init_process_group

def init_process(rank: int, world_size: int, fn):
    os.environ['MASTER_ADDR'] = 'localhost'
    os.environ['MASTER_PORT'] = '12357'
    dist.init_process_group('nccl',
                            rank=rank,
                            world_size=world_size,
                            timeout=datetime.timedelta(0, 5))
    fn(rank, world_size)

if __name__ == '__main__':
    print(f'dist.is_available: {dist.is_available()}')
    world_size = 3
    processes = []
    mp.set_start_method('spawn')
    for rank in range(world_size):
        p = mp.Process(target=init_process, args=(rank, world_size, run))
        p.start()
        processes.append(p)

    for p in processes:
        p.join()

Its output is:
(NOTE: It has to set the environment variable NCCL_ASYNC_ERROR_HANDLING=1)
$ NCCL_ASYNC_ERROR_HANDLING=1 ./foo.py
dist.is_available: True
world_size: 3
world_size: 3
world_size: 3
rank 1 done
rank 2 done
Process Process-1:
Traceback (most recent call last):
  File "/root/fangjun/open-source/pyenv/versions/3.8.6/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/root/fangjun/open-source/pyenv/versions/3.8.6/lib/python3.8/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/root/fangjun/open-source/.n/pytorch/code/ddp/ex3.py", line 47, in init_process
    fn(rank, world_size)
  File "/root/fangjun/open-source/.n/pytorch/code/ddp/ex3.py", line 28, in run
    y.backward()
  File "/root/fangjun/py38/lib/python3.8/site-packages/torch/tensor.py", line 221, in backward
    torch.autograd.backward(self, gradient, retain_graph, create_graph)
  File "/root/fangjun/py38/lib/python3.8/site-packages/torch/autograd/__init__.py", line 130, in backward
    Variable._execution_engine.run_backward(
RuntimeError: NCCL communicator was aborted.

@pzelasko
How about dropping some utterances in partition_cut_ids
so that all nodes get the same number of utterances?

Oooh, now it all finally makes sense. Thanks for debugging this guys. I'll add a fix to the cut ids partitioning in the sampler.

I'm going to use @danpovey's solution rather than @csukuangfj's solution -- unfortunately, it is not straightforward to estimate how many utterances should be dropped in partition_cut_ids, since we have a dynamic batch size. That means that equal number of cuts for each partition doesn't guarantee equal number of batches due to variations in duration and max_duration constraint. I think that dropping all batches except sth. like batch_idx + rank % world_size is much more viable. I'll test it and make a PR in Lhotse.

@danpovey @csukuangfj can you please try out the version in PR https://github.com/lhotse-speech/lhotse/pull/267 and let me know if it helped? I won't be able to test the snowfall distributed training setup today, but based on the unit tests I wrote it seems to have fixed the issues with an unequal number of batches in each worker.

@pzelasko
Thanks. Trying it.

@pzelasko
I confirm that the current change can solve the hanging problem.
Here is the tensorboard log of DDP training with 3 GPUs:

https://tensorboard.dev/experiment/UGf0fbC0QianY9WyeghJpQ/

And the WERs are
2021-04-13 09:12:14,242 INFO [common.py:356] [test-clean] %WER 7.39% [3885 / 52576, 505 ins, 330 del, 3050 sub ]
2021-04-13 09:14:29,223 INFO [common.py:356] [test-other] %WER 18.82% [9849 / 52343, 1149 ins, 863 del, 7837 sub ]

The WERs are worse than that of single GPU training. I believe the reason is due to the learning rate.
You can compare the learning rate from the above tensorboard log with the one from single GPU training.
I believe if we train it for more epochs, it can achieve similar results.
NOTE: The training time per epoch with 3 GPUs is about 16 minutes, which is about 1/3 of single GPU training.

Great!!
I think in order to get comparable results to the baseline we'd have to
divide the minibatch size by the number of workers.
Let's merge this?
On Tue, Apr 13, 2021 at 9:21 AM Fangjun Kuang @.***>
wrote:

@pzelasko https://github.com/pzelasko
I confirm that the current change can solve the hanging problem.
Here is the tensorboard log of DDP training with 3 GPUs:

https://tensorboard.dev/experiment/UGf0fbC0QianY9WyeghJpQ/

And the WERs are
2021-04-13 09:12:14,242 INFO [common.py:356] [test-clean] %WER 7.39% [3885 / 52576, 505 ins, 330 del, 3050 sub ]
2021-04-13 09:14:29,223 INFO [common.py:356] [test-other] %WER 18.82% [9849 / 52343, 1149 ins, 863 del, 7837 sub ]
The WERs are worse than that of single GPU training. I believe the reason
is due to the learning rate.
You can compare the learning rate from the above tensorboard log with the
one from single GPU training
https://tensorboard.dev/experiment/h3xiWY0oQ4WGd2dRgG8NWw.
I believe if we train it for more epochs, it can achieve similar results.
NOTE: The training time per epoch with 3 GPUs is about 16 minutes, which
is about 1/3 of single GPU training.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/k2-fsa/snowfall/issues/152#issuecomment-818361538,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAZFLO3I4TUSDORV2AUBS6TTIOMBBANCNFSM42WSEJPA
.

Oh it's a PR to lhotse, we'll wait for Piotr to merge.

Merged!

FYI this could be of interest to us https://huggingface.co/blog/accelerate-library

authors: csukuangfj danpovey pzelasko


text:
AWS Health , DevOps Guru が全リージョンのイベントをベースリージョンに集約しているか確認する

AWS Health, DevOps Guru のイベント集約は Security Hub に頼ってないから自分でやらなきゃいけないはず。

https://github.com/k3n-74/aws-governance-base/pull/53


text:
[release-1.20] Protect packaged helm charts from upgrade via Rancher UI

https://github.com/k3s-io/k3s/issues/4315

The Rancher UI currently suggests upgrades and allows edits of Helm charts for packaged components. We should protect these charts so that they cannot be edited via the Rancher UI, and it does not suggest upgrades if a matching chart name is found in a chart repo.
As per @vincent99 we could do this by setting an annotation in the Helm release data:
https://github.com/rancher/rancher/issues/35256#issuecomment-950018715
We should confirm with the Rancher team that this is the correct and best way to do this, and then figure out how to do so. A Helm plugin (similar to what we did for helm-set-status) may be the easiest thing to do?

Validated on this PR to release-1.20 branch, commit 856171838e4a1ad222506eec2bc8d432e36866a8  on rancher v2.6.3-rc2

Fresh install of a cluster and import into rancher does not have any prompt to upgrade traefik
Upgrading a cluster already imported into rancher removes the prompt to upgrade traefik

The resulting view looks like:

I want to add one thing here. I also confirmed that upgrading from 1.20.12+k3s1 to v1.21.7-rc2+k3s1 still does NOT upgrade traefik to Traefik v2. Therefore, NO traefik upgrade happens and the rancher UI still encounters this issue. I would recommend users to upgrade to v1.20.13+k3s1 BEFORE upgrading to v1.21.7 or v1.22.4 if they want to go to v1.21+ during this cycle.

authors: brandond rancher-max


text:
k3s server failed to work with docker on Ubuntu 20.04 ARM64

Environmental Info:
K3s Version:   v1.24.4+k3s1 (c3f830e9)

Node(s) CPU architecture, OS, and Version:

Cluster Configuration:
os: Ubuntu 20.04
arch: arm64
docker: 20.10

Describe the bug:
1 master, 1 worker

Steps To Reproduce:

install docker: curl https://releases.rancher.com/install-docker/20.10.sh | sh
start k3s server: k3s server --docker --snapshotter fuse-overlayfs
Expected behavior:

k get node, node status should be ready
Actual behavior:

https://gist.github.com/lazywhite/52ee1643747555643c4e06519106c798
Additional context / logs:

error checking rule: exit status 2: ip6tables v1.8.4 (legacy): Couldn't load match comment':No such file or directory`
Duplicate of https://github.com/k3s-io/k3s/issues/6093#issuecomment-1235654912

authors: brandond lazywhite


text:
ARM images?

Details
Helm chart name and version:
jackett 9.0.0
Container name and tag:
ghcr.io/k8s-at-home/jackett:v0.17.931
What steps did you take and what happened:
Just upgraded the helm chart for Jackett to v9.0.0.   This moves away from linuxserver builds on hub.docker.com to ghr.io.  Now I'm getting an error:
Failed to pull image "ghcr.io/k8s-at-home/jackett:v0.17.908": rpc error: code = NotFound desc = failed to pull and unpack image "ghcr.io/k8s-at-home/jackett:v0.17.908": no match for platform in manifest: not found

Not sure how to inspect manifests on ghrc.io, but from what I've seen, I think it only include amd64 builds? So this change in v9.0.0 breaks for users on ARM devices.
Relevant Helm values:
    image:
      repository: ghcr.io/k8s-at-home/jackett
      pullPolicy: IfNotPresent
      tag: v0.17.931
    env:
      TZ: "Europe/Brussels"
      PUID: "1000"
      PGID: "1000"
    persistence:
      config:
        enabled: true
        existingClaim: "pvc-jackett-config"
      downloads:
        enabled: true
        mountPath: /downloads
        existingClaim: "pvc-transmission-downloads"
    resources:
      requests:
        cpu: 200m
        memory: 128Mi

I supplied the image tags to see if the problem was only related to tag: v0.17.908 (which is in the chart's values), but I'm getting the same problem.
What did you expect to happen:
Still having a working system after upgrading to v9.0.0.

Hi 👋 we only target arm64 and amd64, and the main reason behind this our own maintenance of these images. While we can technically support armhf, not all the images here would support it due to incapable libraries and the way we build images.

well, that's ... too bad.  guess I was lucky to use it while it worked.  :)

@clambin if you are on RasPi >= 4 you can roll Ubuntu arm64 on your Pis

thanks!  it's been on my list for a while, but that'd mean moving my whole k3s cluster to arm64 as well (lots of self-build images, which I'd also need to move to arm64).  But this is one more reason to do so.  :)

thanks! it's been on my list for a while, but that'd mean moving my whole k3s cluster to arm64 as well (lots of self-built images, which I'd also need to move to arm64). But this is one more reason to do so. :)

I just recently made the migration myself to arm64. You can always contribute and move your images to the container-images repo. . 😉

authors: clambin nicholaswilde onedr0p


text:
feat: return errors if filter specified by flag does not exist.

Closes #216
📑 Description

This PR adds an else clause to the AnalyzeFilters method in order to handle cases where a specified filter does not exist. Previously, when an unknown filter was passed, the method would simply return No problems detected. With this change, if the filter is not found in the analyzerMap, the method will return an error message that includes the name of the filter, directing the user to run k8sgpt filters list.
This enhancement improves the user experience and helps ensure that errors are caught and reported in a clear and helpful manner.
k8sgpt git:(feature/log-on-unexisted-filters) ✗ ./k8sgpt analyze --filter fake --namespace k8sgpt
Error: "fake" filter does not exist. Please run k8sgpt filters list.

✅ Checks

[x] My pull request adheres to the code style of this project
[ ] My code requires changes to the documentation
[ ] I have updated the documentation as required
[x] All the tests have passed

ℹ Additional Information

Nice!

authors: larssb matthisholleville


text:
[StatefulSet/Parallel] Virtual Functions Issues When Creating/Destroying Pods in Parallel. Switching devices

Environment

I'm trying to create a statefulset assigning 2 VF associated with 2 PF Infiniband interfaces per pod.
I'm creating 8 pods per server.
Every server has 16 infiniband interfaces, and I create 1VF per interface.

Problem Description
When I create the statefulset in parallel, or when it terminates (all the pods terminates at the same time), randomly some interfaces switch the PCI where it points.

So when I check the the device associated in the host they are totally messed
# cat /sys/class/infiniband_verbs/uverbs{19,20,21,22,23,24}/ibdev
mlx5_24
mlx5_23
mlx5_21
mlx5_22
mlx5_20
mlx5_19

The uverbs19 is pointing to the interface 24
The uverbs20 is pointing to the interface 23
The uverbs23 is pointing to the interface 20
The uverbs24 is pointing to the interface 19

So the pods cannot recognize the mlx interfaces to use them with UCX.
Workaround so far
Creating the cluster sequentially and scaling to 0 before terminating the statefulset helps, because the race condition is not triggered, but I guess is not the expected behaviour.

I've seen this PR that modifies the behaviour for the switchdev
https://github.com/k8snetworkplumbingwg/sriov-network-operator/pull/643
Could this potentially help with the problem?

so there is a global lock in the ib-sriov-cni that should prevent this one
@e0ne @ykulazhenkov is this something you will be able to take a look?

Hi,
can you provide the SriovIbNetwork you defined as well as the SriovPolicy ?
is the problem only that RDMA device changes (i.e mlx5_19 gets recreated/renamed to mlx5_24 after pod was deleted) ?
when the new pod starts does it have the correct mounts ? and UCX is unable to cope with RDMA device mlx5_24 having ULPs with different index (e.g uverbs19) ?

Hi @midnattsol any update on this issue or we can close it?

Hello @SchSeba I've been reviewing it, and I think the issue can come for another side, because there're no rules for the VF in the device manager, so in some situation, this is triggered. Does it make sense? If this is the case I think it could be closed.

I am sorry but I didn't follow your last comment can you please elaborate?
do you still see the issue? there is something we can help?

Hello, let me try to provide more context.
We are using the network-operator from NVIDIA, which leverages the sriov-network-device-plugin from the k8snetworkplumbingwg project.
What we are observing is that when using SR-IOV, the Linux udev service removes the virtual functions from the host and exposes them in the pods. Once these pods are destroyed, the host's device manager adds the virtual functions back.
The issue seems to occur during these resource movements. What I meant in my previous comment is that I don’t see any kind of udev rule generated for the virtual functions on the host to maintain consistent naming. I assume that, for some reason, the kernel might assign a new name to those resources if the udev rules are not created beforehand, leading to inconsistent behavior. However, I'm not entirely sure and it's something I still need to test.
Does that make sense?

Hi @midnattsol,
Thanks for the update!
@adrianchiris @ykulazhenkov is this something you can take a look I am not an expert in that area

authors: SchSeba adrianchiris midnattsol


text:
Loses track of folder settings

Expected behaviour
When folders are set to first class, they should stay that way.
Actual behaviour
K-9 Mail suddenly decides that folders that were previously explicitly marked 1st class no longer are.
Steps to reproduce

Set folder class and push class to first class and other settings to same as explicitly set settings.
Wait.
Eventually, at some random later point (sorry, can't be more specific because I don't actually know exactly what the trigger is), observe that the folder is no longer displayed when only first class folders are being displayed.
Open the folder's settings and observe that its class is now set to None.

Environment
K-9 Mail version: 5.010
Android version: 6.0.1
Account type (IMAP, POP3, WebDAV/Exchange): IMAP

I think I was wrong about this, so closing issue. Sorry to bother you.


text:
K-9 Keeps loosing my account settings

This is the second time this has happened. I open K-9 and I'm greeted with the account setup screen. As far as I can tell my account and all settings are gone. I suspect this may have happened during an app update, but I don't know when an update may have occurred or when it broke.
Environment
K-9 Mail version: 5.010
Android version: 7.0
Account type (IMAP, POP3, WebDAV/Exchange): IMAP, Dovecot

See #750. Nothing we can do without more information.

authors: cketti jdmulloy


text:
Automatically encrypt when composing a new email

Expected behavior
I want to enable automatic encryption to recipients whom I have a key for.
When I compose a new mail and add an recipient with a GPG Key in my OpenKeychain keyring, it should automatically enable encryption for this mail as well as all mails in the future.
Actual behavior
When I compose a new email and add an recipient with a GPG key in my OpneKeychain keyring encryption is NOT enabled and even if i enable encryption for this mail, when i compose a new email to this recipient I have to enable encryption again (which you can easily forget)
Steps to reproduce

Have a recipient with a GPG key in your keychain
Draft a new mail in K9 Mail and add the recipient to the mail
You have to manually enable encryption each time

In 5.2x it was still possible to configure the general enryption mode on a global level. In 5.3x this seems to be completely gone. I have read the blog articles about your ideas about the encryption of mails but did not find anything why automatic encryption is not possible anymore.
Environment
K-9 Mail version: 5.304
Android version: 8.0
Account type (IMAP, POP3, WebDAV/Exchange): IMAP

K9 will follow the autocrypt recommendations in this regard some time soon. Check out autocrypt.org for details :)

authors: Valodim fbatschi


text:
Can't set a key from Openkeychain to an account

I found some problems with OpenKeychain. One problem I found was #2601, very similar to this issue, but I prefer to open this issue to explain and show exactly what is happening. #3289 is similar too, but it is a solved bug, so it might be caused by a different reason.
I think it is a problem with K-9 because another applications in which I use a key from OpenKeychain, as Password Store, works fine.
Expected behavior
My intention is to add a key to an email account, but I can't. The expected behavior is to set without problems the key.
Actual behavior
The system shows a notification telling me that OpenKeychain has crashed. After several times trying it, rebooting, uninstalling and reinstalling the app, I didn't achieve nothing and it keeps crashing.
Steps to reproduce
Below there is an animated gif in which you can see what I am trying to do to configurate the key.

Set the OpenPGP provider in Global configuration > Encryption (excuse me if the items of the menu are not the same, I am translating it from the strings in Spanish, the language I use).
Then, try to set the key in Account configuration > Encryption > My key.
OpenKeychain crash.

Environment

K-9 Mail version: 5.600 (downloaded from F-Droid)
OpenKeychain version: 5.2 (downloaded from F-Droid)
Android version: 7.1.1
Smartphone: Moto X Play
Account type (IMAP, POP3, WebDAV/Exchange): IMAP

Of course, I take the opportunity to thank you for the development of this awesome mail client, the one I like more. I wish we could solve this issue.

@SergioFernandezCordero remember me that I have another smartphone where I can test it.
This issues happens different in the next environment:

K-9 Mail version: 5.600 (downloaded from F-Droid)
OpenKeychain version: 5.2 (downloaded from F-Droid)
Android version: 7.1.2 (MIUI 9.6.5.0)
Smartphone: Xiaomi Redmi 4X

In this case I show the window to generate a new key or to set an existing key, it is selected, but then, if I click in "My key", OpenKeychain crash.

Is there a workaround for this problem?

So, I just realized that when I set my phone to English, the problem does not appear and everything works as expected. Like the screencapture by @ivanhercaz  my phone is usually set to Spanish.

I confirm the behaviour indicated by @cvzi. Changing back to spanish crash again.

I can confirm this bug on a Samsung Chromebook with 71.0.3578.127 64bit installed
Changing language from Spanish to English, and K9-Mail and openkeychain don't crash any more.

I can confirm this bug on a Fairphone 2 with a Fairphone Open OS 7.1.2 19.02.1. Same versions of applications as @ivanhercaz
Changing language from Spanish to English solved the problem.

Thank you for your comments but in my case, I changed the language of K9 to English (as @elpasmo @chamonkey and @cvzi said) and the problem persists. I also try to set the key directly with "Applications" section of Openkeychain, the key is shown as allowed in the application, but the error mentioned above persists.

Thank you for your comments but in my case, I changed the language of K9 to English (as @elpasmo @chamonkey and @cvzi said) and the problem persists.

Sorry for the confusion but what I'd changed is the OS language, not the K9 setting.

@ivanhercaz Sorry for the confusion but what I'd changed is the OS language, not the K9 setting.

Oh, it works! Well... I will use English language until this error will be solved. Thank you @elpasmo!

Today I get a new smartphone and I am having the same error using Spanish as operative system language. I haven't checked yet the behavior with English language. My new environment is:

K-9 Mail version: 5.600 (downloaded from F-Droid)
OpenKeychain version: 5.2 (downloaded from F-Droid)
Android version: 9 PKQ1.181021.001 (MIUI Global 10.2.4.0)
Smartphone: Xiaomi Redmi 7
Account type (IMAP, POP3, WebDAV/Exchange): IMAP

I have a similar problem when I can not select a key at the moment. I selected openkeychain in: general settings> cryptography> opengpgp application> openkeychain.
but in the mail account> cryptography> no key selected is displayed.
I did the same procedure on monsamsung j5, it works very well, on the xioami redmi note 8 of my wife in the same way that it works, but on my xioami Mi 9 who does not want to add a key to the account of messaging

This seems really specific to Xiaomi.
My specs

Xiaomi Redmi Note 8 Pro
MIUI Global 11.0.3 | Stable
Android PPR1.180610.011
OpenKeyChain 5.5 (55000) installed from Google Play Store
k9, versions 5.709 (from github) and 5.600 (from Google Play Store)
tried German and English both as system language and k9 only

OpenKeyChain has loaded my key, I am able to decrypt and encrypt with it files on my phone. In k9 I have chosen OpenKeyChain as OpenPGP App (in global settings).
But when I go to account settings/cryptography I can't select a key, when I try to read an encrypted mail, I receive the error "decryption cancelled" (or the German translation thereof).
The language change trick did not help for me.
Is there any way I can gather more information to track down this issue? As all my mail is encrypted this limits the usefullness of my phone considerably. :(
No issues on my older Honor 7x - k9/OpenKeyChain works like a charm.

Duplicate of #2601

authors: Ost3rbaer SergioFernandezCordero chaos-prevails cketti cvzi elpasmo ivanhercaz pwepwe973


text:
K-9 not working properly with my hotmail account

I have two email accounts, both set up using IMAP: my normal one being [myname]@mvps.org, which I've had for years; and a secondary one which I've just added, which is [myname]@hotmail.co.uk.
If I receive an email in my mvps.org account, it appears in my K9-Mail inbox instantly (i.e. the moment it arrives on the mail server it also appears in my K9-Mail inbox). But if I receive an email in my hotmail account, it doesn't appear in my K9-Mail inbox unless I go into the inbox and press "Refresh".
I don't get this problem on my PC, on which my Thunderbird client picks up emails from both email addresses as soon as they are appear on the relevant mail server.
Also, if I delete an email from my K9-Mail inbox, then if it is an email from my mvps.org account, it is immediately deleted from the mail server as well; but if it is an email from my hotmail account, then it doesn't get deleted from the mail server. And yet, under Account Settings, "When I delete a message" is set to "Delete from server"; and "Erase deleted messages on server" is set to "Immediately. Again, I don't get this problem on my PC, on which, if I delete an email in my Thunderbird client, regardless of whether it's an mvps.org email or a hotmail email, the message is immediately deleted on the mail server as well.
Any idea why K9-Mail is synching my primary mvps.org account perfectly but is not synching my secondary hotmail.co.uk account properly?
Dave

Please use the mailing list for support requests.

authors: DaveRado cketti


text:
Typst Colors

Instead of using the default colors it might be nice to use the same colors that is used in https://typst.app.
Edit: Since this is more about theming if I add this it should be as an option

This is not an important feature, barely a nice-to-have. Out of scope for now.


text:
delete the lang server directory if installation fails

Hi,
This PR uses the vim.fn.delete function to remove a directory if the code returned from the terminal when installing a language server is different from 0. It aims to address this issue.

LGTM, thanks! Will test this real quick later and then merge.

No problem, thanks for the plugin, it's been very useful 😄

repo: kabouzeid/nvim-lspinstall


text:
文章多了之后分页不显示封面图

post的封面图和page2的封面图都找不到

新的一页会去page2的目录下面去找，是否有配置项可以修复这个bug呢

问题已经解决，封面图片必须写绝对地址


text:
Where to store or how to use token and id after log in?

Hello, I've been playing a bit with authentication via HTTP and I'm pretty new in Meteor. Here's my problem;
I can register via POST /api/users, I get token and user id
I can login via POST /api/login, I get token and userId as well
but Meteor.user() or Meteor.userId are still null. After page reload it is obviously the same
My configs are from README
What I tried to do is maybe hack:
Accounts.callLoginMethod({
   methodArguments: [{resume: 'KYN2LF7pklMTyECXe7O5EB-oA3IjpH9CX06ScmwjTtK'}],
   _suppressLoggingIn: true,
  userCallback: function (error) {console.log(arguments)}
})

where token (KYN2LF7pklMTyECXe7O5EB-oA3IjpH9CX06ScmwjTtK) is that I've got in /api/login response

I got updated Accounts\Meter.userId() and user() immediately. Unfortunately, this data disappears after page reload. I suppose it should be preset somewhere in localstorage, but I am not sure it's good to describe what and where to save after XHR to /api/login, I thought it should be done automatically from the server?
I feel like I miss some part of whole the correct process -- how to login via HTTP in a correct way?
Thank you in advance for the response!
Max

It sounds like you're trying to setup login for a Meteor client. That's not what Restivus is ideal for. It uses REST over HTTP, which is great for connecting external apps, like native mobile apps, to your Meteor server. But from a Meteor client, you have the awesomeness of DDP over websockets, and you should definitely use that for handling Meteor app login. Check out the accounts-password or other related accounts packages. I believe that's what you're looking for. Otherwise, I'm misunderstanding you.

So to explain, Restivus doesn't log you into a Meteor client. It logs you in on the server and provides a token that you can use to make subsequent authenticated requests to the server (for any endpoints where you set authRequired: true ). The Meteor accounts package logs you in on the server and then stores and manages the auth token for you on the client. Restivus is a server-only package and doesn't touch the client.

@kahmali thank you very much for heads up! So to create "REST API with bearer authentication" - what should I do and is there any examples of this? Or how the app process will look like?

Yes, there was a very detailed discussion of this here. I can't always respond quickly, so try searching the github issues (and stack overflow if that doesn't work). This one would have been easy to find with a search for "bearer authentication." Just a heads up for next time.

authors: kahmali mordamax

repo: kahmali/meteor-restivus


text:
analyzing mp3 detects file, but triggers "cannot open audio file"

Have 1h WAV recordings which are about 1.3GB.
analyze.py works fine
this code in python works fine to convert the WAV into mp3 reducing from 1.3GB to 28mb:
from pydub import AudioSegment
AudioSegment.converter = "C:\\Program Files\\ffmpeg\\bin\\ffmpeg.exe"
AudioSegment.from_wav("C:\\temp\\birdanalyzer\\file.WAV").export("C:/temp/birdanalyzer/test_mp3/file.mp3", format="mp3")
but running
python3 analyze.py --i C:\temp\birdanalyzer\test_mp3\ --o C:\temp\birdanalyzer\test_mp3\results\
outputs:
INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
Found 1 files to analyze
Analyzing C:\temp\birdanalyzer\test_mp3\file.mp3
Error: Cannot open audio file C:\temp\birdanalyzer\test_mp3\file.mp3
I can open the mp3 in Audacity and seems fine.
Any clue why the script "cannot open audio file"?

Interestingly with this code for creating the mp3, analyze.py does not trigger the error anymore
AudioSegment.converter = "C:\\Program Files\\ffmpeg\\bin\\ffmpeg.exe"
in_wav = "C:\\temp\\birdanalyzer\\file.WAV"
os.path.isfile(in_wav)
out_mp3 = "C:\\temp\\birdanalyzer\\test_mp3\\file.mp3"
my_wav = AudioSegment.from_wav(in_wav)
my_wav.export(out_mp3, format="mp3")

repo: kahst/BirdNET-Analyzer


text:
Dockerfile.client and Dockerfile.server

Created new Dockerfiles for a server and a client to assist in having a local dockerized server and local dockerized client.
This would assist those hoping to test or run these without mucking up their Python environment and should give handy examples hoping to extend the environment.
BTW -- I love what y'all have already provided.

Great, thanks for this! Can you please check, there's a duplicate line in the server file ("Install required Python packages -- either librosa or numpy"). Could you also please add a note or quick "How-to" to the README explaining the two files? Thanks!

Also, can you please take a look at #16, seems like both PRs have the same goal but slightly different attempts.

I cleaned up that bad copy and paste then updated the README to include the client and server. I also reviewed #16 but I didn't integrate that change as it ends up making the dockerfile larger in an attempt to make it single purpose. The dockerfile running just the client.py doesn't need bottle or tensorflow.
I used Dockerfile.server and Dockerfile.client since docker expects a directory to only have one Dockerfile in it. After you build, the specified Dockerfile.X doesn't have any negative impact and the facility is included in docker for situations just like this.

Alright, I think that's ok considering your comments. Would you mind updating the README in a way that the command line arguments only appear once, instead of repeating them for each use case? Also, if you adjust headlines, can you please also adjust shortcut links in the "Contents" section? Thanks.

I like the exact versioning, but the split of the Dockerfile makes it overly complicated. We probably just add bottle to the Dockerfile to support server.py as well and take the puny overhead, which this change introduces to the analyzer use with Docker.

authors: bdfrost kahst tommy4st


text:
Crashes on resolution >2000px

When trying to generate images with more than 2000px width it just crashes with the message "Segmentation fault (core dumped)". When it doesn't have enough memory it usually says something "Get more RAM" - but this time it doesn't.
I'm using a configuration with 244GB RAM so I hope it's quite enough. I also tried source/style images 800px, 1000px, 1500px and 3000px - it doesn't make a difference, the same crash.
I was able to generate images with less than 2000px with on the same config.

This bug really belonged to Torch/nn and must have been fixed with my recent pull request
https://github.com/torch/nn/pull/443
Hope it finally works on big images! It must work now if compiling Torch from source

repo: kaishengtai/neuralart


text:
move repo name to the end of the message title

I'm submitting a...
[ ] Bug Fix
[ x ] Feature
[ ] Other (Refactoring, Added tests, Documentation, ...)

Description
As described in #83 , I am trying to move the Repo name to the end of the message title.
It is because in many cases, the Wechat group that the message will be sent to only receives message from the same repo. In this case, the repo name is repeated in all messages.

Onlined.

Oh, it seems that you have only modified the openIssue event, which will be called when a new issue is created.
If you want to change the comment of the issue UrlLink format, I believe we have to add one more modification in the commentIssue event handler.

Ok... Of course I want,  let me open a new PR..

Ok.
And could you please create an issue and link your PRs to that issue, so that we can have a central thread for this discussion?
Thank you very much!

I think #83 is the thread.

repo: kaiyuanshe/osschat


text:
希望支持输入多个待下载bid，以“，”分割

因为本身下载需要模拟人在阅读，耗时很长，所以最好能支持多个待下载bid，感谢大佬。

支持了啊更新了

(多本书下载)[https://github.com/kajweb/wqxuetang_downloader/wiki/多本书下载]
不过最新版被移除了

多本书下载
不过最新版被移除了,变成在main.py加参数了。

是我自己没仔细看wiki。。。不过在main的“输入提示”里将多本下载的格式放进去更贴心。

authors: iMicroSoftever kajweb sirliu


text:
About the TerraInc dataset

Hello, I was wondering where you found the TerraInc dataset from, as it seems that there is no such dataset with classification available on the internet at the moment. I would really appreciate it if you could let me know, and I am looking forward to your reply. Thank you.

It is provided by DomainBed. Here is the reference: https://arxiv.org/abs/1807.04975

authors: khanrc yuu-Wang

repo: kakaobrain/miro


text:
Youtube URL playback is broken

Bot gets stuck "thinking" when trying to use Youtube URL's. There is a error code in the Console for the bot as well.

Fixed. Expect a rework of all youtube related functions soon. Playlists are still a pain in the ass.
https://github.com/kalebbroo/plex_music_bot/commit/547a41c48fbb1a9f16bea223545a9b0b692eb76f


text:
Add ember-a11y-testing

This does not replace specific tests for a11y features (e.g. testing for ARIA roles), but serves at least as a sanity check in case something has been forgotten. (in fact it uncovered #926)
Similar check should be added to any new component tests we introduce (hint: toasts). /cc @jelhan
Closes #224

@jelhan Thanks, yes, was a productive afternoon! 😀I merged some of the smaller PRs right away to not block further work, and figured they were not very large and controversial. Though if you find something in those that you want to comment on, feel free to do so! I can still iterate on stuff if needed! :wink:


text:
Burn NixOS minimal into a USB stick using windows

Some days ago I got a working laptop only with Windows.
I ended up having to download A linux-based OS just to be able to burn the image using the README.
I'd be nice to add a short guide on how to burn the image using powershell, CMD or usb burning tool. I personally think CMD or powershell are better because they do not require additional software.

My go-to tool is: https://rufus.ie/en/
I'll add some docs

Thanks for pointing this out, I have added my preferred tool for burning it on Windows. I have also used it before, so I know it works well by experience

repo: kamadorueda/machine

license: Unlicense


text:
support sorting insights on both request count and failure rate

Right now it is only possible to sort by one column value. We should allow more complex filters that allow sorting by multiple values.

In this particular case, an "impact" field could make sense, with impact being request count * latency. This would also be a nice alternative for the frequency bar on the right side of the insights, as it has little value when there's many evenly distributed operations.

repo: kamilkisiela/graphql-hive


text:
how to set acceptableContentTypes?

how i can set acceptableContentTypes .when the response data is not json?
error info:
Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable content-type: text/html" UserInfo={NSLocalizedDescription=Request failed: unacceptable content-type: text/html, NSErrorFailingURLKey=

i use my way to deal with this problem.
open the file XMEngine.m.In line 495 ,cancel this annotation .
_afJSONResponseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript", @"text/html", @"text/plain", nil];

it's a stupid way to deal.looking forward to the author to deal with it.thx

repo: kangzubin/XMNetworking