How to stop a process in windows?

hey thanks for creating daemoniker it's awesome but I felt the docs weren't clear. I'm working on https://github.com/NIT-dgp/UIP and i would like it run as a service with the use case like UIP --servce start and UIP --service stop but i cant figure out how to stop? any help would be appreciated :D

First: make sure you're going off of the RTD docs, as they're much more thorough than the readme.
Beyond that, there are really (at least) three things you need to do to go from having a python script to having a UIP --service <cmd> deamon using daemoniker. First, you need to bootstrap your script with the Daemonizer(). Then, to stop the daemon, you need to set up signal handling with a SignalHandler (currently, there's only one, daemoniker.SignalHandler1). Then, you need the commands to start/stop it.
Can you give me a sense of where you're getting stuck?

so i was doing send(path, SIGINT) but it wasn't exiting cleanly? the child process still ran and also the pid file still existed?

What's your OS? I'm assuming unix? This is very likely a permissions issue -- try it again with sudo and see if that cleans it up.

i'm on windows 10 running daemoniker 0.2.2
Source Code: https://github.com/NIT-
dgp/UIP/pull/145/commits/82f6c4136ba36a882b0915d59b19d310e7afd002
this was the version which "worked" and  which wasn't causing any problems.

I'm reading this rather quickly, so apologies if I missed it, but it looks like you haven't added a SignalHandler1 to the daemon? That would prevent daemoniker from properly executing the send command. Even if you got it to exit that way (which you might, I forget the details), due to the innards of Python and Windows signal handling it would not be performing any cleanup -- violating finally: clauses, etc etc.
For example, you could do something like this:
with Daemonizer() as (is_setup, daemonizer):
    if is_setup:
        print("UIP will now run as a serice.")
    try:
        is_parent = daemonizer(pid_file)
    except SystemExit:
        print("UIP service already, running "
                "Close previous app by running UIP --service stop")
    if not is_parent:
        sighandler = SignalHandler1(pid_file)
        sighandler.start()

This will set up daemoniker to use its default signal handlers, which will simply raise exceptions within the main thread of your script. If uncaught, they will cause the daemon to terminate. But note that
daemoniker itself will handle cleaning up the pid file, so you don't need to worry about that.
Side note: "daemonization" on Windows is a very... uh... hackish thing. On Windows, daemoniker actually runs the setup to your script twice here -- once in the launching command, and then once in the actual daemon itself. You can avoid that by passing extra args to the daemonizer() call, but as long as you don't mind the arg parsing happening twice, your code is just fine.
Note that the try: block you have after daemonization will be run only in the daemon. So, it won't print anything to the terminal. If you want to have any kind of communication after it runs, you'll need to set up some kind of IPC mechanism (beyond signal handling).
For an example of a more involved daemonization, check out the source for Hypergolix.


version  3.0 ??

if (opts.swagger.swagger !== "2.0") {
throw new Error("Only Swagger 2 specs are supported");
}

Hi! The generator currently only supports Swagger 2, and there is sadly no bandwidth to look into 3.0 in the nearest future. Very happy if someone want's to do a pull request though :)

Ya I'm in the same boat @brook-w . Currently using api-spec-converter to downgrade my openapi v3 to swagger v2 before converting


fontFamily not always working (at least with one specific font)

VSCode Version: 1.0.0
OS Version: OSX 10.11.4

Steps to Reproduce:

Download and install IBM 3270 font (https://github.com/rbanffy/3270font/, installing from ZIP file is fine)
Edit your settings file to have "editor.fontFamily" set to "IBM 3270"
Save the file
Font setting does not quite catch: to see the weirdness, change it to "Monaco", then to "IBM 3270", then to "Arial Narrow" (wanted to check if spaces in the name could be related), then back to "IBM 3270" and you get something without serifs and monospaced that's not quite the default font. Set it to an empty string to bring sanity back (with a less cool font, that is 😉 ). Change it to an arbitrary name that's not an installed font and it'll change to a serif proportional spaced thing that looks like Times and is probably the default system font for body text.

I've tried to reproduce, and detected additional weirdness:
In step 4, when switching back to 'IBM 3270", I didn't get the serif-monospaced thing, instead, the font remained the same (Arial Narrow), only the entire editor shifted right by a few pixels. The font then doesn't change no matter what you put as the font family, as long as it has at least 2 words, the first being "IBM", e.g. "IBM 3270xzy", "IBM xzy", "IBM one two three". If you put in "IBM" (or any other non existing font). Great weirdness indeed.
This is in no way related to Arial Narrow - it behaves the same whatever the previous font was.

VSCode Version: 1.0.0
OS Version: Ubuntu 15.10

Unsurprisingly (it was very unlikely to be platform-specific), the problem exists on Ubuntu too.

Tested on 1.5.1 on OSX and it still presents the same issue (not quite as bad as before - it reverts to a less ugly font).

@rbanffy @vvekic What works for me is to set it to:
"editor.fontFamily": "'IBM 3270'"
The reason we don't auto-wrap the font family in quotes on our side is because you can actually specify a list in there (in case symbols are missing). e.g.:
"editor.fontFamily": "'IBM 3270', Arial"

Worked perfectly.

This issue should've been resolved with updating the comment above that line


Add localhost tests to Travis.

Run the local servers and verify they respond with code 200 to the "/"
path.
Note: bookshelf does not yet run in Travis, since we'll need to set up
client secrets credentials.

Consider comments, Ok if you choose not to change - LGTM


Reuse of existing GitHub workflows/secrets

Originally reported by @liprec
Is your feature request related to a problem? Please describe.
Created multiple times an Azure Static Web App and linked it to the same GitHub repo due to #18, and each time copy + pasted the old workflow definition to the new one and replace the secret variable to get it working.
Describe the solution you'd like
During the configuration of the Azure Static Web App add an extra option to choose the GitHub objects (workflow yaml/ secret).
Could also used to provide your own name regarding the workflow file name and secret.
Describe alternatives you've considered
None.

Closing due to no traction.


Clang tidy2

Hi,
Here is another PR with the following modifications
Adding support for clang-tidy in cmake
clang-tidy is a static analyser. It makes many more checks and can greatly help in order to track errors.
You have to use cmake .. -DBABYLON_USE_CLANG_TIDY=ON in order to activate it.
For the moment, only one additional check is used (a check that warns about trivial constructors and co that could be defaulted) . We should add some more later.
A huge commit (> 1000 files modified) where I correct most of the trivial destructor / trivial move and copy constructors issues:
Typical default destructor only diff: header and source
Typical other diffs:

source vr_camera_metric.cpp
header vr_camera_metrics.h

However I still think there are some issues there:

Most of the time, the rule of zero should be applied: no user-defined destructor, no move, no copy constructor, etc. This is the case for VRCameraMetrics, since it is could be a POD (Plain Old Data)

Only when a class can be inherited, should we use the base_of_fivedefault idiom: this idiom is also explained in the "rule of zero" page.  Everything should be defaulted, this should be shown clearly in the header:

class base_of_five_defaults
{
 public:
    base_of_five_defaults(const base_of_five_defaults&) = default;
    base_of_five_defaults(base_of_five_defaults&&) = default;
    base_of_five_defaults& operator=(const base_of_five_defaults&) = default;
    base_of_five_defaults& operator=(base_of_five_defaults&&) = default;
    virtual ~base_of_five_defaults() = default;
};

I could not apply the base of five idiom completely: the operations are defaulted, but in the cpp file.
The reason for this is that the code uses (too much ?) forward declarations, and this is incompatible with unique_ptr. unique_ptr need to know how to destruct an object, but the code for the destructor cannot be placed inside the header file because of forward declarations. For this reason, the destructor cannot be defaulted in the header file!
May the =default should later be moved from the cpp to the header files.
One question: I suppose you added forward declarations in order to speedup the compilation time. However, other techniques could be used (such as precompiled headers, via cmake and cotire). Is there another reason for having forward declarations?
Other commits

A commit where I add the python scripts that helped me automate  this huge commit

Some more simple commits where I corrected some warning given by clang-tidy:

Note: the commit https://github.com/samdauwe/BabylonCpp/commit/db27881f3ed325b261f7748427fd3e5a56592eed shows that clang-tidy showed potentially harmful issue.
Cheers!

Here is the current list of warnings given by clang-tidy:
warnings.txt

Appveyor does succeed: see https://ci.appveyor.com/project/pthom/babyloncpp/builds/28882626

Hello Pascal,
That is a big changeset, thanks for adding support for clang-tidy and those fixes!
For some time I have the clang code model enabled in Qt Creator:

This code model gives me warnings in the  IDE like for example:

The amount of warnings returned by clang-tidy is huge. Maybe we could start with the most important checks, resolve them and proceed from there instead of enabling most of the checks at once?
I addition we could to increase the compiler warning level.
Furthermore, there is the C++ Core Guidelines Checker in Visual Studio. I did not try it out yet on the code but I assume it gives warnings similar like the trivial destructor / trivial move and copy constructors issues you described and resolved in the pull request. Probably there is more that is overlooked or could be improved.
Regarding the forward declarations, yes the main motivation for using them is build time. In the beginning I was not using them, but when the amount of files increased it became difficult to follow the include hierarchy (and there were a lot of unneeded header includes). Using forward declarations decreased the build time by 10 minutes and I did not have to modify the cmake files. Do you think we should look further into precompiled headers to reduce the amount of forward declarations at the beginning of each header file?
Have a nice weekend,
Sam


Changing the type of an arbitrary content block

Hello draft-js team.
Sorry if I did not find the solution by myself but I couldn't solve this by reading both docs & the code of the library itself. I am trying to change the type or the attached data of an arbitrary content block, independently from the current editor's selection.
I tried to use the Modifier module by providing an empty Selection targeting the key of the desired block but it messes up the editor. I also tried to edit the blockMap of the ContentState itself but it also messes up the editor. After both those, the contentState would be reapplied to the EditorState through the use of EditorState.push using the block-type-change.

Basically, to bring more precisions, what I am trying to achieve here is to decorate blocks based on their context. Kind of a multi-block decoration. For instance, highlighting a code fence or a markdown title like those:
// Code fence (not using backticks not to break Github comments markdown rendering :) ):

---js
var one = 1;
var two = 2;
---

// Markdown title:
Some Title

The problem here is that each of the lines is a distinct block, which make decorating them impossible since they have no notion of their surrounding.
So what I was trying to achieve was to "tag" the blocks so they have some information about their context and are able to render correctly.


Fix CS

@padraic would be happy if you could review it, there's some CS things you might not want and/or not changing the licensing stuff

I think we're fine as suggested here for copyright.
I can only read through files at the moment, but are we shifting the standard ./vendor/bin path to ./bin? I'd prefer to stay with the vendor/bin location for phpunit, etc. (and alias php-cs there if not already). Mainly because that's where all my bash aliases point ;).

bamarni/composer-bin-plugin - install/update hooks in composer.json to be added?

Mainly because that's where all my bash aliases point ;)

I see we have the same argument 😂 Fair I'll change that


Improve PR GitHub Actions for Locking environment

It's not obvious currently that PRs changing the environment.yml in an image subfolder an admin for this repository needs to run the /condalock command in a comment.
For example, https://github.com/pangeo-data/pangeo-docker-images/pull/91 didn't have any effect because the lockfile wasn't updated.
We should structure CI to ensure this happens before merging. The complication is that either a bot needs to run the environment lock step, or we need a seperate workflow to ensure lockfiles have been modified before enabling the 'merge' button (probably easiest).
cc @TomAugspurger

Seems like new GitHub Actions features released August 3, 2020 can help with this https://github.blog/2020-08-03-github-actions-improvements-for-fork-and-pull-request-workflows/,,, need to dig into the documentation a bit to see how to do it


Patch com.snowplowanalytics.sauna.responders/SendgridConfig/avro/1-0-0

Closes #509.

I think this PR can be merged into #512?

This has been cherry-picked in, closing


[Bug]: selectedOptionValue being assigned as selectedOptionLabel

Is there an existing issue for this?

[X] I have searched the existing issues

Description

as you can see the object from the dropdown "form_select_dropdown" is generating the values wrongly as the data being loaded to it has values of 1 and 2 as you can see from the query that is being loaded to that module bellow

for some reason the value is being set the same as the label
Steps To Reproduce
create a query as such
SELECT form_name as label, form_id as value FROM public."forms"
load it into a dropdown module
and try to access that object property "selectedOptionValue" to see if it matches the value or the label
Public Sample App
No response
Environment
Production
Issue video log
No response
Version
Cloud
 Front conversations

@thebadking We are working on a fix. In the meantime you can solve this issue on your app by toggling the js mode of  Source data property and removing the map function.

Took me 2 days to realise exactly what's happening and how to fix it via JS

Moving this to sprint backlog for the priority for Snowflake tasks.


Remotely modifying the source code with the base game

What feature do you want to get added on the base engine?
I want a feature that lets you remotely modify the source code in the base game like adding 6k, new difficulties, winning icons, and modifying the whole menu without the need for downloading the source code.

I don't even think that's possible

I don't even think that's possible

i think the same

No LOL, i'm a coder, not a magician.

Understandible


Run time error from $app import inside node_modules component

Describe the bug
Is it possible to import $app from components inside node_modules?
Seems to work in most cases but just found an error trying to import
<script>
  import { afterNavigate } from '$app/navigation'
</script>

Not sure if this is really a bug or expected behavior?
Reproduction
npm init svelte@next test-after-nav-import # no to all questions
cd test-after-nav-import
npm i
mkdir node_modules/pkg
echo '{ "name": "pkg", "exports": { "./file.svelte": "./file.svelte" } }' >> node_modules/pkg/package.json
echo '<script> import { afterNavigate } from "$app/navigation"; </script>' >> node_modules/pkg/file.svelte
echo '<script> import File from "pkg/file.svelte"; </script> <File />' >> src/routes/index.svelte
npm run build
npm run preview

Open the site and I get

Uncaught TypeError: Cannot read properties of undefined (reading 'disable_scroll_handling') at vendor-15d5f540.js:1:7117

System Info
System:
    OS: macOS 12.2.1
    CPU: (10) arm64 Apple M1 Pro
    Memory: 340.23 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 17.6.0 - /opt/homebrew/bin/node
    Yarn: 1.22.17 - /opt/homebrew/bin/yarn
    npm: 8.5.1 - /opt/homebrew/bin/npm
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Safari: 15.3

Severity
serious, but I can work around it

Sounds like a duplicate of #1485 . It's an open issue that using $app/.. imports inside component libraries is a problem (and for testing, too).

@dummdidumm Ah thanks for the pointer. Yes, that's a dupe. Though the title on the other issue makes it a bit hard to find imo. Plus no pasteable repro.

I've retitled #1485, so I'll close this — thanks

@Rich-Harris, we hit this bug without importing $app from an external module, just by having custom chunking enabled.


Tree sticky scroll - can't focus the sticky scroll element using SHIFT

Testing #202835

Expand the folder structure in the Explorer view to get some sticky scroll elements at the top
Click on an item in the list
Press SHIFT. Here is the output from "Keyboard shortcut troubleshooting"

2024-01-23 14:23:07.270 [info] [KeybindingService]: / Received  keydown event - modifiers: [shift], code: ShiftLeft, keyCode: 16, key: Shift
2024-01-23 14:23:07.271 [info] [KeybindingService]: | Converted keydown event - modifiers: [shift], code: ShiftLeft, keyCode: 4 ('Shift')
2024-01-23 14:23:07.271 [info] [KeybindingService]: \ Keyboard event cannot be dispatched in keydown phase.
2024-01-23 14:23:07.343 [info] [KeybindingService]: + Storing single modifier for possible chord shift.
2024-01-23 14:23:07.644 [info] [KeybindingService]: + Clearing single modifier due to 300ms elapsed.

Closing as there was a mistake in the test description


Added decorateRedirectExec to HttpClientBuilder

Ability to retry redirected requests, as described here
https://stackoverflow.com/questions/67565624/apache-http-client-retries-with-redirect

@Blackmorse Should not we rather change the sequence of request interceptors?

@Blackmorse Should not we rather change the sequence of request interceptors?

First redirect and then retry?

@michael-o Pretty much.

Should not we rather change the sequence of request interceptors?

I guess this can broke clients who relies on old behaviour..

Should not we rather change the sequence of request interceptors?

I guess this can broke clients who relies on old behaviour..

I am quite certain that people aren't of that and we, AFAIR, we don't document the order explicitly.

Should not we rather change the sequence of request interceptors?

I guess this can broke clients who relies on old behaviour..

I am quite certain that people aren't aware of that and we, AFAIR, we don't document the order explicitly.

@michael-o Agreed.
@Blackmorse Could you please test the change locally and re-spin the PR?
Alternatively we can change the sequence of interceptors in 5.2 and keep the old behavior in all stable branches (4.5.x, 5.0.x and 5.1.x).

Alternatively we can change the sequence of interceptors in 5.2 and keep the old behavior in all stable branches (4.5.x, 5.0.x and 5.1.x).

Ok, I will take a look at this


Bunnyhop cap

While this repository promises to provide fixes to Goldsrc games, the bunnyhop cap added in engine version 1.1.0 is still present. I believe this is an issue.

I don't particularly like bunny hopping.


aes_cfb1_bits_test fails to do EVP_CIPHER_fetch when pasing "fips=yes" as a properties string

The tests/acvp_test is failing aes_cfb1_bits_test:

ERROR: (ptr) 'cipher = EVP_CIPHER_fetch(libctx, "AES-128-CFB1", "fips=yes") != NULL' failed @ test/acvp_test.c:1415
0x0
400777E6A17F0000:error:0308010C:digital envelope routines:inner_evp_generic_fetch:unsupported:crypto/evp/evp_fetch.c:346:Non-default library context, Algorithm (AES-128-CFB1 : 0), Properties (fips=yes)
OPENSSL_TEST_RAND_ORDER=1626378403
not ok 1 - aes_cfb1_bits_test

applying NULL properties makes it work, which is concerning since the reason I'm looking at all these example ACVP tests is specifically because of FIPS.

It seems fine here.  Is the FIPS provider failing to load for some reason?  Could the setup configuration be bad?  A clean rebuild can help sometimes.

Are you just running
>make TESTS

Or are you trying to run it via some other mechanism? (e.g test/acvp_tests)

This is answered in https://github.com/openssl/openssl/issues/16092

closing this to discuss further in #16092


Feature request: Auto generated list of domains?

Is ist possible to generate the list of domains (via rancher API, from connected loadbalancer)?

Not at the moment - this is something that should be pre-defined in a static configuration file.


X509_PUBKEY_cmp() seems incorrect

There is static function X509_PUBKEY_cmp used by OSSL_CRMF_MSGS_verify_popo in crypto/crmf/crmf_lib.c". I wanted to copy-paste it for some gost-engine tests (since it's not exported), but found it's being strange:
/* returns 0 for equal, -1 for a < b or error on a, 1 for a > b or error on b */
static int X509_PUBKEY_cmp(X509_PUBKEY *a, X509_PUBKEY *b)
{
    X509_ALGOR *algA = NULL, *algB = NULL;
    int res = 0;

    if (a == b)
        return 0;
    if (a == NULL || !X509_PUBKEY_get0_param(NULL, NULL, NULL, &algA, a)
            || algA == NULL)
        return -1;
    if (b == NULL || !X509_PUBKEY_get0_param(NULL, NULL, NULL, &algB, b)
            || algB == NULL)
        return 1;
    if ((res = X509_ALGOR_cmp(algA, algB)) != 0)
        return res;
    return EVP_PKEY_cmp(X509_PUBKEY_get0(a), X509_PUBKEY_get0(b));
}

It should return 0 if keys match, but EVP_PKEY_cmp will return 1 if keys match.
Man: The function EVP_PKEY_cmp_parameters() and EVP_PKEY_cmp() return 1 if the keys match, 0 if they don't match, -1 if the key types are different and -2 if the operation is not supported..

Yeah, that makes no sense at all.
Fortunatetly that X509_PUBKEY_cmp is not in the LTS branch.
@DDvO I apologize for not finding this while I was reviewing this
commit, I should not have done that review so quickly  :smile:

Okay, I looked at the original review of this function, and found one
unresolved review comment:
https://github.com/openssl/openssl/pull/7646/files#r234418540
I said "X509_PUBKEY_get0 can return NULL, and EVP_PKEY_cmp does not check for NULL.
That means you have to."
@DDvO said "Done" and I beleived him, and therefore approved.
@mattcaswell said on 11th dec 2018:
https://github.com/openssl/openssl/pull/7646/files#r240675299
"Done?? I don't see it here?"
And @DDvO answerded:
"
This was done in
commit 413ed461c4edbd0b0ee5ac338361b962776ec8c4
Author: David von Oheimb<EMAIL_ADDRESS>Date:   Tue Nov 20 22:04:12 2018 +0100
fix several missing checks for error conditions in crmf_lib.c

(but possibly it was pushed later)."
But this commit hash is nowhere.

Ah, while this commit is not on my local git, github is able to find it,
and it does show a change that checks the return value of
X509_PUBKEY_get0_param for bein non-zero, that was requested by myself earlier,
but my request to check the return value of X509_PUBKEY_get0 was igored.
Please, I still want the return value checked for non-zero, before passing it
on to EVP_PKEY_cmp, and of course make the return value of
X609_PUBKEY_cmp similar as EVP_PKEY_cmp, we do no binary searches
on PUBKEYs anyways.

My first question is, why was X509_PUBKEY_cmp() implemented in the CRMF sub-system, when all other X509_PUBKEY functions are implemented in crypto/x509/x_pubkey.c???

@vt-alt, the static function X509_PUBKEY_cmp() is not to be confused with EVP_PKEY_cmp().
The former is 'documented' only by the comment above it.
Its returns value behavior is different from the one of EVP_PKEY_cmp().
This may be regarded as a design inconsistency, but this is not a bug.

Okay, I looked at the original review of this function, and found one
unresolved review comment:
https://github.com/openssl/openssl/pull/7646/files#r234418540
I said "X509_PUBKEY_get0 can return NULL, and EVP_PKEY_cmp does not check for NULL.
That means you have to."

@bernd-edlinger, in your review you did not request that the return value behavior of X509_PUBKEY_cmp() should be analogous to EVP_PKEY_cmp(), so what you brought up above is a different topic.
AFAICS I had misunderstood your review comment. With my 'done' I confirmed that I added checks for NULL input of X509_PUBKEY_cmp(), but what I did not do (because of the misunderstanding) is to check the potential NULL input in the call of EVP_PKEY_cmp() within X509_PUBKEY_cmp().

My first question is, why was X509_PUBKEY_cmp() implemented in the CRMF sub-system, when all other X509_PUBKEY functions are implemented in crypto/x509/x_pubkey.c???

@levitte, the local function X509_PUBKEY_cmp() so far was just needed for CRMF, and both reviewers were fine with having it in crmf_lib.c.

I'm going to

move X509_PUBKEY_cmp() to crypto/x509/x_pubkey.c
add the further NULL checks
make its return values analogous to EVP_PKEY_cmp()
export and document it.

Or @vt-alt what do you think?

I'm going to

move X509_PUBKEY_cmp() to crypto/x509/x_pubkey.c
add the further NULL checks
make its return values analogous to EVP_PKEY_cmp()
export and document it.

Yes!

@vt-alt, the static function X509_PUBKEY_cmp() is not to be confused with EVP_PKEY_cmp().

I believe I am not confusing them. And not requesting their return value to be the same. And not saying that difference in their return values is a bug. There is already inconsistency in return values in different _cmp functions which is normal design inconsistency. For example X509_ALGOR_cmp and X509_cmp returns 0 on match. EVP_PKEY_cmp returns 1 on match.

The former is 'documented' only by the comment above it.
Its returns value behavior is different from the one of EVP_PKEY_cmp().
This may be regarded as a design inconsistency, but this is not a bug.

It doesn't follow 'document' indeed, but not just that.
    if (a == b)
        return 0;

If both keys match (because they are the same key) it returns 0.
    return EVP_PKEY_cmp(X509_PUBKEY_get0(a), X509_PUBKEY_get0(b));

If both keys match it returns 1.
In what way this is not a bug?

@vt-alt you are right!
I misunderstood your original remark, and it turns out that when implementing X509_PUBKEY_cmp() I had wrong assumptions about the return values of the EVP_PKEY_cmp() function called.
Sigh, the various _cmp() functions are pretty confusing, certainly not only to me.
Do you agree with the solution I proposed?

@DDvO

move X509_PUBKEY_cmp() to crypto/x509/x_pubkey.c

This sounds good.

make its return values analogous to EVP_PKEY_cmp()

Probably, this is not needed. All other X509_*_cmp seems to return 0 for a match.
Man X509_cmp: Like common memory comparison functions, the X509 comparison functions return an integer less than, equal to, or greater than zero if object a is found to be less than, to match, or be greater than object b, respectively.
To change return value similar to EVP_PKEY_cmp would only increase confusion.

compare or equal ?
So compare is more for cases we would like "sort" results. In this case -1 , 0 or +1 are expected results and error return values does not make sense.
This is more like operators  < or >  .
Example is strcmp.
Request is more suitable for new function X509_PUBKEY_eq - as equal is another case. Function like operator = or !=.
I'm not sure that cmp or eq shout process error cases.
Just to be documented NIL(NULL)  in operations:

NIL is lest then any value (or greater)
NIL is equal to NIL

Vitalio wrote:

@DDvO

move X509_PUBKEY_cmp() to crypto/x509/x_pubkey.c
This sounds good.

make its return values analogous to EVP_PKEY_cmp()
Probably, this is not needed. All other X509_*_cmp seems to return 0 for a match.

Man X509_cmp: Like common memory comparison functions, the X509 comparison functions return an integer less than, equal to, or greater than zero if object a is found to be less than, to match, or be greater than object b, respectively.
To change return value similar to EVP_PKEY_cmp would only increase confusion.

Good point @petrovr - it's a pity that EVP_PKEY_cmp() and EVP_PKEY_cmp_parameters()
are not called  EVP_PKEY_eq() and EVP_PKEY_eq_parameters(), respectively.
This would avoid a lot confusion and would have .avoided the bug found by @vt-alt.
Fix is now in #11894.

Good point @petrovr - it's a pity that EVP_PKEY_cmp() and EVP_PKEY_cmp_parameters()
are not called EVP_PKEY_eq() and EVP_PKEY_eq_parameters(), respectively.
This would avoid a lot confusion and would have .avoided the bug found by @vt-alt.

Isn't it worth introducing these renaming here and now, altogether with deprecating the old ones as misleading?

Good point @petrovr - it's a pity that EVP_PKEY_cmp() and EVP_PKEY_cmp_parameters()
are not called EVP_PKEY_eq() and EVP_PKEY_eq_parameters(), respectively.
This would avoid a lot confusion and would have .avoided the bug found by @vt-alt.

Isn't it worth introducing these renaming here and now, altogether with deprecating the old ones as misleading?

I fully agree and am willing to do that.
How to do this best?
Can I rename for instance EVP_PKEY_cmp() to EVP_PKEY_eq() and add a `#define for backward compatibility?

How to do this best?
Can I rename for instance EVP_PKEY_cmp() to EVP_PKEY_eq() and add a `#define for backward compatibility?

If you do that the define should be within the #ifndef OPENSSL_NO_DEPRECATED_3_0. Or you can even do EVP_PKEY_cmp() as a thin wrapper function - that has an advantage of producing deprecated warnings if used in the code.

We do currently not have any exported XXX_eq functions, right?

@t8m, done on #11953

We do currently not have any exported XXX_eq functions, right?

Correct.

And how many of the currently expoerted _cmp functions return
-1 for "less" and +1 for "greater" ?

for inatance,
EC_POINT_cmp returns 0 for equal +1 for non-equal -1 for error.
would you like everybody to rename that to EC_POINT_eq in their code?

The point of the above discussed rename of EVP_PKEY_cmp{,_parameters} to *_eq() was to avoid in the future the confusion that lead to this bug report because there have been two different semantics for *_cmp functions: equality and order comparison.
Likely more functions are affected, such as the EC_POINT_eq() you just mentioned.
We could/should rename those as well, both for consistency and for avoiding the same confusion.
The proposed change does not force anyone to rename their function uses because this is handled by backward compatibility declarations.

The difference between EVP_PKEY_cmp and EC_POINT_cmp is that the first one returns 1 for equal where the second returns 0 for equal. So no, EC_POINT_cmp does not need to be renamed.
But there is also EVP_PKEY_cmp_parameters, which has the same semantics as EVP_PKEY_cmp and so it should be probably renamed as well.

But even X509_cmp is an exception, and in that case I made the mistake
to believe it is supposed to return -1, 0, +1 but instead it returns the result
of memcmp if it is non-zero, and that should be fixed as well.

I do not think it makes sense to rename _cmp functions that return 0 for equality. And (hopefully) there are not many more than the EVP_PKEY_cmp* that return 1 for equality.

But there is also EVP_PKEY_cmp_parameters, which has the same semantics as EVP_PKEY_cmp and so it should be probably renamed as well.

#11953 already does that.


⚠ Bofrost.be has degraded performance

In 060ddec, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1096 ms

Resolved: Bofrost.be performance has improved in 10c908d after 6 minutes.


Demo disappears after a few seconds, then returns...

Hi, on my browser the demo fades to nothing after about 7 seconds maybe. Then it comes back.
Is this intentional? Screen shot:

Not sure if you figured this one out, but I just saw the same and think it might be due to the config.js configuration defining 2x dashboards, which it then cycles between i.e. I think the second one is "blank" (for some reason). If you leave it, it comes back (as you mentioned) and there is a:
    // define duration between each dashboard rotation (ms)
    rotationDuration: 8000,


Project setup

Basic setup and deployment:

[x] Set up the basic structure with the create-react-app script.
[x] Add a root package.json for heroku to run its start script.
[x] Set up eslint.
[x] Add react router to the dependencies and render a place holder landing page with it.
[x] Set up travis CI.
[x] Push to github.
[ ] Deploy master on heroku.

#22 Will not go smoothly without a node.js server.


Support read/write from pathlib.Path on Py3.6+.

Note that the way __fspath__ is being invoked is basically the
definition mandated by PEP519, without having to separately define
os.fspath, which means that older versions of Python should also work if
using a pathlib backport.

Closing as inactive; feel free to reuse the patch if desired.


Added schemas that will be used by the FileSystem DAC

Looks great, I just wonder if we can merge directoryFile and fileData.
Anyway, thank you very much!

@DaWe35 DirectoryFile is a file with metadata like when it was created, the name and the size. FileData is a version of a file, which contains the hash, when it was created (the version) and how it is encrypted. This makes it possible to edit/modify the file while keeping the original metadata and all previous versions

Where will the encryption keys be stored?
Do you think this schema is structured in a way that will support future collaborative encryption and access control functionality?
Are these metadata files going to be on the discoverable filesystem?

@alexfreska The metadata files are encrypted and stored in the hidden filesystem of a user. The encryption keys are stored directly in the metadata file. Sharing a folder with someone else (read-only) should work well, the user just needs the hidden filesystem seed for the folder and your userId. All subfolders keys and seeds can then be derivated from this seed, that's a feature of the hidden MySky file system. I think that this structure is also usable for collaborative encryption, especially because all versions of a file including timestamps are kept, so decentralized conflict-resolution should work well.

Well done🎖


Why is vue not being applied to all matching class css elements using el ?

Hello,
The documentation says that el can contains an existing HTML element to be mounted on. So I your example with select2 inside a table, changed the selector from an id to a class, yet, only the first matching HTML element  is replaced by a select2. What do I do wrong please ?
Here's the reproduced JSFiddle: http://jsfiddle.net/157m67zu/61/
Do I need a component to achieve that ?
Sorry if that's a dumb question but i'm new to vue and to modern javascript coding. So show mercy please ;-)

I will post this on forum instead.


Spinner is blinking while typing in commit

Description
When I start committing spinner sows up where is my statusline and on each character it blinks like this:
https://github.com/user-attachments/assets/7f510a70-faf0-49fd-b428-18954092054c
After looking at https://github.com/NeogitOrg/neogit/pull/1551 to resolve the issue I added process_spinner = false.
Neovim version
NVIM v0.10.1
Build type: Release
LuaJIT 2.1.1713773202
Operating system and version
macOS 15.1
Steps to reproduce

Start commit
Type message

Expected behavior
Spinner is not blinking
Actual behavior
Spinner is blinking
Minimal config
-- NOTE: See the end of this file if you are reporting an issue, etc. Ignore all the "scary" functions up top, those are
-- used for setup and other operations.
local M = {}

local base_root_path = vim.fn.fnamemodify(debug.getinfo(1, "S").source:sub(2), ":p:h") .. "/.min"
function M.root(path)
  return base_root_path .. "/" .. (path or "")
end

function M.load_plugin(plugin_name, plugin_url)
  local package_root = M.root("plugins/")
  local install_destination = package_root .. plugin_name
  vim.opt.runtimepath:append(install_destination)

  if not vim.loop.fs_stat(package_root) then
    vim.fn.mkdir(package_root, "p")
  end

  if not vim.loop.fs_stat(install_destination) then
    print(string.format("> Downloading plugin '%s' to '%s'", plugin_name, install_destination))
    vim.fn.system({
      "git",
      "clone",
      "--depth=1",
      plugin_url,
      install_destination,
    })
    if vim.v.shell_error > 0 then
      error(string.format("> Failed to clone plugin: '%s' in '%s'!", plugin_name, install_destination),
        vim.log.levels.ERROR)
    end
  end
end

---@alias PluginName string The plugin name, will be used as part of the git clone destination
---@alias PluginUrl string The git url at which a plugin is located, can be a path. See https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols for details
---@alias MinPlugins table<PluginName, PluginUrl>

---Do the initial setup. Downloads plugins, ensures the minimal init does not pollute the filesystem by keeping
---everything self contained to the CWD of the minimal init file. Run prior to running tests, reproducing issues, etc.
---@param plugins? table<PluginName, PluginUrl>
function M.setup(plugins)
  vim.opt.packpath = {}                      -- Empty the package path so we use only the plugins specified
  vim.opt.runtimepath:append(M.root(".min")) -- Ensure the runtime detects the root min dir

  -- Install required plugins
  if plugins ~= nil then
    for plugin_name, plugin_url in pairs(plugins) do
      M.load_plugin(plugin_name, plugin_url)
    end
  end

  vim.env.XDG_CONFIG_HOME = M.root("xdg/config")
  vim.env.XDG_DATA_HOME = M.root("xdg/data")
  vim.env.XDG_STATE_HOME = M.root("xdg/state")
  vim.env.XDG_CACHE_HOME = M.root("xdg/cache")

  -- NOTE: Cleanup the xdg cache on exit so new runs of the minimal init doesn't share any previous state, e.g. shada
  vim.api.nvim_create_autocmd("VimLeave", {
    callback = function()
      vim.fn.system({
        "rm",
        "-r",
        "-f",
        M.root("xdg")
      })
    end
  })
end

-- NOTE: If you have additional plugins you need to install to reproduce your issue, include them in the plugins
-- table within the setup call below.
M.setup({
  plenary = "https://github.com/nvim-lua/plenary.nvim.git",
  telescope = "https://github.com/nvim-telescope/telescope.nvim",
  diffview = "https://github.com/sindrets/diffview.nvim",
  neogit = "https://github.com/NeogitOrg/neogit"
})
-- WARN: Do all plugin setup, test runs, reproductions, etc. AFTER calling setup with a list of plugins!
-- Basically, do all that stuff AFTER this line.
require("neogit").setup({
                signs = {
                    -- { CLOSED, OPENED }
                    hunk = { "", "" },
                    item = { " ", " " },
                    section = { "", "" },
                },
                status = {
                    mode_padding = 2,
                    -- adds whitespace to the left of the mode text to put it further from sings and makes it shorter
                    mode_text = {
                        M = " mod",
                        N = " new",
                        A = " add",
                        D = " del",
                        C = " cop",
                        U = " upd",
                        R = " ren",
                        DD = " unm",
                        AU = " unm",
                        UD = " unm",
                        UA = " unm",
                        DU = " aunm",
                        AA = " unm",
                        UU = " unm",
                        ["?"] = " ",
                    },
                },

}) -- For instance, setup Neogit

Imho for such progress indicator, it will be much better to somehow hook this into something like LSP progress rather than a separate spinner

Integration with fidget or lualine or api to do it myself would definitely be nice.

I have also noticed this annoying aspect of this good plugin. Could we get an option to disable this please?

I have also noticed this annoying aspect of this good plugin. Could we get an option to disable this please?

progress_spinner = false :)

fwiw I have a similar blinking cursor issue but only when I open the commit buffer while in neovim inside of zellij

I have also noticed this annoying aspect of this good plugin. Could we get an option to disable this please?

progress_spinner = false :)

it's actually
process_spinner = false

Oops, thanks 😅


Initial commit of RT-1.34

iBGP, eBGP Administartive Distance (AD, route preference) setting

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 55.5%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1983

Relevant Lines:
3573

💛  - Coveralls


move from qunit to jasmine

Things to do:

[ ] Move each plugin in a separate folder
[ ] Rewrite all the plugins unit tests

[x] dom

[x] data
[x] eventHandler
[x] manipulator (#28543)
[x] selectorEngine

[x] util

[x] index
[x] sanitizeHtml

[x] Alert
[x] Button
[ ] Carousel
[ ] Collapse
[ ] Dropdown
[ ] Modal
[ ] Popover
[ ] Scrollspy
[ ] Tab
[ ] Toast
[ ] Tooltip

@Johann-S Now I see what you meant by "Bootstrap file structure changing a lot" in #27542. I would like to help moving away from jQuery, if there is a task I could tackle.

Hi @bershanskiy, if you're willing to help us to move away from jQuery there is a list of tasks here: https://github.com/twbs/bootstrap/issues/28342
And if you want to help us to move away from QUnit you can simply rewrite the unit tests of one of our plugins.
To do that you have to create one describe by methods, with one or several it in

@Johann-S
One minor thing: bootstrap/js/index.esm.js and bootstrap/js/index.umd.js still have
import Carousel from './src/carousel'

which might need to updating to
import Carousel from './src/carousel/carousel'

Thanks @bershanskiy 👍 The rewrite of the carousel is still in progress


Gardens don't get picked from the base set

I'm not seeing Gardens get picked from the base set when I don't specifically require them for a game. I think it's because Gardens are not included in the set of kingdom cards for the base set.
Here's code I used to confirm this bug:
for _ in range(10000):
    game = Game(players=[bm, bm], expansions=[base_set], use_logger=False)
    game.play()
    if gardens in game.supply.avaliable_cards():
        print("Gardens")
        break

What is the easiest way to fix this bug?

Hi @rhiever, thanks for opening this issue. This is indeed a bug.
I just merged #86 which should add gardens into the base set list.
I have not yet cut a new release for pypi yet so this change won't be evident in the pip package. If you have cloned the project and running locally please pull in the latest changes.

Thanks for the quick fix. I have this patched in the meantime by doing something like:
game = Game(players=[bm, bm], expansions=[base_set + [gardens]], use_logger=False)

That's a great workaround. Hopefully you are finding this library useful :)
Please let me know if you run into any other bugs or have any suggestions. I haven't given this project much attention in a while so it is still quite rough around the edges.


feat: 补充兼容性文档&修改webpack配置

Checklist

[x] npm test passes
[x] tests and/or benchmarks are included
[x] commit message follows commit guidelines

Description of change

webpack.config 新增 babel
文档更新

Pull Request Test Coverage Report for Build 685855600

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.06%) to 93.598%

Totals

Change from base Build 682249034:
0.06%

Covered Lines:
10911

Relevant Lines:
11307

💛  - Coveralls

fixed https://github.com/antvis/G2/issues/3186


Homepage and detail item route conflict

Hi, I need to create two routes for my app. The first is homepage, with no parameters and second is detail of item, which is represented urlId parameter. Detail have to contains any world and homepage hasn't. For example:
http://localhost -> homepage
http://localhost/ -> homepage
http://localhost/detail-of-my-item -> detail (urlId = detail-of-my-item)
I have defined this route:
for detail: '/^\/((?:\w+-)+\w+)/', function() {...} for support '-' in world -> '/^/((?:\w+-)+\w+)/' (this return error: Invalid regular expression: //%5E/((?([^/]+)+-)+w+)(?:/$|$)/: Invalid group), but in online regex javascript validator is correct.
and homepage: *, function() {...}
When I try something like: "http://localhost/" -> got homepage correctly, but after http://localhost/test -> got again homepage.
How can I solve it? Thank you for your time.

Ok, it looks like bug. I try to this regexp with unit tests https://regex101.com/r/LUo5k9/1/tests
But this match is not accepted with global flag.


Add admin page + work on chat page

It's been a while with no progress so I'm closing this for now.


Add ios icon set

This PR will add ios icon set for alkitab app. This icon was created using sketch and I used this plugin https://github.com/tadija/aeiconizer to automatically generate the icon in different sizes.

This will solve issue #2


Add hints for mempty as a function

CI gives the error:
No name for the hint \ x -> mempty ==> mempty

Can you give it an explicit name? HLint gets confused because you replace mempty with mempty, so there is no good default.

Added.

    - hint: {lhs: const mempty, rhs: mempty}
    - hint: {lhs: \x -> mempty, rhs: mempty, name: Redundant lambda}

I think these two hints are actively harmful for code clarity. Nobody who I know thinks "oh yeah, of course, this is mempty for (-> b)" - their thoughts are more along the lines of "wtf?" followed by opening code to check what the types are.
In any case, even if everyone is familiar with that instance and keeps it in mind at all times, this change makes code harder to mentally type-check for not much syntactic savings (<10 characters?) (in my opinion ofc.)

@googleson78

INobody who I know thinks "oh yeah, of course, this is mempty for (-> b)" - their thoughts are more along the lines of "wtf?" followed by opening code to check what the types are.

On seeing this ticket, I for one definitely fell into that camp 🤣  My reaction to it though I think differed from yours - I was excited to find out about the instance and don't these make the best hints? The ones that teach us something?

I have nothing against the hint as a learning experience - in fact I think this instance for Semigroup and Monoid is "pretty cool", but it's definitely not something I want to have to think about when doing a review/trying to understand a piece of code I haven't worked on.
Not because I'm 100% always against abstractions/complications, but for me a single lambda/const save isn't worth using mempty with a different amount of arguments (>0) than most common uses of mempty (0).

FWIW, the real-world use case for this hint that inspired me to add it was from my answer to this Stack Overflow question, which actually uses that instance twice (saving 2 consts):
lpref :: Int -> [Int] -> Maybe [Int]
lpref w xs
  | 0 >= w = Just []
  | otherwise = foldr go mempty xs 0 id
  where
    go :: Int -> (Int -> ([Int] -> [Int]) -> Maybe [Int]) -> Int -> ([Int] -> [Int]) -> Maybe [Int]
    go x acc s f
      | s' >= w = Just $ f [x]
      | otherwise = acc s' (f . (x:))
      where s' = x + s

Here, I'm using mempty in place of (const (const Nothing)), which IMO is quite a big simplification since this is already complicated enough.

I left this patch a few days to see if I felt more strongly. I'm pretty much on the fence between @googleson78 and @josephcsible. Given that, I threw it open to the mercy of Twitter: https://twitter.com/ndm_haskell/status/1290387392420085760 (not that the poll is a final decision, but good to get a sense of what the rest of the world thinks)

71% of Twitter users don't want these hints, so I suggest we put them in generalise-for-conciseness group. The one exception would be either mempty since that's already using mempty in the function position, so not complicating anything.

Okay, I moved the hints that add usage of the function instance to generalise-for-conciseness, but I left the one that removed usage of the instance. I also added one more hint to catch the typo of x `mempty` y instead of x `mappend` y that caused a real-life bug at https://dorchard.blog/2020/06/03/a-short-exploration-of-ghcs-instance-resolution-hiding-mistakes-from-the-type-checker/.


Explorer displays "Loading file tree" perpetually when trying to join a session

Describe what happened:
I've been trying to work on live share with my colleague for a week, and its not working.
It used to work, but now, when I or he tries to join, the screen displays "loading file tree" indefinitely and it never actually load the files or anything.
What was your system configuration?
I am using a MacBook Pro (2019)
Product and Version [VS/VSCode]:
VSCode 1.52.0
OS Version[macOS/Windows]:
macOS Big Sur
Live Share Extension Version:
v1.0.3303
Target Platform or Language [e.g. Node.js]:
tried on VueJs, nodejs, react, or just plain text files to try, but nothing works.
Steps to Reproduce / Scenario:

Go to your workspace
Click on live share, share(read/write)
Send the live share link to colleague
He clicks on the link, joins the live share(also tried manually joining), vscode displays "loading file tree" as if it was working normally, but never stops, and my colleague's computer is over heating, like it was very active.

Please attach logs to this issue:
Couldn't find the logs:
"Command 'Live Share: Export Logs' resulted in an error (command 'liveshare.exportLogs' not found)"

@jeremynac Thanks for reporting this! You mentioned that things you to use. Any idea whether or not this issue started after you upgraded to macOS Big Sur?

@lostintangent I installed Big Sur when it came out in the beginning of November. The live share problems started just 2 weeks ago. I think it was on Thursday 10th or around.
I was working with friends which were on other os(windows,Ubuntu and fedora) the whole week, and at some point it just stopped working for me.
I couldn't join anything. I could still share my session with them tough.
I then tried to work on liveshare with another friend that's on macOS, and neither share or join was was working for us.
I guess it definitely has something to do with MacOS but it didn't start with the update.

Are you still running into the issue you mentioned with running the Live Share: Export Logs command? If so, that would seemingly indicate that the extension ins't activating correctly. Could you run the Help > Toggle Developer Tools menu item, and see if there's anything in that related to Live Share? Thanks!

Hi, the problem appears to have been fixed. It's all working on my side. Thanks for your help!

Hi, the problem appears to have been fixed. It's all working on my side. Thanks for your help!

OK awesome! I'll close this as resolved then for now, but please let us know if you run into this problem again. Thanks!

OK awesome! I'll close this as resolved then for now, but please let us know if you run into this problem again. Thanks!

Hi there,
I am having this same problem.
Describe what happened

I have been using VS Code Live Share to work collaboratively with a colleague. It has been working successfully for several weeks.
Since yesterday (2021-02-19), when we tried sharing a session, we started getting the perpetual "loading file tree" issue #4022. We have tried sharing in both directions and the problem occurs on both sides when one is on the receiving end of the invitation.

System configuration
MacBook Pro (2020)
Product and Version [VS/VSCode]:
VSCode 1.53.2
OS Version[macOS/Windows]:
macOS Big Sur 11.2.1
Live Share Extension Version:
v1.0.378
Target Platform or Language [e.g. Node.js]:
tried on python and plain text files, but nothing works.
Steps to Reproduce / Scenario:

Go to your workspace
Click on live share, share(read/write)
Send the live share link to colleague
They click on the link, joins the live share(also tried manually joining), vscode displays "loading file tree" as if it was working normally, but never stops.

Thanks for your help!

Hi, the problem appears to have been fixed. It's all working on my side. Thanks for your help!

How did you resolve this. I am having the same issue? Thanks.

Am having sane issues pls

I'm having the same issue
OS Version
Raspbian 10 (Buster)
Live Share Version
1.0.4498
VSC Version
1.57.1

I'm having the same issue
OS Version
Raspbian 10 (Buster)
Live Share Version
1.0.4498
VSC Version
1.57.1

Maybe try to log out and log in again inside vscode.
I had the same problem again at some point and logging in again fixed it

Sometimes also happens to me - workspace all the time in loading state, sometimes it only loads one folder from workspace
vscode:
Version: 1.58.2
Commit: c3f126316369cd610563c75b1b1725e0679adfb3
Date: 2021-07-14T22:30:16.440Z
Electron: 12.0.13
Chrome: 89.0.4389.128
Node.js: 14.16.0
V8: <IP_ADDRESS>-electron.0
OS: Linux x64 5.4.0-80-generic (linux mint 20.2)


User Guide

Hey guys,
So generally I'm pretty new to Baresip, and maybe that's why I'm struggling a bit. That said, this looks like a nice, clean implementation and I'm excited to get to know things better.
Can you point me in the right direction a bit for now? I see in esp-baresip.cpp there are two functions that seem to do most of the heavy lifting:
re_main(signal_handler); in baresip_main, which is running in the task.
&
sipHandleCommand which seems to accept json requests, but I'm not sure what or from where.
I'm looking to let my esp32 board call out to another client, using sip.antisip.com server, when certain events happen in my main esp32 logic.  Basically letting my esp32 call out via SIP sometimes.
Can you provide some advice as to how I could do this? Thanks!

Btw, I found I had to create a loop in the baresip_main function or else there would be a core panic for some reason.

I've made some progress today. I was able to get the esp32 device to call out to another client on the hosted service. It's crashing in the end, likely with some i2s errors. It could be that my audio pipelines aren't set up on the board, perhaps?
I'll search more tomorrow, but here's my log so far in case you have some time and anything here looks familiar.
sipPhoneInit stack size = 16384I (4546) esp-baresip: sipPhoneInit stack size = 16384
I (4546) esp-baresip: Entered baresip thread
I (4546) esp-baresip: Baresip initialization done
call: alloc with params laddr=<IP_ADDRESS>, af=AF_INET, use_rtp=1
I (4566) esp-baresip: call: alloc with params laddr=<IP_ADDRESS>, af=AF_INET, use_rtp=1

call: use_video=0
I (4576) esp-baresip: call: use_video=0

call: connecting to<EMAIL_ADDRESS>I (4576) esp-baresip: call: connecting to<EMAIL_ADDRESS>
call: SIP Progress: 100 trying -- your call is important to us (/)
I (5056) esp-baresip: call: SIP Progress: 100 trying -- your call is important to us (/)

call: SIP Progress: 180 Ringing (/)
I (5366) esp-baresip: call: SIP Progress: 180 Ringing (/)

play: /usr/share/baresip/ringback.wav: No such file or directory
I (5386) esp-baresip: play: /usr/share/baresip/ringback.wav: No such file or directory

ua event: CALL_RINGING
call: got SDP answer (359 bytes)
I (9676) esp-baresip: call: got SDP answer (359 bytes)

call: update media
I (9676) esp-baresip: call: update media

stream: update 'audio'
I (9696) esp-baresip: stream: update 'audio'

stream: audio: starting RTCP with remote <IP_ADDRESS>:43473
I (9696) esp-baresip: stream: audio: starting RTCP with remote <IP_ADDRESS>:43473

audio: Set audio decoder: PCMU 8000Hz 1ch
I (9706) esp-baresip: audio: Set audio decoder: PCMU 8000Hz 1ch

audio: start
I (9726) esp-baresip: audio: start

i2s_start_bus start with _i2s_on=1I (9726) esp-baresip: i2s_start_bus start with _i2s_on=1
E (9736) I2S: Register I2S Interrupt error
i2s: could not install i2s driver (ESP_ERR_NOT_FOUND)I (9736) esp-baresip: i2s: could not install i2s driver (ESP_ERR_NOT_FOUND)
audio: start_player failed (.): Invalid argument
I (9756) esp-baresip: audio: start_player failed (.): Invalid argument

audio: Set audio encoder: PCMU 8000Hz 1ch
I (9766) esp-baresip: audio: Set audio encoder: PCMU 8000Hz 1ch

audio: start
I (9776) esp-baresip: audio: start

i2s_start_bus start with _i2s_on=1I (9776) esp-baresip: i2s_start_bus start with _i2s_on=1
i2s_play_alloc starting play thread
I (9786) esp-baresip: i2s_play_alloc starting play thread

E (9796) I2S: Not initialized yet
i2s: playbGuru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.
Core 1 register dump:
PC      : 0x400fdf9b  PS      : 0x00060f30  A0      : 0x80123454  A1      : 0x3fff1d80
0x400fdf9b: i2s_write at ~/esp/esp-idf/components/driver/i2s.c:1294

A2      : 0x00000000  A3      : 0x3fff0ff8  A4      : 0x00000280  A5      : 0x3fff1dc0
A6      : 0xffffffff  A7      :

In the esp adf voip example application, they have a big state machine that the developer is able to leverage in the callback. I'm not sure where to find something like this with BareSip client. Any advice?
https://github.com/espressif/esp-adf/blob/master/examples/advanced_examples/voip/main/voip_app.c#L182


Downloads not working

It seems like either the file server is overloaded or something else is broken.
The downloads start really slow and constantly get interuppted. Tested from multiple clients.
Are there any mirrors available?

I dont know if something was done or the issue resolved itself, but the downloads seem to work again. Maybe it was a high bandwidth client taking up all bandwidth.

Thanks a lot for reporting back that everything is working as expected now. We had a look but could not find the cause of potential download problems.


pysrt: init at 1.1.1

Motivation for this change
Dependency of subliminal, which I want to add later.
Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Thanks @Mic92!


"Save and Close" snipt shows no tags

If I "save and close" a snipt, then it says "Tag=0" where I have 3 for example.
-- I need to refresh the page, and then tags shows normally.
Jean

Fixed when we launched Teams!


Docs?

Hello,
The other day I was searching for a way to write a rizin plugin in rust and came across this repo. But there is little to no documentation (in fact the docs.rs for this repo (which isn't linked from crates.io?) doesn't build successfully). So I wrote my own dodgy build.rs binding generator.
Just letting you know my experience in case it helps you decide what to prioritize going forward.
Cheers

Hi, thanks for your interest in the project!
Documentation is sorely lacking, that’s for sure :), so sorry if things are/were a bit painful. I am still actively developing the project, but I have very limited time. My current priorities are to release a v0.3 version of the core crates with some high level API and examples, which should help with the lack of documentation. After that, I plan to work on getting integrations into a better state.


"Show in Explorer" command on a folder in the treeview cann't be assigned a shortcut ?

Is it possible to assign a shortcut to this command ? It is very useful.

You can remap it with your keymap.

keymap.

Am I missing something, to my feeling, this command is not there by default.

Unsubscribe
Sent from Yahoo Mail on Android
On Sun, Apr 4, 2021 at 7:40 PM, @.***> wrote:
keymap.
Am I missing something, to my feeling, this command is not there by default.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Unsubscribe Sent from Yahoo Mail on Android On Sun, Apr 4, 2021 at 7:40 PM, @.***> wrote: keymap. Am I missing something, to my feeling, this command is not there by default. — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

Mind elaborating on the specific syntax. I thought if you cannot find the command in the search box, there just doesnt exist such a command. If there is indeed one, I cannot find the specific syntax on web.

@jiewangjs
"tree-view":
  "{whatever keys you want to press}": "tree-view:show-in-file-manager"

keymap.

Am I missing something, to my feeling, this command is not there by default.

I see. So it's not a separate command. I'm pretty sure (at least on macOS) you can simulate it with open -a

So it's not a separate command.

The command is tree-view:show-in-file-manager but it doesn't work in the command palette because tree-view has to be selected.

So it's not a separate command.

The command is tree-view:show-in-file-manager but it doesn't work in the command palette because tree-view has to be selected.

my keymap file is like this. still not working, this kind of problem is really anoying. Seems trivial, just cannot get it to work.

Do you have a tree-view entry selected when you press F7? What OS, Atom version are you using?

Ok I just tested it out and it doesn't work with "f7" but does work with other key bindings. Not sure why. It does work for me as:
"atom-workspace":
  "f7": "tree-view:show-in-file-manager"

Do you have a tree-view entry selected when you press F7? What OS, Atom version are you using?

Yes. window 10. atom version is 1.55.0x64

"atom-workspace":
  "f7": "tree-view:show-in-file-manager"

Thanks, now it works. your previous comment is different from this one. This one works.

Ya I think it has something to do with precedence of selectors. "atom-workspace" has higher precedence than "tree-view" so that key mapping will be selected instead of others.

Thanks for the input @UziTech


Annotated Exception, Builder, Reflect and Time packages.

@Kakarot-SSJ4 there are still many changes in this PR that are unrelated to your annotation efforts.  Thanks

This is not the pull request that is to be merged with typetools, this is against my own repository's master.
I am going to close this PR now.

@kelloggm  This is not the pull request that is to be merged with typetools, this is against my own repository's master.
I am going to close this PR now.


Create guardian-reminder

This plugin adds an overlay reminding you to use your Guardian

Commit hash should be correct now

This plugin serves no purpose after yesterdays QoL update to the Guardian relic.


Alternative version metrics.

PR Description
This patch changes the version metrics supplied in beacon_teku_version in two ways.  Firstly, it provides both version and release labels using standard names 'version' and 'release' rather than using the variable release name as the label.  Secondly, it provides unmunged strings for the label values, making them easier to parse.
Fixed Issue(s)
This provides an alternative solution to #3664 than that applied in #3717.  Using constant label names makes it much easier to obtain these values for inclusion in monitoring and alerting.  This also fits more closely with the format provided by other beacon chain clients.
Documentation

[x] I thought about documentation and added the documentation label to this PR if updates are required.

Changelog

[x] I thought about adding a changelog entry, and added one if I deemed necessary.

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


Add files via upload

This is not jnu.edu.cn
My University's domain address is jnu.ac.kr

@junghunim07 I am sorry, the domain jnu.ac.kr is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).

@junghunim07 Yes!
The domain jnu.ac.kr IS NOT ALLOWED in the trusted list, because it was abused.

PLEASE use alternative way of applying for the free license:

please enroll to GitHub Student Developer Program at https://education.github.com/discount_requests/application;
then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).

Thank you for your understanding!


Replace registration system with an explicit dependency one

Implements proposal: https://github.com/open-telemetry/opentelemetry-service/issues/138

Codecov Report

Merging #159 into master will decrease coverage by 1.98%.
The diff coverage is 81.3%.

@@            Coverage Diff            @@
##           master    #159      +/-   ##
=========================================
- Coverage   73.69%   71.7%   -1.99%
=========================================
  Files          95     102       +7
  Lines        5827    5991     +164
=========================================
+ Hits         4294    4296       +2
- Misses       1318    1474     +156
- Partials      215     221       +6

Impacted Files
Coverage Δ

receiver/factory.go
100% <100%> (ø)
:arrow_up:

config/configv2.go
98.64% <100%> (ø)
:arrow_up:

service/builder/pipelines_builder.go
92.72% <100%> (ø)
:arrow_up:

service/service.go
68.84% <100%> (+0.69%)
:arrow_up:

exporter/factory.go
100% <100%> (ø)
:arrow_up:

processor/factory.go
100% <100%> (ø)
:arrow_up:

config/test_helpers.go
50% <100%> (ø)
:arrow_up:

internal/collector/processor/queued/factory.go
90.9% <50%> (-9.1%)
:arrow_down:

...nternal/collector/processor/nodebatcher/factory.go
95.12% <50%> (-4.88%)
:arrow_down:

service/builder/receivers_builder.go
83.63% <50%> (-1.55%)
:arrow_down:

... and 19 more

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 8721e3b...9085b96. Read the comment docs.

@owais I'm starting to look at the PR, meanwhile could you please delete https://github.com/open-telemetry/opentelemetry-service/blob/master/service/factories_registration.go in your PR?


[#729] --test-list-randomize used only when file or builtin list are requested

Option selector for built-in list added

this is a user interface change.... which may well break existing users
can you elaborate a little bit more on the why of this change? without understanding the reason it's hard to justify breaking users

Old behavior is not well described and very implicit. More explicit user interface is always better. Speaking about the commit, [release note] should be added, I'll add.
I don't really know if there's anything in built-in list included (I'm not aware about releasing process yet). In the development the list is empty (and event the names does not suggest the purpose). Does any customer use this feature?


updated semistandard-format to latest version

Updated the semistandard-format dep to the latest version to address some issues found with bitHound:
Current:
With this PR:
The insecure flag was due to a sub dep a few levels down which is why we marked it as a warning rather then an error for the insecure dep.
Didn't clean up any of the other outdated deps to keep this PR simple.
Would you be interested in adding the bitHound badges to your README? I can add them in this PR as well.

bithound <3
But, the flag outdated is bad too.

Yeah, the security flag was more important to clean up for me (selfish since I wanted my score to go up).
I have updated the outdated dep and added the badge to your readme.  Currently showing "good".
Can be upgraded to "All Star" with a bit more work :)

Thanks!

Can we get this published to npm?

Apologies. Its been published as<EMAIL_ADDRESS>


Support batched slogdet with complex numbers

Related to #3522, I added support for cupy.linalg.slogdet to handle complex numbers.
This PR also includes a bug fix on cupy.linalg.decomposition._lu_factor that incorrectly handled complex ndarrays with cuSolver.

Can you measure performance before and after the change?
Thank you!

Thank you for your comments and nice suggestion m(_ _)m
I replaced with cupy.prod(diag / cupy.abs(diag), axis=-1) because cupy's (and also numpy's) sign function does not support complex numbers.

You will need to tweak 0 values somehow :)

Actually, this is already done at the last of 'slogdet' function by evaluating whether each matrix is singular or not.
https://github.com/cupy/cupy/blob/a810f1aa908748d030da60946e11106a1f440f3f/cupy/linalg/norms.py#L289

Great fix! Thanks a lot 😃

Jenkins, test this please

Jenkins CI test (for commit a810f1aa908748d030da60946e11106a1f440f3f, target branch master) failed with status FAILURE.

@emcastillo If you have any idea about the failure of the Jenkins CI test, could you give me some advice?
I'm now confused because the test seems to succeed in my local environment as follows:
$ python -m pytest tests/cupy_tests/linalg_tests/test_norms.py
========================================================= test session starts =========================================================
platform linux -- Python 3.8.3, pytest-5.4.3, py-1.9.0, pluggy-0.13.1
rootdir: [modified: path/to/workspace]/cupy, inifile: setup.cfg
collected 237 items

tests/cupy_tests/linalg_tests/test_norms.py ................................................................................... [ 35%]
............................................................................................................................... [ 88%]
...........................                                                                                [100%]

========================================================== warnings summary ===========================================================
tests/cupy_tests/linalg_tests/test_norms.py: 14 tests with warnings
  [modified: /path/to/anaconda]/envs/dev-cupy/lib/python3.8/site-packages/numpy/linalg/linalg.py:2514: RuntimeWarning: divide by zero encountered in power
    absx **= ord

tests/cupy_tests/linalg_tests/test_norms.py: 14 tests with warnings
  [modified: /path/to/anaconda]/envs/dev-cupy/lib/python3.8/site-packages/numpy/linalg/linalg.py:2514: RuntimeWarning: divide by zero encountered in reciprocal
    absx **= ord

-- Docs: https://docs.pytest.org/en/latest/warnings.html
================================================== 237 passed, 28 warnings in 3.51s ===================================================

I confirmed that the source code is the version on the branch dev-slogdet.

The jenkins errors
00:05:18 E   AssertionError: Only cupy raises error
00:05:18 E
00:05:18 E     File "/work/cupy/cupy/testing/helper.py", line 23, in _call_func
00:05:18 E       result = impl(self, *args, **kw)
00:05:18 E     File "/work/cupy/tests/cupy_tests/linalg_tests/test_norms.py", line 179, in test_slogdet_3
00:05:18 E       return xp.array([sign, logdet], dtype)
00:05:18 E     File "/work/cupy/cupy/creation/from_data.py", line 43, in array
00:05:18 E       return core.array(obj, dtype, copy, order, subok, ndmin)
00:05:18 E     File "cupy/core/core.pyx", line 1986, in cupy.core.core.array
00:05:18 E       cpdef ndarray array(obj, dtype=None, bint copy=True, order='K',
00:05:18 E     File "cupy/core/core.pyx", line 2065, in cupy.core.core.array
00:05:18 E       return _send_object_to_gpu(obj, dtype, order, ndmin)
00:05:18 E     File "cupy/core/core.pyx", line 2132, in cupy.core.core._send_object_to_gpu
00:05:18 E       a_cpu = numpy.array(obj, dtype=dtype, copy=False, order=order,
00:05:18 E     File "cupy/core/core.pyx", line 1171, in cupy.core.core.ndarray.__array__
00:05:18 E       raise TypeError(
00:05:18 E   Implicit conversion to a NumPy array is not allowed. Please use `.get()` to construct a NumPy array explicitly.

I tracked this error to be caused by numpy 1.19.

@emcastillo Thank you for tracking.
I also reproduced this error by installing numpy=1.19.0.
The reason was that the dtype of sign and logdet were different when the tested dtype was complex.
I fixed the bug by putting logdet.astype(sign.dtype).
https://github.com/cupy/cupy/blob/29fcbcdd364d20533974131529944cffc4b0b8d4/tests/cupy_tests/linalg_tests/test_norms.py#L172

Jenkins, test this please

Jenkins CI test (for commit 29fcbcdd364d20533974131529944cffc4b0b8d4, target branch master) succeeded!

Do I get it right that NumPy 1.19 changed the returned types?

I'm not sure, but this might be related to https://github.com/cupy/cupy/issues/589#issuecomment-644616962.

cupy.array seems to unexpected raise TypeError when the list of cupy.ndarray of different dtypes.
>>> numpy.array([cupy.zeros((2, 3), dtype='f'), cupy.zeros((2, 3), dtype='d')])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "cupy/core/core.pyx", line 1171, in cupy.core.core.ndarray.__array__
    raise TypeError(
TypeError: Implicit conversion to a NumPy array is not allowed. Please use `.get()` to construct a NumPy array explicitly.

This seems correct because cupy does not allow the implicit conversion of cupy.ndarray to numpy.ndarray.
The main problem seems that the cupy.array function does not regard the list of cupy.ndarrays as a type of cupy.ndarray.
if isinstance(obj, ndarray):

@asi1024 This seems no problem because cupy does not allow the implicit conversion of cupy.ndarray to numpy.ndarray.
The main problem seems that the cupy.array function regards the list of cupy.ndarrays as something like numpy.ndarray:
https://github.com/cupy/cupy/blob/989ef4cd8889ea5309af288beba6814584969930/cupy/core/core.pyx#L2065
I'm not sure this is the correct behavior or not.

BTW, the tests don't check the dtypes of the return values. Fixed in #3577.

Oh, thank you very much.


Support HTTP/2 over TLS (https)

Supporting client/browser that makes a request to an "https" URI uses TLS with the application-layer protocol negotiation (ALPN) extension.
Secured HTTP/2 connection is more common than non-secured ( #1086 ) as all of the modern browsers are capable of opening HTTP/2 connection over TLS but not unsecured.

Our current plan is for HTTP/2 support to come via https://github.com/apple/swift-nio (when it's available) so I'm closing this for now.


Improve DataModule support for large custom data

🚀 Feature
In certain cases datasets are extremely large and either should not be tokenized instantly, (rather done on the fly) or a subset that can be tokenized in pieces.
This may also tie into #22 which will introduce data pipelines, making it easier to work this in.

Hi,
I asked for this so thought I'd add some thoughts.
Don't Copy on DDP
When I use DDP on a single machine, each worker/GPU makes a copy of the dataloader and thus the dataset.
This is suboptimal for two reasons

If my dataset has a comple/long running init (like tokenizing a lot of text) the startup time is frustratingly long.
I'm spending lots of memory on all those copies of the dataset.

Ideally the dataset dataloader would be shared via shared memory between processes, not sure how feasible that is in PT.
Shuffle Iterable Datasets
A way to workaround the above is to use an iterable dataset. But in DDP I need to implement some mechanism to "shuffle", otherwise each dataloader is returning the same thing and my batches are just copies of the same thing.
Collation Strategies  (Batching)
The thing with batching for NLP is that padding and truncation depend on the longest item in the batch.
This makes the separation of concerns between the dataset and collation function ambiguous. e.g. should I tokenize each item seperatly in the dataset or do it in the collation function.
If I tokenize in the dataset I need to truncate/pad myself in the collator, which is wasteful because HF's tokenizers already do it for me correctly and fast. On the other hand, if I tokenize in the collator I'm tokenizing on every batch, which slows down training (though I never measured by how much)


fix: update to eye v4.18.6

fix: update to eye v4.18.6

:tada: This PR is included in version 6.9.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release
v6.9.4

Your semantic-release bot :package::rocket:


Cost Reduction with AWS in the core accounts of all 3 SEAs

Describe the issue
Audra has discovered a path to 1 year prepayment cost reduction opportunities in AWS and we would like to leverage them to increase our efficiency.  Ryan has some ideas on how to save money in the core.
Additional context

PO has sample cost structure table to share
See approach Tim O took to see benefits and savings

Definition of done

Chat on RC with Ryan J about cost reduction suggestions
Focus on Core Workloads to begin, especially virtual machines like the firewall appliances (disregard the Fortinet VMs as we intend to shut off after 1 successful SEA upgrade with the CheckPoints in place to ensure the CheckPoints survive SEA patching)

Can probably spin down the Windows machines running Smart Console when we're not using them, and possibly the firewall manager

Reserved instances bought to achieve cost-saving(2 c5.large and an m5.large)


yara addfile third_party/yara-rules-full.yar: invalid field name "imphash"

I've just compiled the tool as suggested in the README:
go install github.com/chainguard-dev/bincapz@latest

When running it on /bin/true it fails with:
> ~/go/bin/bincapz /bin/true

scanning /bin/true ...
scan failed: YARA rule compilation: walk: yara addfile third_party/yara-rules-full.yar: invalid field name "imphash"

I am running OpenSUSE Tumbleweed, with the following packages:
> zypper info libyara-devel

Information for package libyara-devel:
--------------------------------------
Repository     : opensuse-oss-distribution
Name           : libyara-devel
Version        : 4.5.0-1.1
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 177.3 KiB
Installed      : Yes
Status         : up-to-date
Source package : yara-4.5.0-1.1.src

> go version

go version go1.21.7 linux/amd64

That's really interesting! I haven't tested it in OpenSUSE, but have in Arch Linux, which appears to be on yara 4.3.2-1. I'll see about installing a Tumbleweed VM to see what might be going on: my going theory is that 4.5.0 is incompatible with one of these two dependencies:

https://github.com/hillu/go-yara
https://github.com/YARAHQ/yara-forge

In the meantime, if you want to try bincapz, I think this workaround will work:
bincapz --third_party=false
That will disable the YaraFORGE 3rd party rules.

I'm successfully using bincapz w/ yara v4.5.0 on macOS. I tried to start a Tumbleweed VM but it's not coming up for some reason, so I haven't yet been able to replicate this issue.

I haven't been able to duplicate this yet - but I wonder if this may be due to a missing OpenSSL dependency: https://github.com/VirusTotal/yara-python/issues/179

I don't think it will work, but can you try installing the openssl-devel package?
My theory is that yara may only enable the imphash feature it can find the necessary library support. If it requires compile-time support, installing openssl-devel won't help, but if it determines the existence of the dependency at runtime, it should work.
One workaround I thought about is to change this from a fatal error to a warning, but it could mask a loss an unexpected loss in functionality.

FWIW, I ran into this when testing #181 inside of a Wolfi container. Installing openssl-dev (apk add openssl-dev) resolved the error.

Cross-posting from the closed PR
OpenSSL's libraries are required for Yara (depending on the platform being used).
A non-exhaustive list of Linux distributions and their respectie package names can be found below:

Debian, Ubuntu

libssl-dev

CentOS, Fedora, RHEL, Rocky:

openssl-devel

Alpine/Wolfi:

openssl-dev

Arch:

openssl (Arch includes the libraries)

OpenSUSE:

libopenssl-devel


API report for HikariCP

Hi,
Here is the review of API changes for the HikariCP library since 2.0.0 version: https://abi-laboratory.pro/java/tracker/timeline/hikaricp/
The report is generated by the https://github.com/lvc/japi-tracker tool for jars at http://central.maven.org/maven2/com/zaxxer/HikariCP/ according to the article https://wiki.eclipse.org/Evolving_Java-based_APIs_2.
The report is updated three times a week. Hope it will be helpful for users and maintainers of the library.
The tool checks all public API methods and classes by default. Please let me know if it should not check some parts of the API (private, undocumented, etc.).
Thank you.

Environment
HikariCP version: 2.0.0 - 2.7.2
JDK version: 1.8.0_65

@lvc That’s pretty cool.  We definitely have non-public APIs that are public out of necessity (cross-package visibility) that should be excluded.
My suggestion is that you honor a “dot” file in the root of the repository, such as .abi-tracker, that allows the developer to exclude packages and/or classes.

Hello,
Great idea!
Packages and classes can be filtered by regexp. Should the tool check only com.zaxxer.hikari and com.zaxxer.hikari.metrics (http://javadoc.io/doc/com.zaxxer/HikariCP/2.7.2)?
The .abi-tracker filter file may contain the following:
com\.zaxxer\.hikari\.metrics\.(micrometer|dropwizard|prometheus).*
com\.zaxxer\.hikari\.(pool|util|proxy).*

Thank you.


Add file-level information to packages in SPDX reports

The issue also mentions the export of file level information, and that is not yet solved
Originally posted by @maxhbr in https://github.com/oss-review-toolkit/ort/issues/4099#issuecomment-1110671671

As file-level information (like detected licenses etc.) could easily blow up the SPDX report a lot, adding these details should probably be hidden behind a reporter-specific option.

This works by now, doesn't it? There is the option file.information.enabled that enables file-level information in SPDX reports. So, probably, this issue can be closed?

So, probably, this issue can be closed?

Indeed, thanks @daniel-kr! For reference, this was implemented in https://github.com/oss-review-toolkit/ort/pull/7255.


Parse Loops

Closes #16

@sumiya11 If you're curious, we now have basic front end parsing!
> opt -mcpu=native --load-pass-plugin=/home/chriselrod/Documents/progwork/cxx/LoopModels/builddirnocov/libTurboLoop.so --passes=turbo-loop --disable-output /home/chriselrod/Documents/progwork/cxx/LoopPlayground/LoopInductTests/test/triangular_solve2.ll
# ...
orth opt succeeded!
optDeps.hasValue() = 1
LoopBlock schedule:mem->nodeIndex = 0; mem->ref = ar.indexMatrix() =
[  1  0
   0  1 ]
ArrayReference %24 (dim = 2, num loops: 2, element size: 8):
A.numRow() = 2; A.numCol() = 2
Sizes: [ unknown, %21 ]
Subscripts: [ i_1 , i_0 ]
s.getPhi() =
[  1  0
   0  1 ]
s.getOmega() = [ 0, 2, 0, 0, 0 ]

mem->nodeIndex = 0; mem->ref = ar.indexMatrix() =
[  1  0
   0  1 ]
ArrayReference %27 (dim = 2, num loops: 2, element size: 8):
A.numRow() = 2; A.numCol() = 2
Sizes: [ unknown, %9 ]
Subscripts: [ i_1 , i_0 ]
s.getPhi() =
[  1  0
   0  1 ]
s.getOmega() = [ 0, 2, 0, 0, 0 ]

mem->nodeIndex = 1; mem->ref = ar.indexMatrix() =
[  1  0
   0  1 ]
ArrayReference %27 (dim = 2, num loops: 2, element size: 8):
A.numRow() = 2; A.numCol() = 2
Sizes: [ unknown, %9 ]
Subscripts: [ i_1 , i_0 ]
s.getPhi() =
[  1  0
   0  1 ]
s.getOmega() = [ 0, 1, 0, 0, 0 ]

mem->nodeIndex = 1; mem->ref = ar.indexMatrix() =
[  1  1
   0  0 ]
ArrayReference %35 (dim = 2, num loops: 2, element size: 8):
A.numRow() = 2; A.numCol() = 2
Sizes: [ unknown, %32 ]
Subscripts: [ i_1 , i_1 ]
s.getPhi() =
[  1  0
   0  1 ]
s.getOmega() = [ 0, 1, 0, 0, 0 ]

mem->nodeIndex = 1; mem->ref = ar.indexMatrix() =
[  1  0
   0  1 ]
ArrayReference %27 (dim = 2, num loops: 2, element size: 8):
A.numRow() = 2; A.numCol() = 2
Sizes: [ unknown, %9 ]
Subscripts: [ i_1 , i_0 ]
s.getPhi() =
[  1  0
   0  1 ]
s.getOmega() = [ 0, 1, 0, 0, 0 ]

mem->nodeIndex = 1; mem->ref = ar.indexMatrix() =
[  1  0
   0  1 ]
ArrayReference %27 (dim = 2, num loops: 2, element size: 8):
A.numRow() = 2; A.numCol() = 2
Sizes: [ unknown, %9 ]
Subscripts: [ i_1  + 1, i_0 ]
s.getPhi() =
[  1  0
   0  1 ]
s.getOmega() = [ 0, 1, 0, 0, 0 ]

mem->nodeIndex = 1; mem->ref = ar.indexMatrix() =
[  1  1
   0  0 ]
ArrayReference %35 (dim = 2, num loops: 2, element size: 8):
A.numRow() = 2; A.numCol() = 2
Sizes: [ unknown, %32 ]
Subscripts: [ i_1  + 1, i_1 ]
s.getPhi() =
[  1  0
   0  1 ]
s.getOmega() = [ 0, 1, 0, 0, 0 ]

mem->nodeIndex = 1; mem->ref = ar.indexMatrix() =
[  1  0
   0  1 ]
ArrayReference %27 (dim = 2, num loops: 2, element size: 8):
A.numRow() = 2; A.numCol() = 2
Sizes: [ unknown, %9 ]
Subscripts: [ i_1  + 1, i_0 ]
s.getPhi() =
[  1  0
   0  1 ]
s.getOmega() = [ 0, 1, 0, 0, 0 ]

mem->nodeIndex = 2; mem->ref = ar.indexMatrix() =
[  0  0
   1  0
   0  1 ]
ArrayReference %27 (dim = 2, num loops: 3, element size: 8):
A.numRow() = 3; A.numCol() = 2
Sizes: [ unknown, %9 ]
Subscripts: [ i_1 , i_0 ]
s.getPhi() =
[  1  1  0
   0  0  1
   0  1  0 ]
s.getOmega() = [ 0, 0, 0, 0, 0, 0, 0 ]

mem->nodeIndex = 2; mem->ref = ar.indexMatrix() =
[  1  0
   1  0
   0  1 ]
ArrayReference %27 (dim = 2, num loops: 3, element size: 8):
A.numRow() = 3; A.numCol() = 2
Sizes: [ unknown, %9 ]
Subscripts: [ i_1  + i_2  + 2, i_0 ]
s.getPhi() =
[  1  1  0
   0  0  1
   0  1  0 ]
s.getOmega() = [ 0, 0, 0, 0, 0, 0, 0 ]

mem->nodeIndex = 2; mem->ref = ar.indexMatrix() =
[  1  0
   1  1
   0  0 ]
ArrayReference %35 (dim = 2, num loops: 3, element size: 8):
A.numRow() = 3; A.numCol() = 2
Sizes: [ unknown, %32 ]
Subscripts: [ i_1  + i_2  + 2, i_1 ]
s.getPhi() =
[  1  1  0
   0  0  1
   0  1  0 ]
s.getOmega() = [ 0, 0, 0, 0, 0, 0, 0 ]

mem->nodeIndex = 2; mem->ref = ar.indexMatrix() =
[  1  0
   1  0
   0  1 ]
ArrayReference %27 (dim = 2, num loops: 3, element size: 8):
A.numRow() = 3; A.numCol() = 2
Sizes: [ unknown, %9 ]
Subscripts: [ i_1  + i_2  + 2, i_0 ]
s.getPhi() =
[  1  1  0
   0  0  1
   0  1  0 ]
s.getOmega() = [ 0, 0, 0, 0, 0, 0, 0 ]

This orthogonalizes stores in the triangular solve example:
julia> function triangular_solve!(A, B, U)
           M, N = size(A)
           @inbounds for m = 1:M
               for n = 1:N
                   A[m,n] = B[m,n]
               end
               for k = 1:N
                   A[m,k] /= U[k,k]
                   for n = k+1:N
                       A[m,n] -= A[m,k]*U[k,n]
                   end
               end
           end
       end

Note that because we use SCEV for processing loop bounds and array indices, we read both as a function of iteration number. Thus, loop bounds effectively all start at zero.
I may update our Polyhedra representation to make this implicit, so we don't need to explicitly store the 0 lower bounds.
The Simplex class of course already has implicit 0 lower bounds, and supports a more efficient bounds-pruning algorithm.
In other words, the above loops with 1-based indexing are essentially translated to the following loops with 0-based indexing:
for m = 0:M-1
    for n = 0:N-1
        A[m,n] = B[m,n]
    end
    for k = 0:N-1
        A[m,k] /= U[k,k]
        for n = 0:N-k-2
            A[m,n+k+1] -= A[m,k] * U[k,n+k+1]
        end
    end
end

What the output I pasted above shows, is that we've rotated and fused all the loops, moving the reduction to the inner most loop.
I don't think the last omegas should be all zero though...
Also, I'll have to double check my math and code, because the output above says n+k+2 and not n+k+1 for indexing...


docker network connect does not show readable error message

Description
When I connect a container to a network, the output may show unreadable log:
root@ubuntu:~# docker network connect bridge allen
Error response from daemon: service endpoint with name allen already exists

Here the error message is service endpoint with name allen already exists, actually I can not follow this error message.
Steps to reproduce the issue:

docker run -d --name allen alpine sleep 12344
docker network connect bridge allen, report above error message

Describe the results you received:
root@ubuntu:~# docker network connect bridge allen
Error response from daemon: service endpoint with name allen already exists

Describe the results you expected:
root@ubuntu:~# docker network connect bridge allen
Error response from daemon: endpoint with name allen already exists in network bridge

Additional information you deem important (e.g. issue happens only occasionally):
Output of docker version:
root@ubuntu:~# docker version
Client:
 Version:      1.13.0-rc4
 API version:  1.25
 Go version:   go1.7.3
 Git commit:   88862e7
 Built:        Fri Dec 16 22:59:15 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.13.0-rc4
 API version:  1.25 (minimum version 1.12)
 Go version:   go1.7.3
 Git commit:   88862e7
 Built:        Fri Dec 16 22:59:15 2016
 OS/Arch:      linux/amd64
 Experimental: false

Output of docker info:
root@ubuntu:~# docker info
Containers: 3
 Running: 2
 Paused: 1
 Stopped: 0
Images: 1
Server Version: 1.13.0-rc4
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 7
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 03e5862ec0d8d3b3f750e19fca3ee367e13c090e
runc version: 51371867a01c467f08af739783b8beafc154c4d7
init version: 949e6fa
Security Options:
 apparmor
Kernel Version: 3.19.0-25-generic
Operating System: Ubuntu 14.04.3 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 1.954 GiB
Name: ubuntu
ID: FXOY:JCOY:HKDI:VO5U:FYDM:UEXV:YIFN:AISM:NR6U:VMW5:V4MZ:RQWF
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 36
 Goroutines: 45
 System Time: 2016-12-27T11:11:39.687542792+08:00
 EventsListeners: 0
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Labels:
 d=a
 c=d
Experimental: false
Insecure Registries:
 a.b.c
 <IP_ADDRESS>/8
Registry Mirrors:
 https://a.b.c/
 https://a.b.c/
Live Restore Enabled: false

Additional environment details (AWS, VirtualBox, physical, etc.):

reopening, because https://github.com/docker/libnetwork/issues/1602 was not vendored yet


the training costs of the two selected individuals are different.

During the implementation of the tournament selection method, the training costs of the two selected individuals are different. The second path individual trains a different net weights  baseed on what the first individual has trained. So the second individual always have more training epochs than the first one. It may be wrong when both individuals are compared.

Hi,
Thank you for your interesting about my repo.
This algorithm as I remember, is to use trained NN in previous task.
I can't fully understand second have more training epochs, but when both tasks are similar or commonsense, trained NN in first task helps training for second task.


Unable to upload files

I am connecting to met nextcloud through the proxy and when uploading big files it disconnects.
When i try it with another proxy it works fine

Added the comment client_max_body_size 100M; to the host file