More activation function options?

I noticed that the current iteration of the toy-nn library has two activation functions; the sigmoid (aka logistic) function and the TanH function.
There are actually a ton of activation functions and their derivatives listed on Wikipedia.
Reference: https://en.wikipedia.org/wiki/Activation_function#Comparison_of_activation_functions
If you're interested, I wouldn't mind transcribing a few more.

Actually it only works with derivatives that can work with the "already functioned" value
-> f'( f(x) )
Maybe this should be changed then too.

Confirmed. Sigmoid and TanH are used on already functioned values.
If we absolutely had to get around this problem, we would have to use static functions more frequently to have access to pre-functioned matricies. Then also add a boolean property to the NeuralNetwork class that would allow the NeuralNetwork to know whether it needs to apply the activation function to pre-functioned or post-functioned matricies. Such a NeuralNetwork property would have to be informed by adding a boolean property to the ActivationFunction class that would encode which activation functions required special treatment and which didn't. This would open the door for things like leaky-ReLU and Gaussian activation functions. Doable, if absolutely necessary. That's very doable in my opinion.
That said, if Mr. Shiffman is eventually going to switch over to deeplearn.js, the Graph class has most of the most broadly used activation functions included as methods.
Reference: https://deeplearnjs.org/docs/api/classes/graph.html
Example: https://www.robinwieruch.de/neural-networks-deeplearnjs-javascript/
Not sure if I should proceed.

I have the same sorts of feelings. I'm not sure I can advocate for adding a
lot of configurability to a library that's made for quick prototyping and
ease of learning. I don't think it's over-the-top yet, but it's getting
there pretty quickly.
I think ReLU and leaky ReLU should be implemented, but I wouldn't put much
effort into it beyond that.
On Mon, Feb 12, 2018 at 2:02 PM, Adil Iqbal<EMAIL_ADDRESS>wrote:

Confirmed. Sigmoid and TanH are used on already functioned values.
If we absolutely had to get around this problem, we would have to use
static functions more frequently to have access to pre-functioned
matricies. Then also add a boolean property to the NeuralNetwork class that
would allow the NeuralNetwork to know whether it needs to apply the
activation function to pre-functioned or post-functioned matricies. Such a
NeuralNetwork property would have to be informed by adding a boolean
property to the ActivationFunction class that would encode which activation
functions required special treatment and which didn't. This would open the
door for things like leaky-ReLU and Gaussian activation functions. Doable,
if absolutely necessary. That's very doable in my opinion.
That said, if Mr. Shiffman is eventually going to switch over to
deeplearn.js, the Graph class has most of the most broadly used activation
functions included as methods.
Reference: https://deeplearnjs.org/docs/api/classes/graph.html
Example: https://www.robinwieruch.de/neural-networks-deeplearnjs-
javascript/
Not sure if I should proceed.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/CodingTrain/Toy-Neural-Network-JS/issues/70#issuecomment-365077788,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALpeda7mpnMgB2gBxo3f5FIipHE3pYTPks5tULTigaJpZM4SCtxP
.

I would definitely be willing to put in the work.
Though, perhaps I should wait until I get a thumbs up from Mr. Shiffman.

I went ahead and put in a little bit of effort. This is what the changes might look like. I need to make sure they work so if you guys wouldn't mind giving me some feedback, I'd appreciate it!
Changes Made: https://github.com/Adil-Iqbal/Toy-Neural-Network-JS/commit/4ca648c73659b57a6486ce8b1cd842b29c1b5e97#diff-e8acc63b1e238f3255c900eed37254b8
Forked Repository: https://github.com/Adil-Iqbal/Toy-Neural-Network-JS/tree/master/lib
Since I had to duplicate pre-functioned values for both hidden and output layers, I decided to add a duplicate function to the matrix library. Which I've written tests for, as well.

I like these changes. This allows a lot more flexibility.
The changes are technically not necessary to implement ReLU because the
backwards function returns constants around the same pivot point used in
the forward function.
On Tue, Feb 13, 2018 at 7:45 AM, Adil Iqbal<EMAIL_ADDRESS>wrote:

I went ahead and put in a little bit of effort. This is what the changes
might look like. I need to make sure they work so if you guys wouldn't mind
giving me some feedback, I'd appreciate it!
Changes Made: Adil-Iqbal/Toy-Neural-Network-JS@4ca648c#diff-
e8acc63b1e238f3255c900eed37254b8
https://github.com/Adil-Iqbal/Toy-Neural-Network-JS/commit/4ca648c73659b57a6486ce8b1cd842b29c1b5e97#diff-e8acc63b1e238f3255c900eed37254b8
Forked Repository: https://github.com/Adil-Iqbal/
Toy-Neural-Network-JS/tree/master/lib
Since I had to duplicate pre-functioned values for both hidden and output
layers, I decided to add a duplicate function to the matrix library. Which
I've written tests for, as well.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/CodingTrain/Toy-Neural-Network-JS/issues/70#issuecomment-365306570,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALpedRmYPUdETI0lJUVftOqDzEQ_Mw2jks5tUa4ZgaJpZM4SCtxP
.

That should be as easy as deleting line 41.
I'm in the process of testing the code to make sure it works as intended.

Just did a round of testing. All of the activation functions were tested on the XOR example that was included in the library. Below is a list of observations...

All but two activation functions were able to solve XOR. I discuss the two that were not able to solve the problem in the last item of this list.
Best performer was gaussian with leaky_relu being a close 2nd.
Worst performer was relu. It can solve the problem sometimes, though there would be times the screen would go completely black.  I was reading an article about activation functions and they mentioned something called "the dying ReLU problem." I suppose this is a manifest of that.
It turns out, the use_X_values property of the ActivationFunction class is really important. All of the activation functions were tried with and without the use_X_values property, and the functions which require it will refuse to learn without it.
The two functions that were totally unable to solve XOR were arctan and softplus. I checked their formulas on Wikipedia and they are correct as well as I can tell.  They were both equally bad with and without the use_X_values property. The arctan function would flicker the canvas between pitch black and pure white. The softplus function would choose black or white and all rectangles on the canvas would remain that color until I refreshed the page. I'm not sure what is wrong with those two.

Next Step: I'm going to test them all on the MNIST example. I would appreciate any advice and criticism you guys can give me. I'd like to get arctan and softplus to work, otherwise I may not include them in the pull request.

Okay, completed the MNIST testing during lunch. The results were disappointing. I have pasted the results of the testing below...
Activation Function: Sigmoid.
Test Set #1: 68.29%
Test Set #2: 84.41%
Test Set #3: 88.98%
First 90%+ Accuracy Test Set: #7.
Time to 10th Test Set: 01m 32s 997ms

Activation Function: TanH.
Test Set #1: 13.44%
Test Set #2: 14.64%
Test Set #3: 16.24%
First 90%+ Accuracy Test Set: Accuracy at 5m was 13.59%.
Time to 10th Test Set: 1m 33s 156ms

Activation Function: ArcTan.
Test Set #1: 13.86%
Test Set #2: 14.27%
Test Set #3: 14.38%
First 90%+ Accuracy Test Set: Accuracy at 5m was 15.58%.
Time to 10th Test Set: 1m 34s 684ms

Activation Function: Softsign.
Test Set #1: 9.83%
Test Set #2: 9.95%
Test Set #3: 10.21%
First 90%+ Accuracy Test Set: Accuracy at 5m was 9.8%.
Time to 10th Test Set: 1m 31s 931ms
Note: Test sets #4 - #38 were all 9.8% accuracy.

Activation Function: ReLU.
Test Set #1: 9.81%
Test Set #2: 9.8%
Test Set #3: 9.8%
First 90%+ Accuracy Test Set: Accuracy at 5m was 9.8%.
Time to 10th Test Set: 1m 47s 351ms
Note: Test sets #2 - #32 were all 9.8% accuracy.

Activation Function: Leaky ReLU.
Test Set #1: 9.8%
Test Set #2: 9.8%
Test Set #3: 9.8%
First 90%+ Accuracy Test Set: Accuracy at 1m 1s was 9.8%.
Time to 10th Test Set: 1m 40s 897ms
Note: Test sets #1 - #10 were all 9.8% accuracy. The test was terminated at 1m 40s.

Activation Function: SoftPlus.
Test Set #1: 9.8%
Test Set #2: 9.8%
Test Set #3: 9.8%
First 90%+ Accuracy Test Set: Accuracy at 1m 49s was 9.8%.
Time to 10th Test Set: 1m 49s 399ms
Note: Test sets #1 - #10 were all 9.8% accuracy. The test was terminated at 1m 49s.

Activation Function: Gaussian.
Test Set #1: 16.75%
Test Set #2: 21.23%
Test Set #3: 23.58%
First 90%+ Test Set: Accuracy at 5m was 32.01%.
Time to 10th Test Set: 1m 34s 598ms

Here are my observations:

It seems that relu, leaky_relu, softsign, and softplus are not able to predict the digits any better than random chance.
tanh, arctan, and gaussian were able to predict the digits at slightly better than random. I feel comfortable saying that because the sample size for the test set is 10,000 digits.
sigmoid was clearly and by far the best performer.

Not sure what this means. A lot of the functions that failed this test solved XOR with flying colors. I could use some help.

There's a pretty significant problem with the toy neural network library. A lot of the sums going into the activation function are fairly large. Too large. I thought this was going to be a problem during the live stream, but the law of averages saves sigmoid. Trying an activation function like ReLU makes everything explode horribly.
I have compensated for this in the past by multiplying each node in each layer by 1/<layer input count> before activation. This stops numerical Armageddon, but it also reduces network accuracy a little bit. I'm guessing it has to be compensated for in the backwards pass, but I haven't figured that out yet.
I've been getting weird results this morning, which is part of why I haven't posted anything about it.

Specifically in the case of MNIST, each number of each hidden node is the sum of 768 values between -1 and +1, with that sum passed through the activation function. Those numbers will occasionally be larger than approximately +/-16, which is where the sigmoid function breaks down. With ReLU, the errors end up being so large that trying to adjust for them produces nonsensical results. A different error function might also help there.

Thanks @Versatilus!
I've figured it out!
Nothing is broken at all.
With MNIST we are trying to predict digits based on probabilities.
The sigmoid function is designed to squish the x value between 0 and 1. These are probabilities that we can work with.
Functions like relu and softplus range off into infinity. No probabilities are being created. They are simply not meant to be used for this purpose.
The reason why gaussian did as well as it did is because it's operating in the same range as sigmoid (it just inverts after x > 0).
I've decided to keep arctan and softplus in the pull request. I think we cannot judge an activation function based on one or two use-cases. If the community decides that they should be deleted at a later time, or not included at all. They will voice that opinion.

Someone reminded me a few minutes ago that ReLU should work if the weights
are initialized properly for it. You're right. The right tool should be
used for the right job.
On Wed, Feb 14, 2018 at 1:12 PM, Adil Iqbal<EMAIL_ADDRESS>wrote:

Thanks @Versatilus https://github.com/versatilus!
I've figured it out!
Nothing is broken at all.
With MNIST we are trying to predict digits based on probabilities.
The sigmoid function is designed to squish the x value between 0 and 1.
These are probabilities that we can work with.
Functions like relu and softplus range off into infinity. No
probabilities are being created. They are simply not meant to be used for
this purpose.
The reason why gaussian did as well as it did is because it's operating
in the same range as sigmoid (it just inverts after x > 0)
https://www.desmos.com/calculator/mfsaj5iopn.
I've decided to keep arctan and softplus in the pull request. I think we
cannot judge an activation function based on one or two use-cases. If the
community decides that they should be deleted at a later time, or not
included at all. They will voice that opinion.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/CodingTrain/Toy-Neural-Network-JS/issues/70#issuecomment-365746546,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALpedTXi27w_ywnSHEv72bPehbgqd-FRks5tU0wugaJpZM4SCtxP
.

Someone reminded me a few minutes ago that ReLU should work if the weights are initialized properly for it.

For sure. Though, it's hard to initialize those weights properly without knowing what the user's data set looks like. Ultimately, I think it's up to the user to adjust his inputs accordingly before passing into the NN. Though I might be mistaken. We can update as needed.

@Versatilus Hey man. I'd like to apologize.
I came home from work  and read your posts again.  I think you might have been on to something so I ran another test on relu. I thought the best way for us to prevent the exploding gradient you were talking about was to set the learning rate really low (I set it to 0.001). Here was the result...
Activation Function: ReLU
Test Set #1: 14.06%
Test Set #2: 18.87%
Test Set #3: 22.14%
First 90%+ Accuracy Test Set: Accuracy at 5m was 50.03%.
Time to 10th Test Set: 1m 52s 658ms

I still think that setting the learning rate should ultimately be at the behest of the user.  So if that person were to use relu, it's on them to set the learning rate in their sketch. They could even do it dynamically, for example:
switch(true) {
    case (accuracy >= 0.08):
        nn.setLearningRate(0.001);
        break;
    case (accuracy >= 0.5):
        nn.setLearningRate(0.0005);
        break;
   case (accuracy >= 0.75):
        nn.setLearningRate(0.0001);
        break;
    default:
        nn.setLearningRate();
}

Or something like that. I'm sure I'm messing up the syntax.
Either way. The code I submitted is okay. And you are correct.

I'm not sweating it. :-)
In the end, we are both right. It's a combination of all of those things. This is a complicated subject with a lot of little details and I'm just happy that Dan is covering it in a way that is approachable.
This library is still very much a work in progress. I know from reading some of the other pull requests that Dan wants to get to a lot of these issues and tackle them in the live streams. I think we should just keep making comments and making pull requests like we have been so that he knows what users want to focus on when he streams.
I don't know what his plans are, but I think it would be good if one of the next things he does on the subject in the stream is either a more sophisticated way of choosing weights or adjusting the learning rate, or both. I also hear chatter that basic convolutions might be coming soon.

I got arctan and softplus to solve the XOR problem! It turns out I was forgetting my order of operations. I needed some parentheses.
Changes Made: https://github.com/Adil-Iqbal/Toy-Neural-Network-JS/commit/0227dfd71ce533b8e11df334d7737456bb841ebb#diff-e8acc63b1e238f3255c900eed37254b8

@xxMrPHDxx has found more order of operations quirk.
I'm going to repeat all of my testing. This is great!

We should continue this conversation in #75.
Thanks for the help y'all.


Default channels are repeated

The default channel set is populated twice in the schema. Once when the channel table is created, and a second time in the defaults pre-fill at the bottom

Corrected by 47888ebc8dea5da510ca5ae91172f652df9ac646


IPR update confirmation email is confusing

When IPR disclosure new_id replaces disclosure old_id, mail is sent to the discloser of old_id asking that the discloser of new_id has the authority make such an update, even if the disclosers of each id appear to be the same person/email address.
(This is because the disclosure form simply collects the email address, it doesn't require login, nor does it perform a round-trip validation of the address provided in the disclosure).
When the discloser of new_id and old_id are, in fact, the same person (or at least email address), the message that is sent out is confusing. It should be reworded to read well in both the case that it really was the person, and the case that someone was attempting to make an update when they shouldn't have.
Further, the subject needs to clearly signal that action is requested. If multiple disclosures are submitted near the same time, and the secretariat processes them near the same time, it is likely that the datatracker sent other email of very similar form, where action was not required, burying the message that needed attention.
An abstraction of a recently sent message demonstrating the confusion follows:
To: YOUR NAME<EMAIL_ADDRESS>
Subject: IPR update notification

Dear YOUR NAME:

We have just received a request to update the IPR disclosure(s) submitted by you:

YOUR NAME's Statement about IPR related to [draft-whatever](https://datatracker.ietf.org/doc/draft-whatever/) https://datatracker.ietf.org/ipr/old_id/

The name and email address of the person who submitted the update to your IPR disclosure are:
YOUR NAME, [you@example.com](mailto:you@example.com).

We will not post this update unless we receive positive confirmation from you that
YOUR NAME is authorized to update your disclosure.
Please respond to this message to confirm.

If we do not hear from you within 30 days, we will inform YOUR NAME
that we were not able to secure approval for posting and that we are therefore rejecting
the update until we can be assured it is authorized.

Thank you

IETF Secretariat

cc @jennybui1

The requirements will change here if we ever shift to requiring datatracker login to submit an IPR disclosure.

How about this:
To: YOUR NAME<EMAIL_ADDRESS>Subject: Response required: IPR update notification

Dear YOUR NAME:

We have just received a request to update one or more IPR disclosures previously submitted by you:

YOUR NAME's Statement about IPR related to [draft-whatever](https://datatracker.ietf.org/doc/draft-whatever/) https://datatracker.ietf.org/ipr/old_id/

The name and email address of the person who submitted the update to your IPR disclosure are:
YOUR NAME, [you@example.com](mailto:you@example.com). If this is you or someone known by you to be authorized
to update the above disclosures, please respond to this message to confirm.

We will not post this update unless we receive positive confirmation from you that the update
is indeed from you or someone authorized to update the above listed disclosures.

If we do not hear from you within 30 days, we will inform YOUR NAME
that we were not able to secure approval for posting and that we are therefore rejecting
the update until we can be assured it is authorized.

Thank you

IETF Secretariat

If the new disclosure is from someone else, this will read as follows:
To: YOUR NAME<EMAIL_ADDRESS>Subject: Response required: IPR update notification

Dear YOUR NAME:

We have just received a request to update one or more IPR disclosures previously submitted by you:

YOUR NAME's Statement about IPR related to [draft-whatever](https://datatracker.ietf.org/doc/draft-whatever/) https://datatracker.ietf.org/ipr/old_id/

The name and email address of the person who submitted the update to your IPR disclosure are:
THEIR NAME, [them@example.com](mailto:them@example.com). If this is you or someone known by you to be authorized
to update the above disclosures, please respond to this message to confirm.

We will not post this update unless we receive positive confirmation from you that the update
is indeed from you or someone authorized to update the above listed disclosures.

If we do not hear from you within 30 days, we will inform THEIR NAME
that we were not able to secure approval for posting and that we are therefore rejecting
the update until we can be assured it is authorized.

Thank you

IETF Secretariat

Would it be possible to:

Indicate in the Subject header the draft name ?
Have two different templates ? (one when old_id and new_id based on email addresses are the same and one when the email addresses are different)

In general there are multiple (sometimes dozens) of drafts.
And 2) is what I proposed above isn't it?

In general there are multiple (sometimes dozens) of drafts.

OK, I failed to understand this.

And for 2), that's more or less what I was proposing (though I would realize it with a single template). Could you draft words that you would use if the templates were more radically different?

Beside the instantiation of them@, the text is very similar


warn user when SQLALCHEMY_DATABASE_URI is not set

https://github.com/mitsuhiko/flask-sqlalchemy/issues/421

I updated the check to reflect what setdefault is doing and to explicitly use sqlite:///:memory: for clarity. Also rebased against master.


feat: add repositories to workspace in bulk

Description
Add a new option to TrackedReposWizard to allow users to add repositories by pasting them into a text area, each separated into new lines. User can then filter from the added repositories before finalizing the import.
NOTE: repositories are case sensitive when trying to fetch during Update Workspace. I added a note on the modal above where the text are so users can see before pasting their list. This means that if there is even only 'one' repo with the wrong cAse, it'll error out adding the entire list. How should we address this? @open-sauced/engineering

What type of PR is this? (check all applicable)

[X] 🍕 Feature
[ ] 🐛 Bug Fix
[ ] 📝 Documentation Update
[ ] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert

Related Tickets & Documents
Closes #2603

Mobile & Desktop Screenshots/Recordings
https://github.com/open-sauced/app/assets/20603494/0bd8f8f9-6056-48cf-81dd-a0faba11d2b1

Steps to QA

Go to /workspaces/new or /workspaces/settings
Click Add repositories
Paste a list of repositories (CASE SENSITIVE)
Filter through the pasted repositories
Finish modal and click Update Workspace

Added to documentation?

[ ] 📜 README.md
[ ] 📓 docs.opensauced.pizza
[ ] 🍕 dev.to/opensauced
[ ] 📕 storybook
[ ] 🙅 no documentation needed

[optional] Are there any post-deployment tasks we need to perform?
[optional] What gif best describes this PR or how it makes you feel?

Let us know if this icon is OK @isabensusan

Reading the note about the cAse.
I am curious if there is a need for case sensitivity and if we can lowercase (sanitize) it all to remove the burden from the user.

From the APIs perspective, we do sanitize case sensitivity, so when adding repos, it shouldn't be necessary to have the users make repos case sensitive. And from GitHub's perspective, repo names (and most URL parameters, like usernames) are also not case sensitive. Example: https://github.com/Open-Sauced/APP is the same as https://github.com/open-sauced/app

If there's an error when attempting to fetch repos during update workspace with case sensitive repos, that sounds like a bug 🐛

Went to the preview deploy, now I'm having different behavior. It's still not adding not correctly cased repositories, but it's adding those that are.
See video, only TanStack/router is correctly cased. Clearly the table gets all the repos, just on Update Workspace something is going wrong. I can look into it in the morning.
https://github.com/open-sauced/app/assets/20603494/343300a4-2740-4447-913f-f9fb4b5c7e47

I've ignored the casing issue mentioned as it looks like @jpmcb is seeing if it's an issue in the API.

I opened a PR in the API with a fix for normalizing the case when searching for repos.
https://github.com/open-sauced/api/pull/547

Cool cool. So we can remove the red text warning then @zeucapua

Added validation and sanitation checks to:

disable importing if the textarea is empty (even with empty lines)
remove any empty lines between the repos that can result in an empty fetch

Also changed styling so the case sensitivity note is gone and the textarea on focus is more on brand. Attached a video to see it all in action:
https://github.com/open-sauced/app/assets/20603494/fb5a709f-ee2c-4317-a54e-878ff0633aea


Make react-ssr-prepass external if not enabled

Since this was made a devDependency we need to make it external or else serverless builds will fail.

👍


Crash on Start of Challenge Scenario

I've downloaded the official v0.2.10 build for Linux and played through the tutorial. But when I try to start the "optimize VIP commute" challenge, the game crashes immediately.
Here's the log: output.txt

I found this problem right after the release: https://github.com/dabreegster/abstreet/commit/0b9b7e1a65ff5d46db501598c651e4ebfea1192b
I'll put out a patched build by tonight

https://github.com/dabreegster/abstreet/releases/tag/v0.2.10
Sorry for the hassle!


Enable Link-Time Optimization (LTO)

Hi!
I noticed that in the Cargo.toml file Link-Time Optimization (LTO) for the project is not enabled. I suggest switching it on since it will reduce the binary size (always a good thing to have) and will likely improve the application's performance a little bit. If you want to read more about LTO and its possible modes, I recommend starting from this Rustc documentation.
I think you can enable LTO only for the Release builds so as not to sacrifice the developers' experience while working on the project since LTO consumes an additional amount of time to finish the compilation routine. If you think that a regular Release build should not be affected by such a change as well, then I suggest adding an additional dist or release-lto profile where in addition to regular release optimizations LTO will also be added. Such a change simplifies life for maintainers and others interested in the project persons who want to build the most optimized version of the application. However, if we enable it on the Cargo profile level for the Release profile, users, who install the application with cargo install will get the LTO-optimized version of the game "automatically". E.g., check cargo-outdated Release profile. You also could be interested in other optimization options like codegen-units = 1, etc.
Basically, it can be enabled with the following lines:
[profile.release]
codegen-units = 1
lto = true

I have made quick tests (Fedora 41, Rust 1.82, the latest version of the project) - here are the results:

Release (current default): 16.5 Mib
Release + codegen-units = 1: 14.7 Mib
Release + Thin LTO: 16.6 Mib
Release + Fat LTO: 14.1 Mib
Release + codegen-units = 1 + Thin LTO: 14.8 Mib
Release + codegen-units = 1 + Fat LTO: 13.7 Mib

Thank you. It would be nice if you would use LTO for your future Rust developments :)

Hello!
Thank you very much for the input - I'm still fairly new to Rust and it's always great to find out some new tricks in the bag.
Did some local testing and indeed the binary size was significantly decreased after enabling the options you mentioned. Haven't tested performance increase but for this project in particular it's not really a priority.  Changes have been added 4ef48510332 and should be available to the users after next release
The binary size grew a lot after i added vendored dependency for sqlite and tls (wanted to avoid as many outside deps as possible) so any size decrease for the binary is a big win, as for the compilation time - it probably shouldn't have much of an effect on most users.
Cheers


discourse: update to 3.0.1, update plugins and mail-receiver to latest versions - only working on x86

Description of changes
This updates discourse to 3.0.1, the latest stable release.
I did it approximately as follows:

Add a line in update.py to fix gem calls that break across lines (this line in discourse-prometheus was causing it to fail.)
Run the update scripts:./pkgs/servers/web-apps/discourse/update.py update v3.0.1
./pkgs/servers/web-apps/discourse/update.py update-plugins
./pkgs/servers/web-apps/discourse/update.py update-mail-receiver

Edit pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix to reference the platform-independent version of nokogiri and add the mini-portile2 dependency as suggested below. By default bundix selected the aarch64-linux hash, and the platform-independent gem did not build.
Test with nix-build -j 1 --keep-failed -A nixosTests.discourse

The tests pass when this commit is applied to the release-22.11 branch but NOT on master.  For a working version see https://github.com/pdg137/nixpkgs/tree/discourse-3.0.1-22.11
Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

@Ma27 I just noticed you did some discourse updates recently.  Can you give me any pointers on getting this 3.0.1 upgrade cleaned up?

Please rebase against master, thanks!

I rebuilt this on master following @Ma27's suggestion.  Everything seems to run, but the tests do not pass, eventually generating messages like this forever:
discourse # curl: (35) OpenSSL/3.0.7: error:0200008A:rsa routines::invalid padding
discourse # curl: (35) OpenSSL/3.0.7: error:0200008A:rsa routines::invalid padding
discourse # curl: (35) OpenSSL/3.0.7: error:0200008A:rsa routines::invalid padding
discourse # curl: (35) OpenSSL/3.0.7: error:0200008A:rsa routines::invalid padding
discourse # curl: (35) OpenSSL/3.0.7: error:0200008A:rsa routines::invalid padding

It seems to work correctly when applied to the release-22.11 branch and I will be testing it more with that version.  I would be happy for more feedback!

Hi! Thanks for working on this! We generally don't package the stable versions of Discourse, but the beta versions, to better follow upstream behavior. I've opened a PR (#215523) that updates to the latest beta version instead and fixes a few other issues. I realize that we don't have any step-by-step guide on how to update Discourse, so I've added that as well. I took the liberty of copying your line split fix and assigned you co-author - if you're not okay with that, just tell me.

Thanks @talyz! I am happy with my little fix getting merged in that way. FYI the 22.11 rebase of this has worked for me so far in some actual deployments, though I haven't tested everything yet.
I don't know what discourse intends exactly with their "beta" and stable releases but had the impression that only minor changes are supposed to get merged into nixos-22.11, so it seemed like getting it onto the stable release was the thing to do.  Do you expect the latest beta version to always go into 22.11 going forward?

Great!
Basically, they deploy their "beta" in production and "stable" is only meant to be used in environments with very specific needs. So yeah, their naming is pretty misleading. Version updates are allowed on the stable branch, as long as they're not breaking, so we can focus on updating the version in master and backporting it to stable if nothing breaks. If a discourse version has obvious breaking changes or changes that would require user action on upgrade, it should not go into stable and we would have to keep the versions in master and release-xx.xx separate. This hasn't happened yet, though, and I doubt it will be a frequent occurrence.
The mini-portile2 issue only happened because of a bug (https://github.com/rubygems/rubygems/issues/6231) in the bundler version on the stable branch, which made the update.py script's workaround for a bug in bundix (https://github.com/nix-community/bundix/issues/88) ineffective. Basically, bundix gets confused by the different platform-specific packages and picks the wrong one. To work around this, the update.py script removes all platforms but the ruby platform, which is the one we want. However, due to the bundler bug, the lock file wasn't actually updated to remove the platforms. Since this is fixed in the bundler version on master, the workaround works as intended again.


[BLE] ESP32-S3 crash with arduino-esp32 core 3.x.x

see https://github.com/h2zero/NimBLE-Arduino/issues/676
Affected boards:

Heltec WiFi LoRa 32 V3
Heltec Wireless Stick V3
ESP32-S3 PowerFeather

Issue was fixed in https://github.com/h2zero/NimBLE-Arduino/pull/681


Improve tables. Now the tables must be created using the builder and …

…the new column definition API.
Fixed #115

Coverage decreased (-0.4%) to 99.56% when pulling 194e5bef3ff125b0133a3848d0fcbc7d9fa05825 on issue_115 into 6c605e7ceefb051481404140725de7879aee4148 on master.

@mtabacman do not forget to remove the deprecations after your review. We will put it later in the release notes.


Mononcle doesn't support @Lenses in Scala3.

I used @Lenses macro annotation in Scala2, but I can't find @Lenses in Monocle 3.1.0 with Scala3.
Does anyone know anything about this issue?
Does Monocle have any plan to support @Lenses in Scala3?

Scala 3 doesn't support (yet) macro annotations such as @Lenses. Until such support is provided it won't be possible to support @Lenses

Coming soon though!

https://github.com/lampepfl/dotty/pull/16392
https://github.com/lampepfl/dotty/pull/16454

I am no expert, but following these PR's I'm under the impression this is still impossible under Scala3 post-typer Macro Annotations. I'm sure there will be other similar opportunities under the new Scala3 metaprogramming facilities, but in any case, Macro Annotations been merged since 3.3.0-RC2 so hopefully we'll have a definitive answer soon.

@nkgm correct. I think a more fruitful approach would actually be to lobby for inclusion in Scala proper. It doesn't mean including  an optics library, just the following:
A. A case class or something basically of the form case class Field[A, B](get: A => B, set: B => A => A). Although I would like for it to also include name: String.
B. Some syntax (e.g. a macro annotation or something else) that gets the compiler to generate a bunch of these for you
A macro that generates a single one would be very easy to write, so there's no need for them to special-case that.
Meanwhile, the recommended migration path is to use the focus macros instead. Although, I wonder if there's a performance effect, since lenses as fields would reuse the same instance.

I think it's been enough time that we need to start looking into alternatives for folks to migrate.
Off the top of my head I know that simulacrum looked into using scalafix rules to do this.

Maybe some way with named tuples?
Or like I said before, just start a pre-SIP.
Code gen seems dubious since it belongs in a companion. Unless I make the companions extend a trait that is generated.
The quick fix approach that was discussed on the forums might be interesting though.

I was hoping to do the rewrite pre-compliation so it wouldn't be in your source tree; for all intents and purposes it would just allow the same source to be used for Scala 2/3.
What quick fix approach were you referencing?

The idea discussed here: https://contributors.scala-lang.org/t/scala-3-macro-annotations-and-code-generation/6035

How can code not in the source tree be part of the companion object of code that is

Some build tools (dune from the OCaml ecosystem iirc) distinguish the source tree to the sources compiled by the compiler - the first step is to symlink the files into a target directory before compilation and run the compiler on those sources. Generated sources are also written directly to this directory and the compiler essentially runs on this folder.
In this build model, it's quite trivial to rewrite the sources before the compile step - I'm not entirely sure whether  sbt or mill follows the same model. If it didn't, we could do something a little bit more involved where we filter the sources which use the trait and instead dump an edited source in the managedSources/generatedSources.
The idea would be to look for the @Lens marker trait and rewrite an existing companion object to add some extra lines of code to synthesize the required companion objects. That way, the semantics are the same for Scala 3/Scala 2 and it will ease migration until a better alternative emerges.


[Project] New NotificationPusher version 🎉

Hey there,
I plan to develop a new version of NotificationPusher this year, including many new features, and a Dockerized standalone microservice (K8s ready). 🙌🕺
Don't worry, this current version will continue to exist as a legacy version.
This lib has been writen in 2013. 😵
After 1K+ stars on Github and 1M+ installations, it could be great to develop a new opus of it!
Of course, this new version will respect all current PHP standards: DDD & TDD powered!
Some questions for you:

What do you think about it?
Any ideas or suggestions for this new version?

I take this message to thank all the contributors! THANK YOU, you rocks guys! 💪❤

Feel free to sponsor this project with clicking the Github "Sponsor" button! 🤩
If this allows, I will push the project further (hosted mode, SaaS service and more).

@Ph3nol hello, I'm interested to help, maybe.
Why not continue with v3 development instead of re-writing from scratch? Have you checked this discussion? :)
https://github.com/Ph3nol/NotificationPusher/issues/146#issuecomment-320324687
I had a plan in my head also, to do it gradually into v3:

change tests coverage to PhpUnit (since it is a standard in PHP)
change implementation for IOS from outdated Zend to suggested lib edamov/pushok with k8 support.
refactor and drop support for php5.

It definitely makes sense! 😄

@seyfer I had your e-mail. I'll answer you ASAP! 😉

Symfony 5 is released a couple of weeks ago, so the dependencies on Symfony components should be updated to include Symfony 5 (when I start to migrate my Symfony project I might take a look at this lib and check where compatibility issues occur, if I find some time)
I would not drop support for php5 yet... give it another year?

@wumke I set it to 5 in this PR https://github.com/Ph3nol/NotificationPusher/pull/195
please review if you have time :smile:

I'm looking for Symfony 5 support, or I guess I should plan to be on v4 for a while.  How did this v3.0 go?  Is there somewhere else to look for this version 3.0?

Nobody ever had time. @efreed open-source runs on contributions. You are welcome to help.
Otherwise, this library declared as deprecated and you are free to use any other.

Update:  I replaced NotificationPusher in my project with one file per device type that's less than 100 lines.
I'll share them here for anyone interested.
https://gist.github.com/efreed/89b64d4c0c2a760466dca170b11e10eb
I don't have experience making files like this into an official composer dependency, if anyone wants to take the code and make it official, go for it, it's yours!


Fix CI.

This commit:

Updates target framework to net8.0.
Fixes the externref API to match recent changes in upstream Wasmtime.
Remove WASI "snapshot 0" from the tests (so old!).

"The process cannot access the file 'C:\Users\runneradmin\AppData\Local\Temp\tmpbr2aoc.tmp' because it is being used by another process."
Oh, Windows, never change.

"The process cannot access the file 'C:\Users\runneradmin\AppData\Local\Temp\tmpbr2aoc.tmp' because it is being used by another process."

FYI, on Windows it depends on which FileShare is specified when opening the file. When using File.ReadAllText(), it seems .NET specifies FileShare.Read, meaning opening the file fails when other code has opened the file for writing.
It should work if you manually specify FileShare.ReadWrite, which allows others to open the file for reading and writing, as long as they specify a Read file share (allowing us to open the file for reading).


[FLOC-4123] Remove reference to testtools fork

:+1: thanks for cleaning up. Merge when green.

Oh, @james-w beat me to it.
I went looking for the other `--dependency-links`` but I see that @dwgebler in an earlier PR.
Yep looks good. Please merge when green.


LOC: JPN: Punctuation should not be at the beginning of a line in E4B tutorials screen.

Step:

Launch Brackets.
Click Extract for Brackets icon.
Click "?" icon to open tutorials screen.
Observe the string "Then press CTRL-Space or start typing in a CSS rule to get code hints. Like this:"

Result: Punctuation is at the beginning of a line in E4B tutorials screen.
Expect: Punctuation should not be at the beginning of a line in E4B tutorials screen.

Closing as extract is deprecated.


Introduce repeatable scenarios

Up to now, for a test run to be successful, the set of scenarios in the model needed to be composable into a single complete sequence, without repetitions or leftovers. With this pull request we remove the restriction on repetitions. Scenarios will be included multiple times by the model if this helps to reach later scenarios.

Staying in line with ATDD this (draft) pull request is created with only the new test cases and documentation updated. Development will continue if the tests are accepted.


python312Packages.python-tado: 0.17.6 -> 0.17.7

Diff: https://github.com/wmalgadey/PyTado/compare/refs/tags/0.17.6...0.17.7
Changelog: https://github.com/wmalgadey/PyTado/releases/tag/0.17.7

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 353809

x86_64-linux

:x: 1 package failed to build:

home-assistant-component-tests.tado

:white_check_mark: 4 packages built:

python311Packages.python-tado
python311Packages.python-tado.dist
python312Packages.python-tado
python312Packages.python-tado.dist

Duplicate of https://github.com/NixOS/nixpkgs/pull/353258

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 353809

x86_64-linux

:x: 1 package failed to build:

home-assistant-component-tests.tado

:white_check_mark: 4 packages built:

python311Packages.python-tado
python311Packages.python-tado.dist
python312Packages.python-tado
python312Packages.python-tado.dist

Superseded by #368097.


server.py file

zmq.error.ZMQError:Address in use
This error results when trying to execute the server.py file
any help?

Ah ok i solved that error


Better way to share Windows release information

In order to programmatically get list of all Windows versions, one can parse the HTML from https://winreleaseinfoprod.blob.core.windows.net/winreleaseinfoprod/en-US.html (which release-information.md references). Another was is to fetch it from unofficial source like https://buildfeed.net/rss/version/, where human manually creates entries via a webpage.
Is it possible that the official winreleaseinfoprod blob provide us an always-updated JSON version file which downstream tools can easily parse and answer the questions like "What is the latest insider build version of Windows 10?" (ans: 10.0.18298.1000, the granularity which HTML page from winreleaseinfoprod blob does not provide today).
The list could also be maintained as fully automated GitHub releases, where the Windows build slave could create post-release entries by making a simple HTTP POST call to this GitHub REST API: https://developer.github.com/v3/repos/releases/#create-a-release. With this approach, downstream consumers would be able to retrieve the information from another GitHub API, for example:
#!/usr/bin/env powershell

# get latest release version of microsoft/vswhere
~> $(Invoke-WebRequest https://api.github.com/repos/Microsoft/vswhere/releases/latest | `
    ConvertFrom-Json) | ForEach-Object { $_.tag_name }

2.5.2

# get latest release version of nodejs/node
~> $(Invoke-WebRequest https://api.github.com/repos/nodejs/node/releases/latest | `
    ConvertFrom-Json) | ForEach-Object { $_.tag_name }

v11.4.0

# get latest prerelease version of dotnet/cli
~> $(Invoke-WebRequest https://api.github.com/repos/dotnet/cli/releases | `
    ConvertFrom-Json) | Where-Object { $_.prerelease } | Sort-Object { $_.tag_name } `
    -Descending | Select-Object -First 1 | ForEach-Object { $_.tag_name }

v3.0.100-preview.18578.3

@officedocsbot assign @mypil

@am11 - May we know which Microsoft document link you used in reference to this issue?
Please share it with us so we can investigate further. Thank you.

Here is the MS document link: https://docs.microsoft.com/en-us/windows/release-information/ and the corresponding markdown file was moved (from windows/hub/release-information.md to) https://github.com/MicrosoftDocs/windows-itpro-docs/blob/30ab9bb02e/windows/release-information/index.md.
Thank you! :)

@am11 What I understand from your question is that you want to pull the release information from the mentioned sources using JSON query so that it can be used for any other purposes. This entirely looks like a feature request and I would suggest you open a new feature request so that it can be routed to the correct team.
If there is any modification required in the support doc, please feel free to let us know. We will be happy to help you out.
@mypil can guide you how you can open a feature request so that you can pull this information using JSON query.
Thanks.

@am11 - Thank you for engaging with the community here for the docs.
I know the product teams are always looking for user feedback on how to make Windows 10 better. They keep a close tab on user feedback and it would be awesome if you could add your voice in
User Voice https://support.microsoft.com/en-za/help/4021566/windows-10-send-feedback-to-microsoft-with-feedback-hub
You might find others have made a similar request that you can add to, or you can open a new one. Let us know here if you do so we can up-vote your request.
Thank you for your contribution to make the docs better! Much appreciated!

@officedocsbot close


NullPointerException when constructing OrderedComplexEigenDecomposition for some matrices

The following unit tests show that for some matrices the construction of OrderedComplexEigenDecomposition throw NullPointerException.
`
package org.hipparchus.linear;
import org.junit.Test;
public class ComplexEigenDecompositionTest {
@Test
public void test1() {
	RealMatrix m = MatrixUtils.createRealMatrix(new double[][] {{-0.0,0.0000002463,-0.000000462,0.0,-0.2843196976,-0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0},{-0.0000002463,-0.0,0.0000004577,0.0,-0.0,-0.2843196976,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0},{0.000000462,-0.0000004577,-0.0,0.0,-0.0,-0.0,-0.2843196976,0.0,0.0,0.0,0.0,0.0,0.0,0.0},{-0.0000004577,-0.000000462,-0.0000002463,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0},{0.0,0.0,0.0,0.0,-0.0000000015,0.0000005751,-0.0000015871,0.0,0.0,0.0,0.0,-0.0000104075,0.0,0.0},{0.0,0.0,0.0,0.0,-0.000000421,-0.0000000048,0.0000013528,0.0,0.0,0.0,0.0,0.0,-0.000007717,0.0},{0.0,0.0,0.0,0.0,0.0000005375,-0.00000062,0.0000000063,0.0,0.0,0.0,0.0,0.0,0.0,-0.0000035509},{-1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0000002463,-0.000000462,0.0000004577,0.0,0.0,0.0},{0.0,-1.0,0.0,0.0,0.0,0.0,0.0,-0.0000002463,0.0,0.0000004577,0.000000462,0.0,0.0,0.0},{0.0,0.0,-1.0,0.0,0.0,0.0,0.0,0.000000462,-0.0000004577,0.0,0.0000002463,0.0,0.0,0.0},{0.0,0.0,0.0,-1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0},{0.0,0.0,0.0,0.0,-1.0,0.0,0.0,0.2843196976,0.0,0.0,0.0,0.0000000015,0.000000421,-0.0000005375},{0.0,0.0,0.0,0.0,0.0,-1.0,0.0,0.0,0.2843196976,0.0,0.0,-0.0000005751,0.0000000048,0.00000062},{0.0,0.0,0.0,0.0,0.0,0.0,-1.0,0.0,0.0,0.2843196976,0.0,0.0000015871,-0.0000013528,-0.0000000063}});

	OrderedComplexEigenDecomposition oed = new OrderedComplexEigenDecomposition(m);

}

@Test
public void test2() {
	RealMatrix m = MatrixUtils.createRealMatrix(new double[][] {{-0.0,0.0000002463,-0.000000462,0.0,-0.1095029805,-0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0},{-0.0000002463,-0.0,0.0000004577,0.0,-0.0,-0.1095029805,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0},{0.000000462,-0.0000004577,-0.0,0.0,-0.0,-0.0,-0.1095029805,0.0,0.0,0.0,0.0,0.0,0.0,0.0},{-0.0000004577,-0.000000462,-0.0000002463,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0},{0.0,0.0,0.0,0.0,-0.0000000015,0.0000005751,-0.0000015871,0.0,0.0,0.0,0.0,-0.0000104075,0.0,0.0},{0.0,0.0,0.0,0.0,-0.000000421,-0.0000000048,0.0000013528,0.0,0.0,0.0,0.0,0.0,-0.000007717,0.0},{0.0,0.0,0.0,0.0,0.0000005375,-0.00000062,0.0000000063,0.0,0.0,0.0,0.0,0.0,0.0,-0.0000035509},{-1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0000002463,-0.000000462,0.0000004577,0.0,0.0,0.0},{0.0,-1.0,0.0,0.0,0.0,0.0,0.0,-0.0000002463,0.0,0.0000004577,0.000000462,0.0,0.0,0.0},{0.0,0.0,-1.0,0.0,0.0,0.0,0.0,0.000000462,-0.0000004577,0.0,0.0000002463,0.0,0.0,0.0},{0.0,0.0,0.0,-1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0},{0.0,0.0,0.0,0.0,-1.0,0.0,0.0,0.1095029805,0.0,0.0,0.0,0.0000000015,0.000000421,-0.0000005375},{0.0,0.0,0.0,0.0,0.0,-1.0,0.0,0.0,0.1095029805,0.0,0.0,-0.0000005751,0.0000000048,0.00000062},{0.0,0.0,0.0,0.0,0.0,0.0,-1.0,0.0,0.0,0.1095029805,0.0,0.0000015871,-0.0000013528,-0.0000000063}});

	OrderedComplexEigenDecomposition oed = new OrderedComplexEigenDecomposition(m);

}

@Test
public void test3() {
	RealMatrix m = MatrixUtils.createRealMatrix(new double[][] {{-0.0,0.0000002463,-0.000000462,0.0,-0.109502989,-0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0},{-0.0000002463,-0.0,0.0000004577,0.0,-0.0,-0.109502989,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0},{0.000000462,-0.0000004577,-0.0,0.0,-0.0,-0.0,-0.109502989,0.0,0.0,0.0,0.0,0.0,0.0,0.0},{-0.0000004577,-0.000000462,-0.0000002463,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0},{0.0,0.0,0.0,0.0,-0.0000000015,0.0000005751,-0.0000015871,0.0,0.0,0.0,0.0,-0.0000104075,0.0,0.0},{0.0,0.0,0.0,0.0,-0.000000421,-0.0000000048,0.0000013528,0.0,0.0,0.0,0.0,0.0,-0.000007717,0.0},{0.0,0.0,0.0,0.0,0.0000005375,-0.00000062,0.0000000063,0.0,0.0,0.0,0.0,0.0,0.0,-0.0000035509},{-1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0000002463,-0.000000462,0.0000004577,0.0,0.0,0.0},{0.0,-1.0,0.0,0.0,0.0,0.0,0.0,-0.0000002463,0.0,0.0000004577,0.000000462,0.0,0.0,0.0},{0.0,0.0,-1.0,0.0,0.0,0.0,0.0,0.000000462,-0.0000004577,0.0,0.0000002463,0.0,0.0,0.0},{0.0,0.0,0.0,-1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0},{0.0,0.0,0.0,0.0,-1.0,0.0,0.0,0.109502989,0.0,0.0,0.0,0.0000000015,0.000000421,-0.0000005375},{0.0,0.0,0.0,0.0,0.0,-1.0,0.0,0.0,0.109502989,0.0,0.0,-0.0000005751,0.0000000048,0.00000062},{0.0,0.0,0.0,0.0,0.0,0.0,-1.0,0.0,0.0,0.109502989,0.0,0.0000015871,-0.0000013528,-0.0000000063}});

	OrderedComplexEigenDecomposition oed = new OrderedComplexEigenDecomposition(m);

}

}
`
Exception thrown:
java.lang.NullPointerException: Cannot invoke "org.hipparchus.linear.FieldVector.getDimension()" because "vector" is null
at org.hipparchus.linear.AbstractFieldMatrix.setColumnVector(AbstractFieldMatrix.java:566) ~[hipparchus-core-1.8.jar:?]
at org.hipparchus.linear.ComplexEigenDecomposition.(ComplexEigenDecomposition.java:143) ~[hipparchus-core-1.8.jar:?]
at org.hipparchus.linear.ComplexEigenDecomposition.(ComplexEigenDecomposition.java:103) ~[hipparchus-core-1.8.jar:?]
at org.hipparchus.linear.OrderedComplexEigenDecomposition.(OrderedComplexEigenDecomposition.java:38) ~[hipparchus-core-1.8.jar:?]

It should be fixed now.
The equality test for vector was far too rough, and it was impossible to select a smaller threshold in OrderedComplexEigenDecomposition.
It is fun to get two bugs on the same class in just a few hours.

The original exception is still possible in the RiccatiEquationSolverImpl, in particular, https://github.com/Hipparchus-Math/hipparchus/blob/2f4c5c2768183291f2f62b09113a42632fe8a14f/hipparchus-core/src/main/java/org/hipparchus/linear/RiccatiEquationSolverImpl.java#L156.
I suggest defining the additional parameters perhaps reusing the internal EPSILON.

Searching for the constructor confirms that RiccatiEquationSolverImpl is the sole code that uses the constructor without additional parameters.
https://github.com/Hipparchus-Math/hipparchus/search?q=new+OrderedComplexEigenDecomposition(


Add Nitrokey bootloader identifiers to libfido2-udev

The application firmware vid:pid is listed here: https://github.com/Yubico/libfido2/blob/main/udev/70-u2f.rules#L165
But for more convenience (and another udev-rules distribution method) it might make sense to to include the bootloader pid:vid there. Let's try with a PR, related: #220 :roll_eyes:

Before we publish the rules to other repositories, we should first figure out the best rule to make it work with the libusb backend.


[SUGGESTION] Master Sword

A Mastersword from Zelda would be amazing, you could easily take the moonlight greatsword beam and slap it on a nice longsword model. I'm sure it's pretty common request but no good mods on fabric exist with this sword. Please consider it and thank you for your hard work on this amazing mod!

Sure


(#106) Skeleton should track method-method interactions

as per #106

@yegor256/z please, pay attention to this pull request

Job #153 is now in scope, role is REV

Codecov Report

Merging #153 into master will increase coverage by 0.25%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master     #153      +/-   ##
============================================
+ Coverage     73.88%   74.14%   +0.25%
  Complexity      125      125
============================================
  Files            27       27
  Lines           896      905       +9
  Branches         53       53
============================================
+ Hits            662      671       +9
  Misses          211      211
  Partials         23       23

Impacted Files
Coverage Δ
Complexity Δ

src/main/java/org/jpeek/Skeleton.java
93.84% <100%> (+0.45%)
16 <0> (ø)
:arrow_down:

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 faea600...eceb8a1. Read the comment docs.

This pull request #153 is assigned to @amihaiemil/z. The budget is 15 minutes, see §4. Please, read §27 and when you decide to accept the changes, inform @yegor256/z (the architect) right in this ticket. If you decide that this PR should not be accepted ever, also inform the architect.

@amihaiemil I've added the strict checks - thanks for pointing that out

@rultor merge

@rultor merge

@amihaiemil Thanks for your request. @yegor256 Please confirm this.

@yegor256 ping

@llorllale see above

@llorllale How are we here, what's the status?

@amihaiemil/z this job was assigned to you 5 days ago. It will be taken away from you soon, unless you close it, see §8. Read this and this, please.

@yegor256 here, for instance; we're still waiting for the DEV to do the last changes. What can I do to speed things up and not lose the task?

@amihaiemil first of all, the policy says that the ten days rule does not apply to code reviews, so it looks like a bug in 0crat.
Second, this situation threw me in a loop because REV had already approved the PR but ARC overrode with his objection, so it took me a little more time to decide what to do. Also, I asked the ARC a question which is still unanswered.
The ticket reporter says he's fine with something like this which I don't like because it lacks structure:
<op code="call">java.lang.String.substring</op>

What I'm going to do in a couple of hours is try this instead:
<op code="call" owner="fully.qualified.name.of.owner.Class">method_name</op>

I'll try to see if not too many tests break, and will leave a puzzle or something saying that #156 needs to be fixed for field access.
WDYT?

@llorllale

first of all, the policy says that the ten days rule does not apply to code reviews, so it looks like a bug in 0crat.

Now, it's not a bug now. It used to be a bug, but not anymore, it was introduced just now here
I don't know exactly, I did not follow the discussion. But if the ARCH or someone else does not answer to your question, just be shameless and ping them constantly, spam them until they answer. They will, eventually :D

@llorllale if you don't know what to do or don't have time - do something and leave it as is, with a puzzle. Just don't way. Don't aim for perfection, aim for speed. That's the main rule.

@amihaiemil please review. A few notes:

left a puzzle in MetricsTest because adding that extra <op> breaks some tests
made small, trivial fix in SkeletonTest.createsXml to make it work with the addition of the new <op>

ping @amihaiemil

@llorllale look ok

@rultor merge

@rultor merge

@amihaiemil Thanks for your request. @yegor256 Please confirm this.

@amihaiemil sorry, I had forgotten to remove the old <method_calls> element definition from skeleton.xsd. Please check

@llorllale looks ok. And you don't need to add something new to the XSD regarding the extra , right? (I'm not so familiar with XSD/XSLT, sorry if it's a noob question)

@amihaiemil
Not quite sure I understand:

you don't need to add something new to the XSD regarding the extra

The extra what?
In any case, for this solution we went as per Yegor's suggestion which does not involve any changes to skeleton.xsd. Does this answer your question?

@llorllale You said above:

left a puzzle in MetricsTest because adding that extra <op> breaks some tests

But yes, it's clear now, since there aren't any changes to skeleton.xsd.

@llorllale the initial comment did not render well, that's why it didn't make sense; I fixed it now :)

@amihaiemil yes, Yegor's solution is to add an extra <op> to the generated XML (not the XSD). This breaks some tests, some math needs to be done for those, that's why I left the puzzle.

@rultor merge

@rultor merge

@amihaiemil Thanks for your request. @yegor256 Please confirm this.

@yegor256 Can we merge this now? I think until Monday 0crat will try to take it away from me :)

@amihaiemil just solved some conflicts with an updated master branch, please check

@yegor256 don't forget about this one. Clock is ticking

@amihaiemil/z this job was assigned to you 8 days ago. It will be taken away from you soon, unless you close it, see §8. Read this and this, please.

@yegor256 ping

@rultor merge

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@llorllale @yegor256 Oops, I failed. You can see the full log here (spent 12min)
Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.jar
Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/maven-model/3.0/maven-model-3.0.jar
Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.jar
Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.jar
Downloading: http://repo.maven.apache.org/maven2/org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.jar

Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.jar (0 B at 0.0 KB/sec)
Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.jar

Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/maven-model/3.0/maven-model-3.0.jar (0 B at 0.0 KB/sec)
Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.jar (0 B at 0.0 KB/sec)
Downloading: http://repo.maven.apache.org/maven2/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar

Downloading: http://repo.maven.apache.org/maven2/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.jar (0 B at 0.0 KB/sec)
Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.jar (0 B at 0.0 KB/sec)

Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.0.0/maven-shared-utils-3.0.0.jar
Downloaded: http://repo.maven.apache.org/maven2/org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.jar (0 B at 0.0 KB/sec)

Downloaded: http://repo.maven.apache.org/maven2/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar (0 B at 0.0 KB/sec)

Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.0.0/maven-shared-utils-3.0.0.jar (0 B at 0.0 KB/sec)
Downloaded: http://repo.maven.apache.org/maven2/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar (0 B at 0.0 KB/sec)
[INFO] Deleting /home/r/repo/target
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.100 s
[INFO] Finished at: 2018-02-12T12:19:42+00:00
[INFO] Final Memory: 13M/361M
[INFO] ------------------------------------------------------------------------
++ pwd
+ pdd --source=/home/r/repo --verbose --file=/dev/null
Found 7 lines in /home/r/repo/.pdd
My version is 0.20
Ruby version is 2.2.6 at x86_64-linux-gnu
Reading /home/r/repo
Excluding target/**/*
Excluding src/site/resources/**/*
133 file(s) found, 231 excluded
/home/r/repo/papers/counsell06.pdf is a binary file (255738 bytes)
/home/r/repo/papers/aman04.pdf is a binary file (144634 bytes)
/home/r/repo/papers/sellers96.pdf is a binary file (167522 bytes)
/home/r/repo/papers/badri08.pdf is a binary file (289106 bytes)
/home/r/repo/papers/etzkorn00.pdf is a binary file (553326 bytes)
/home/r/repo/papers/chidamber94.pdf is a binary file (1661552 bytes)
/home/r/repo/papers/izadkhah17.pdf is a binary file (265225 bytes)
/home/r/repo/papers/dallal07.pdf is a binary file (1821388 bytes)
/home/r/repo/papers/bansiya99.pdf is a binary file (96858 bytes)
/home/r/repo/papers/fernandez06.pdf is a binary file (155707 bytes)
/home/r/repo/papers/wasiq01.pdf is a binary file (4134387 bytes)
Reading .0pdd.yml...
Reading .github/ISSUE_TEMPLATE.md...
Reading .github/PULL_REQUEST_TEMPLATE.md...
Reading .travis.yml...
Reading LICENSE.txt...
Reading .pdd...
Reading .rultor.yml...
Reading README.md...
Reading papers/henderson96.pdf...
\u001b[31mERROR\u001b[0m: papers/henderson96.pdf; puzzle at line #2; invalid byte sequence in UTF-8. If you can't understand the cause of this issue or you don't know how to fix it, please submit a GitHub issue, we will try to help you: https://github.com/yegor256/pdd/issues. This tool is still in its beta version and we will appreciate your feedback. Here is where you can find more documentation: https://github.com/yegor256/pdd/blob/master/README.md.
Exit code is 1
container 212f8ae713644b0878fca9f56705edcd11020e542aec796d9d4dfb83debb8778 is dead
Mon Feb 12 13:20:11 CET 2018

@yegor256 @amihaiemil pdd failed because of a pdf. What do do here?

@yegor256 can you try to merge again?

@rultor merge

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@llorllale @yegor256 Oops, I failed. You can see the full log here (spent 12min)
Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.jar
Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/maven-model/3.0/maven-model-3.0.jar
Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.jar
Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.jar
Downloading: http://repo.maven.apache.org/maven2/org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.jar

Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.jar (0 B at 0.0 KB/sec)
Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.jar

Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/maven-model/3.0/maven-model-3.0.jar (0 B at 0.0 KB/sec)
Downloading: http://repo.maven.apache.org/maven2/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar

Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.jar (0 B at 0.0 KB/sec)

Downloading: http://repo.maven.apache.org/maven2/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.jar (0 B at 0.0 KB/sec)
Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.0.0/maven-shared-utils-3.0.0.jar
Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.jar (0 B at 0.0 KB/sec)

Downloaded: http://repo.maven.apache.org/maven2/org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.jar (0 B at 0.0 KB/sec)

Downloaded: http://repo.maven.apache.org/maven2/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar (0 B at 0.0 KB/sec)
Downloaded: http://repo.maven.apache.org/maven2/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar (0 B at 0.0 KB/sec)

Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.0.0/maven-shared-utils-3.0.0.jar (0 B at 0.0 KB/sec)
[INFO] Deleting /home/r/repo/target
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.150 s
[INFO] Finished at: 2018-02-12T13:40:34+00:00
[INFO] Final Memory: 13M/364M
[INFO] ------------------------------------------------------------------------
++ pwd
+ pdd --source=/home/r/repo --verbose --file=/dev/null
Found 7 lines in /home/r/repo/.pdd
My version is 0.20
Ruby version is 2.2.6 at x86_64-linux-gnu
Reading /home/r/repo
Excluding target/**/*
Excluding src/site/resources/**/*
133 file(s) found, 231 excluded
/home/r/repo/papers/counsell06.pdf is a binary file (255738 bytes)
/home/r/repo/papers/aman04.pdf is a binary file (144634 bytes)
/home/r/repo/papers/sellers96.pdf is a binary file (167522 bytes)
/home/r/repo/papers/badri08.pdf is a binary file (289106 bytes)
/home/r/repo/papers/etzkorn00.pdf is a binary file (553326 bytes)
/home/r/repo/papers/chidamber94.pdf is a binary file (1661552 bytes)
/home/r/repo/papers/izadkhah17.pdf is a binary file (265225 bytes)
/home/r/repo/papers/dallal07.pdf is a binary file (1821388 bytes)
/home/r/repo/papers/bansiya99.pdf is a binary file (96858 bytes)
/home/r/repo/papers/fernandez06.pdf is a binary file (155707 bytes)
/home/r/repo/papers/wasiq01.pdf is a binary file (4134387 bytes)
Reading .0pdd.yml...
Reading .github/ISSUE_TEMPLATE.md...
Reading .github/PULL_REQUEST_TEMPLATE.md...
Reading .travis.yml...
Reading LICENSE.txt...
Reading .pdd...
Reading .rultor.yml...
Reading README.md...
Reading papers/henderson96.pdf...
\u001b[31mERROR\u001b[0m: papers/henderson96.pdf; puzzle at line #2; invalid byte sequence in UTF-8. If you can't understand the cause of this issue or you don't know how to fix it, please submit a GitHub issue, we will try to help you: https://github.com/yegor256/pdd/issues. This tool is still in its beta version and we will appreciate your feedback. Here is where you can find more documentation: https://github.com/yegor256/pdd/blob/master/README.md.
Exit code is 1
container cc05eb2ba4e332d36df646c17e471b954aa69dc5eedcc29dc88feff62e88910b is dead
Mon Feb 12 14:42:06 CET 2018

@amihaiemil @yegor256 the build is failing on this file: papers/henderson96.pdf. As you can see, I did not touch this file in this PR. What can we do here?

@llorllale I think you should open a bug about it. Probably someone merged a change in that file, in some other PR. Then, ask 0crat to add an impediment to your task so you don't lose it. However, I have no idea what to do about this PR, as far as I know, PRs cannot have impediments...

@amihaiemil let's check now - I believe Yegor fixed the issue

@amihaiemil @yegor256 opened #172 for the new build issue

@rultor merge

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@yegor256 Done! FYI, the full log is here (took me 12min)

Order was successfully finished: +15 points just awarded to @amihaiemil/z, total is +525

Payment to ARC for a closed pull request, as in §28: +15 points just awarded to @yegor256/z, total is +9810

The job #153 is now out of scope


supportbundle: fix nil pointer error

when iproute2 is not installed in docker image, and run antctl supportbundle in
antrea-agent, it will panic, this is because, collectAgent will return a nil pointer
for systemv1beta1.SupportBundle, and func (r *supportBundleREST) Create,
antrea handles the nil pointer directly which leads to the panic.

Codecov Report

Merging #2598 (7b32019) into main (bdddc01) will decrease coverage by 18.11%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##             main    #2598       +/-   ##
===========================================
- Coverage   60.27%   42.16%   -18.12%
===========================================
  Files         282      153      -129
  Lines       22345    18500     -3845
===========================================
- Hits        13469     7800     -5669
- Misses       7452    10001     +2549
+ Partials     1424      699      -725

Flag
Coverage Δ

kind-e2e-tests
?

unit-tests
42.16% <0.00%> (-0.05%)
:arrow_down:

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


AzureDeploy.Json

I am getting this error when trying to deploy. I have verified the json file is there
Deploying app services, Azure function, bot service, and other supporting resources... (this step can take over an hour)
<< was unexpected at this time.
Fetching deployment status to check if deployment really failed...
ERROR: (DeploymentNotFound) Deployment 'azuredeploy' could not be found.
Code: DeploymentNotFound
Message: Deployment 'azuredeploy' could not be found.
ERROR: (DeploymentNotFound) Deployment 'azuredeploy' could not be found.
Code: DeploymentNotFound
Message: Deployment 'azuredeploy' could not be found.
Collecting deployment logs...

Hi @Quson-Team ,
Thanks for raising the query here. We are making a follow up internally

We are closing the issue as we are following internally.


CI: Enable sync-labels for labeler

The labeler job has an input sync-labels (default false) that configures:

Whether or not to remove labels when matching files are reverted or no
longer changed by the PR

ref: https://github.com/actions/labeler
Currently we are using the default which means labels are not synced when a PR is modified.
Example
A PR initially touches the hashes and bitcoin crates and the labeler action adds C-hashes and C-bitcoin. Later, a force push removes the changes to hashes, the labeler will not remove the C-hashes label. Now the labels are incorrect.
Note on pull_request_target:
We use on: pull_request_target, this means the action is run in the target branch not in the PR branch. So the changes in this patch are not run when this PR is pushed up. Therefore we cannot test this patch but have to merge it blindly - please review carefully.
Some further security notes that I learned while doing this patch. The pull_request_target has access to GitHub secrets, and in manage-pr.yaml we run ./contrib/gen_label_config.sh. This is safe because its the version of this script on master that is run not the version in the PR (so a malicious attacker cannot patch gen_label_config.sh and have it be run). However we need to be aware that we do not accidentally merge some funky shell and inadvertently leak secrets.

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 83.131%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
19195

Relevant Lines:
23090

💛  - Coveralls

Thanks for all the warnings! Looks fine to me. Will one-ACK merge as this is CI only.


Trouble installing Bonobo on Plesk or Wild West / GoDaddy Virtual Server

I've been fighting this for days now, and I've tried many different configurations.  I've followed the prerequisites (afaik) and I just can't get it to roll. It spins and spins in the web browser without resolving.
I did get it close, once. The problem is that http:///Bonobo... doesn't work due to some weird way they have the IIS configured, and I'll dig into that more now.
I was able to get close by putting it in the default server location and then binding the default to a subdomain, but then I ran into some error about line length and could not push the repo.  I've since found a fix for the line length and I'm trying to get back to that stage.
I do have Bonobo set up on a different server for a different company, and that went easily, so I've done this before. That one -- I have problems running a post-update script which I solved with a recurring windows tasks for now - is running fine.
Any suggestions on Plesk, Wild West/Go-Daddy, etc are much welcomed!
Windows 2008 R2 Standard 64 bit 4GB RAM

Presently cannot get around this error, although I have just about everything enabled:
HTTP Error 403.14 - Forbidden
The Web server is configured to not list the contents of this directory.

Do you know what folder it was trying to list?  Does this happen before any part of the site is available?  Where are you intending to set the Git repo directory to be?

willdean, I'm still trying to just get this install working, so it's localhost/Bonobo.Git.Server.  I've applied the permissions, tried various application pools, compared it to the other successful installation I did on another server - nothing.

What???  Just worked. I recently switched from an App Pool pointing to .net framework v4.0.30319 to the same framework version but named ASP.NET v4.0.   Is Bonobo somehow sensitive to that??

Did you change to a different app-pool, or did you change the framework on the same app-pool?

Changed to a different app pool but running the same framework.

Sorry, I'm not following - it was a different app pool with a different name for the framework, but the same framework?  Is that right?   Does it break again if you go back to the previous pool.
Doesn't really sound like a Bonobo thing TBH, more IIS/.NET app pool madness.

Your last statement was the most correct. App Pool madness!

Advanced Settings - there were a couple differences...

You'll never want 'classic' pipeline for anything modern.  Glad it's sorted anyway - hopefully this will be helpful to people who come later.

Agreed about the "hope it helps others". Thank you for your assistance.

I just recently hit the same problem and what solved the issue for me was running:
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir
which generate two new app pools: asp.net v4.0 and asp.net v4.0 classic. After switching the bonobo application to the new asp.net v4.0 app pool everything worked.


Docs: text-wrapping and overflow issue

In the docs there is the following issue where an image placeholder is on top of some text:

This example is designed to show the .text-nowrap behavior—it's intentional :).


Out with tag and commitish failing with 404 {message: 404 Tag Not Found}

I'm trying to use this resource to create a release on a private GitLab repo and then attach some built binaries to it. The resource appears to check if the tag exists (which it doesn't), but this causes the put to fail instead of creating the tag based on the commit SHA.
Here's a snippet of my pipeline:
---
resource_types:
  - name: gl-release
    type: registry-image
    source:
      repository: orangeopensource/gitlab-release-resource
      username: ((harbor.username))
      password: ((harbor.token))

resources:
  - name: source
    type: git
    source:
      uri: git@my.private.gitlab.companyname.com:myorganization/myproject.git
      private_key: ((gitlab.private_key))
      branch: main

  - name: release
    type: gl-release
    icon: gitlab
    source:
      repository: myorganization/myproject
      access_token: ((gitlab.access_token))
      gitlab_api_url: https://my.private.gitlab.companyname.com

  - name: version
    type: semver
    ...

jobs:
  - name: build
    plan:
      - get: source
      - get: version
      - task: build
          file: source/ci/tasks/build.yaml
      - put: release
        inputs: [build, source, version]
        params:
          commitish: source/.git/ref              # commit sha
          tag: version/version                        # 1.0.0
          globs:
            - build/*                                         # binaries

When this runs, I see this error:
error running command: GET https://my.private.gitlab.companyname.com/api/v4/projects/myorganization/myproject/repository/tags/1.0.0: 404 {message: 404 Tag Not Found}

Looking at the code, it seems that GetTag() is returning the error before the check for http.StatusNotFound, which means ensureTag() doesn't treat it as a case to use the commitish parameter.

Created pull request: https://github.com/orange-cloudfoundry/gitlab-release-resource/pull/2

thanks @petewall. #2 merged and released in orangeopensource/gitlab-release-resource:v1.0.3
I close the issue, feel free to reopen if needed


Laravel doesn't respect timezone?

Laravel Version
10.4.1
PHP Version
8.1.4
Database Driver & Version
MySQL 8.0.31 for macOS 13.0 on arm64 (Homebrew)
Description
While saving datetime attribute, framework casts it with Y-m-d H:i:s format (preparing date for saving to database) and loses timezone information if it present.
Steps To Reproduce
Create any model class (even without database table) and make such test:
class DatetimeCastingTest extends \Tests\TestCase
{
    public function testDateTimeWithTZ()
    {
        $event = new Event();

        $str = '2023-05-12T15:00:00Z';
        $event->updated_at = $str;
        $this->assertTrue($event->updated_at->eq(Carbon::parse($str)));

        $str = '2023-05-12T15:00:00+07:00';
        $event->updated_at = $str;
        $this->assertTrue($event->updated_at->eq(Carbon::parse($str)));

        $dt = Carbon::parse('2023-05-12T15:00:00Z');
        $event->updated_at = $dt;
        $this->assertTrue($event->updated_at->eq($dt));

        $dt = Carbon::parse('2023-05-12T15:00:00+07:00');
        $event->updated_at = $dt;
        $this->assertTrue($event->updated_at->eq($dt));
    }
}

Every assertion fails.

Please see many issues about this in the issue tracker.


Refs/heads/main

Please check the following - and then delete this message:

If you are creating a new page, does it contain the following value at the top, with x being the position in the folder?

---
sidebar_position: x
---

If you are creating a new sub-folder, does it have a _category_.json file with the appropriate descriptive information?
Are all your images / videos named appropriately and in the correct location ("image1.png" e.g. will not be accepted)
Are all your code blocks properly closed off?
Does your file have an appropriate and descriptive file name, and main header?
Ensure all files are referenced correctly (They are case sensitive - if you save "image.png" you cannot reference "Image.PNG")

Failure to include these will result in your request not being reviewed.

please check the details in scanner and fix accordingly !!!

ive made the change, please have a look

thank you for fixing the issues ! great work


[FLINK-32087][checkpoint] Introduce space amplification statistics of file merging

What is the purpose of the change
This PR introduces space amplification statistics of file merging.
Brief change log

Add SpaceStat class in FileMergingSnapshotManager.
Update SpaceStat on physical/logical files's creation/deletion

Verifying this change
Please make sure both new and modified tests in this PR follow the conventions for tests defined in our code quality guide.
This change added tests and can be verified as follows:

Add FileMergingSnapshotManagerTestBase#testSpaceStat
Update FileMergingSnapshotManagerTestBase#testRestore
Update testCreateAndReuseFiles/testCheckpointNotification

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

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

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Thanks for the update! Overall LGTM. And will this SpaceStat report to metrics?

Currently no, will report to metric in FLINK-32091.


Boards linked to from the docs are partially empty

I click on the board in the looper docs (https://breadboard-ai.github.io/breadboard/docs/kits/agents/)
It takes me to https://breadboard-ai.web.app/?tab0=https://breadboard-ai.github.io/breadboard/static/boards/looper-body.bgl.json&activeTab=0
firstly the board is jammed and hard to read.

Secondly, all the data on the ports is missing.

I'm presuming something changed with the board format that wiped all the data, but it makes it really hard for me to try and get re-started with Breadboard after so much time away from it.

We're overdue going through the boards embedded in the docs and giving them a spruce up. Since we made those boards a lot has changed in the Visual Editor and they need more space. Regarding the second point I'm not sure if there's missing data because the Specialists/Models are entirely optional with respect to their ports. I think I need to revisit the labelling, however, since I want us to communicate that there's no value set (but that it's not automatically problematic since the ports are optional).


docs: add release docs

Time spent on this PR: 0.1 day
Resolves: #NA
Pull Request type

Please check the type of change your PR introduces:

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build-related changes
[x] Documentation content changes
[ ] Testing

What is the new behavior?
Adds documentation related to release of the RPC stack.

Does this introduce a breaking change?

[ ] Yes
[x] No

@skerchouni59 @nmvalera voici une pr de greg qui détaille le process de release


Backwards compatible packaging

This PR switches to a hybrid pyproject.toml/setup.py/setup.cfg that should work with versions of setuptools at least as far back as 39.0 (required for CentOS 7), and probably older.  It retains the [build-system] section in pyproject.toml and so should now also be useable by newer dependency management tools that won't support setup.py.
As part of this had to introduce a MANIFEST.in, and therefore have taken the effort of excluding anything we don't need from the sdist.

Tbh, I don't really like this.

do we really need to support setuptools 39.0 (which was releasen March 2017!)?
afaik, the new standard to define packages is pyproject.toml, now we go back to setup.cfg?

You might be right with bundling setup.py.  Afaict, PEP-517 support was added to setuptools in version 36.6.0.  Haven't been able to find the release for pip but I would imagine that it would have been around the same time.
I think it's definitely too soon to have the project metadata in pyproject.toml though.  It's not supported by the system setuptools in any version of centos or LTS ubuntu.  This is very much the sort of tool which people want to install globally or in their home directory, and removing setup.cfg would prevent that in a large proportion of reasonable setups.
I think the really important bit from your pyproject.toml change is the introduction of [build-system].  This allows dependency managers to avoid guessing at what will need to be installed before having to run setup.py.   It is very important for us to support it so that the python ecosystem as a whole can move forward.  Whether the project metadata is stored in in pyproject.toml or setup.cfg seems less important as it is only consumed by setuptools (which will hopefully be kept on life support indefinitely) and doesn't burden the maintainers of other systems.

I accept your reasoning and logic behind it, even if I think it is a step in the wrong direction.

You might be right with bundling setup.py. Afaict, PEP-517 support was added to setuptools in version 36.6.0. Haven't been able to find the release for pip but I would imagine that it would have been around the same time.
I think it's definitely too soon to have the project metadata in pyproject.toml though. It's not supported by the system setuptools in any version of centos or LTS ubuntu. This is very much the sort of tool which people want to install globally or in their home directory, and removing setup.cfg would prevent that in a large proportion of reasonable setups.
I think the really important bit from your pyproject.toml change is the introduction of [build-system]. This allows dependency managers to avoid guessing at what will need to be installed before having to run setup.py. It is very important for us to support it so that the python ecosystem as a whole can move forward. Whether the project metadata is stored in in pyproject.toml or setup.cfg seems less important as it is only consumed by setuptools (which will hopefully be kept on life support indefinitely) and doesn't burden the maintainers of other systems.

Wheels!  The answer is wheels.
sdists should be for distributing source in buildable form.  Wheels are what we should push to pypi and expect users to install.  If we do this then the build system no longer matters.
I'm closing this as I think what you had @cgahr is a better basis for building wheels.  Sorry for sitting on this so long while I figured things out.


Android version Wanted of Hourglass App (Very Awesome App)

My productivity has several times with this simple timer app https://chris.dziemborowicz.com/apps/
I would request somebody, to please make apk version
Its damn awesome
Very simple UI
I would be very very thankful, if anybody makes it


Stop/start daemons during install and update

[ ] Stop import_scheduler.pl
[ ] Stop mqttlive.php
[ ] Start mqttlive.php
[ ] Start import_scheduler.pl

Fixed in efd2c3ec13d1cc3fcd764a34d1527371cb05701c


Copying over documentation

Summary:
Just copying over docs from tailcallhq.github.io repo for the sake of an implementation where we serve docs from this repo itself.

Let's do this as the last step. Moving the documentation right now will cause confusion about where to update them.

Let's open this once the website is ready.


Fix run stop check

Existing check will pass on lines such as:
:::MLLOG {"namespace": "", "time_ms":<PHONE_NUMBER>927, "event_type": "POINT_IN_TIME", "key": "eval_accuracy", "value": {0}, "metadata": {"file": "check_run_stop.py", "lineno": 411, "epoch_num": 16}}

This is line contains 'run_stop' string, but this is not a run_stop event, in which case 'run_stop' is the key.

@pgmpablo157321 fyi. We can discuss this tomorrow.
cc @ShriyaPalsamudram


Fails to run on RX 6800 with Radeon Software 21.10.1

Attempting to run the Release version on my RX 6800 on Windows using the newest available drivers (21.10.1) fails during the allocation of a descriptor set.
>HybridRendering.exe
********************************************************************************************************
Tue Oct  5 14:32:53 2021
Log Started.
********************************************************************************************************
[ 14:32:53 | INFO    ] : Successfully initialized platform! , FILE : application.cpp , LINE : 232
[ 14:32:53 | INFO    ] : (Vulkan) Vendor : AMD , FILE : vk.cpp , LINE : 4285
[ 14:32:53 | INFO    ] : (Vulkan) Name   : AMD Radeon RX 6800 , FILE : vk.cpp , LINE : 4286
[ 14:32:53 | INFO    ] : (Vulkan) Type   : VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU , FILE : vk.cpp , LINE : 4287
[ 14:32:53 | INFO    ] : (Vulkan) Driver : 8388806 , FILE : vk.cpp , LINE : 4288
[ 14:32:53 | INFO    ] : (Vulkan) Number of Queue families: 3 , FILE : vk.cpp , LINE : 4325
[ 14:32:53 | INFO    ] : (Vulkan) Family 0 , FILE : vk.cpp , LINE : 4334
[ 14:32:53 | INFO    ] : (Vulkan) Supported Bits:  , FILE : vk.cpp , LINE : 4335
[ 14:32:53 | INFO    ] : (Vulkan) VK_QUEUE_GRAPHICS_BIT: 1 , FILE : vk.cpp , LINE : 4336
[ 14:32:53 | INFO    ] : (Vulkan) VK_QUEUE_COMPUTE_BIT: 1 , FILE : vk.cpp , LINE : 4337
[ 14:32:53 | INFO    ] : (Vulkan) VK_QUEUE_TRANSFER_BIT: 1 , FILE : vk.cpp , LINE : 4338
[ 14:32:53 | INFO    ] : (Vulkan) Number of Queues: 1 , FILE : vk.cpp , LINE : 4339
[ 14:32:53 | INFO    ] : (Vulkan) Family 1 , FILE : vk.cpp , LINE : 4334
[ 14:32:53 | INFO    ] : (Vulkan) Supported Bits:  , FILE : vk.cpp , LINE : 4335
[ 14:32:53 | INFO    ] : (Vulkan) VK_QUEUE_GRAPHICS_BIT: 0 , FILE : vk.cpp , LINE : 4336
[ 14:32:53 | INFO    ] : (Vulkan) VK_QUEUE_COMPUTE_BIT: 1 , FILE : vk.cpp , LINE : 4337
[ 14:32:53 | INFO    ] : (Vulkan) VK_QUEUE_TRANSFER_BIT: 1 , FILE : vk.cpp , LINE : 4338
[ 14:32:53 | INFO    ] : (Vulkan) Number of Queues: 2 , FILE : vk.cpp , LINE : 4339
[ 14:32:53 | INFO    ] : (Vulkan) Family 2 , FILE : vk.cpp , LINE : 4334
[ 14:32:53 | INFO    ] : (Vulkan) Supported Bits:  , FILE : vk.cpp , LINE : 4335
[ 14:32:53 | INFO    ] : (Vulkan) VK_QUEUE_GRAPHICS_BIT: 0 , FILE : vk.cpp , LINE : 4336
[ 14:32:53 | INFO    ] : (Vulkan) VK_QUEUE_COMPUTE_BIT: 0 , FILE : vk.cpp , LINE : 4337
[ 14:32:53 | INFO    ] : (Vulkan) VK_QUEUE_TRANSFER_BIT: 1 , FILE : vk.cpp , LINE : 4338
[ 14:32:53 | INFO    ] : (Vulkan) Number of Queues: 2 , FILE : vk.cpp , LINE : 4339
[ 14:32:55 | FATAL   ] : (Vulkan) Failed to allocate descriptor set. , FILE : vk.cpp , LINE : 2

Vulkaninfo for this system:
vkinfo.txt

Thank you for reporting this! Unfortunately I don’t have a Radeon card to reproduce this issue. Would it be possible for you to build it in debug and provide me the logs?

I'm also getting this on my RX 6900. When I compiled the sample from source, I don't get an error like this, just a white screen for about a second then it closes. There's nothing in the log (https://gist.github.com/expenses/f6950ef77dd8fd5a8419ba58e03e2117) to indicate that something went wrong. @diharaw are there any compile or runtime flags that I should set for more verbose logging?

@expenses Unfortunately there's no way to get more verbose logging. Looks like the framework is failing initialization on a path that I haven't added proper logging yet. I'll be getting access to an AMD GPU quite soon so I'll be able to investigate this. If you manage to fix it in the meantime, I'll be happy to look at a PR.

Hello.
I am having the same issue.
Runnig 22.5.1 driver version here and 6700 XT.
Thank you.

I've no idea what the problem is exactly about as I don't know GLSL (and Vulkan generally) too well. However, this reminds me of the problems associated with non-uniform resource index with HLSL and D3D12. Might be worth exploring. Nvidia does it for you (behind the scenes, obviously), but in the case of AMD graphics cards, you've got to take care about it yourself.


unsupported BodyInit type when using fetch

Hey,
When I using fetch to post a request on 0.20.0/0.19.0 version , it get 'unsupported BodyInit type' error:
following is request :
var object = {
    method: 'POST',
    body: {
        'loginId': 'helloreact',
        "password": 'd4da22ee9d210bab31d1c3ef8b3674a6'
    }
};

fetch(url, object)
.then((response) => response.text())
.then((responseData) => {})
.catch(function(err) {});

@peter0072000 please try body: JSON.stringify(obj)

@peter0072000 And make sure to specify the header type. Will look something like this...
var object = {
    method: 'POST',
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json'
    },
    body:JSON.stringify( {
       'loginId': 'helloreact',
       'password"' 'd4da22ee9d210bab31d1c3ef8b3674a6'
    })
};

fetch(url, object)
.then((response) => response.text())
.then((responseData) => {})
.catch(function(err) {});

Duplicate #2538

Our server doesn't support plain/text media type in body. Tried to set 'Content-Type' header to 'application/json' also not working. How can i send request body in json?

@xahon What do you mean? If your server does not support sending plain/text in the body it could mean it does not support sending POST methods which you need to send a body. If what you meant is that you cannot change the header I would just send all in one big string like so "{'text':'message'}".

@sfratini means you are sending body as plain text - "{'text':'message'}" but we need to send as object like {'text':'message'}

why do we need to convert json object to string in the post request? sorry, but it looks like sh*t and its really annoying when you have to do something like typeof options.body === 'string' ? options.body : JSON.stringify(options.body),

Isn't the problem related to the answer and not the request?

Totally agree with @oleksandrriabykh it became boring explaining backend guys that I'm limited to send them stringified body only. They were in disbelief when told them

You can all install another fetch dependency and override the global.fetch. I am doing that right now in order to add a timeout to fetch and I am not having any of these issues.

@sfratini I tried your solution with
import fetch from 'react-native-fetch-polyfill'
GLOBAL.fetch = fetch

and had no success. Is this the override you used?


DBZ-2696 Implement SKIPPED_OPERATIONS for Postgres

https://issues.redhat.com/browse/DBZ-2696

Thank you @blcksrx for that PR and adding the skipped.operations to the Postgres connector. I just had some small comments inline.

should we disable/remove CommonConnectorConfig.SKIPPED_OPERATIONS from CommonConnectorConfig.CONFIG_DEFINITION and enable it only for the connectors where its implementation is already finished?

@rk3rn3r, WDYM by disable/enable exactly? The constant should remain in CommonConnectorConfig, as eventually this will be used for all connectors (and we tend to have some common things there, also if they implemented by the most but not all connnectors). In any case, this PR should aim for a generic implementation instead of modifying each specific change event emitter class.

@gunnarmorling Yeah It can be, but almost each Database has its own features. For example,  it's possible to handle this feature  on MongoDB, SqlServer,Db2 on the database side and it cause to avoid processing more records

For example, it's possible to handle this feature on MongoDB,
SqlServer,Db2 on the database side and it cause to avoid processing more
records

Yes, that's cool, that's definitely preferred. Still let's have the
fallback in the base class for those DBs where there's no other way.

Nice. I can handle this. should I create a new issue for that?

@blcksrx see the comments in https://issues.redhat.com/browse/DBZ-2696 and https://issues.redhat.com/browse/DBZ-2699. It's up to you if we leave the scope of this PR small and handle the rest (global implementation) in DBZ-2699.

Has been implemented on https://github.com/debezium/debezium/pull/1920


⚠ Bofrost.de has degraded performance

In 5b35d03, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1368 ms

Resolved: Bofrost.de performance has improved in bb716c8 after 6 minutes.


Multiple Merchants multiple Orders Routing

Hello,
I am new to or-tools, currently I have problem to optimise routing for multiple merchants with multiple orders, ie. merchant A with list of orders A1, A2,..., A10 and merchant B with orders B1, B2, ... , B10. My problem is to find best routes to mix orders of A and B, ie. allow routes to pick up orders at B while delivering A's orders.
Expected solution is something like this:
Route1:  pickup at A -> A1 -> A2 -> A3 -> pick up at B -> A4 -> B1 -> B2 -> A5 -> B3 -> A6 -> A7
Route2: pickup at A -> A8 -> A9 -> pick up at B -> B4 -> B5 -> A10 -> B6 -> B7, etc.
Original my idea is to include depot B as a special visited point and all B's orders must visit after B, but this is ok only for 1 route, I could not find solution how to force all routes must visit B before visiting any B's orders.
Under stand or-tools has pick-up and deliver example but this is for a pair, I am wondering if I can utilise the example with some adjustment?
Thanks,
Thanh

Please use the mailing list.