Linear Discrimant Analysis (LDA)

Hi,
This is the part II of PRs related to dimensionality reduction techniques.
The PR is not complete yet:

[x] I'll add the test file for it. I've tested Iris dataset and it works as expected. Can we add a test that works on a dataset from data file?
[ ] I'll also look into Quadratic Discriminant Analysis (QDA) which is the non-linear counterpar of LDA. I am not sure we have to implement it. I'll write my conclusion about it here.
[ ] This PR required to computer inverse of a square matrix by use of existing method in the Matrix.php file. I am not sure about its performance in terms of memory of processing speed. I'll also test it with a larger matrix and if it seems slower than the inverse() method available in PHP-JAMA, I also plan to replace it with this. As a plus, PHP-JAMA inverse method also supports pseudo-inverse of matrices whose inverse is not directly available.

I'll update the topic as soon as I have some progress about the things mentioned above.
Comments are welcome.

Can we add a test that works on a dataset from data file?

Yes, we can :) Of course if test time will be optimal. (optimal because the boundary is fluid)

@itcraftsmanpl What is the proper way to initialize CsvDataset with iris.csv within the test file, say LDATest.php that will be in the tests/Phpml/DimensionReduction folder?
$file = "../../../data/iris.csv";
$dataset = new CsvDataset($file, 4)
or
$dataset = new IrisDataset();
I am asking because I am not sure the latter will work.

You can use IrisDataset, it handy shortcut :D

Thank you Arkadiusz @itcraftsmanpl. I've just added the test file for LDA

Hi,
I've created a method called inverse2() in Matrix.php which relies upon LUDecomposition in order to comptue the inverse of an array. I left the original inverse() method intentionally to compare both of them.
Here is the code to compare them:
$matrix = [];
$len = 9;
srand(intval(microtime(true) * 100));
for($i=0; $i < $len; $i++)
	for($k=0; $k < $len; $k++)
		if ($i > $k)
			$matrix[$i][$k] = $matrix[$k][$i];
		else
			$matrix[$i][$k] = rand (0, 10);
$matrix = new Matrix($matrix);
$time = microtime(true);
$matrix->inverse()->toArray();
echo '

' . (microtime(true) - $time) . ' sec
';
$time = microtime(true);
$matrix->inverse2()->toArray();
echo '

' . (microtime(true) - $time) . ' sec
';
exit;

And the results:
3x3 Matrix:

inverse(): 5,0067901611328E-5 sec
inverse2(): 0,00037813186645508 sec

4x4 matrix:

inverse(): 0,00020503997802734 sec
inverse2(): 0,00077295303344727 sec

5x5 matrix:

inverse(): 0,0011398792266846 sec
inverse2(): 0,00036907196044922 sec

6x6 matrix:

inverse(): 0,010329961776733 sec
inverse2(): 0,00051093101501465 sec

7x7 matrix:

inverse(): 0,070796966552734 sec
inverse2(): 0,00050115585327148 sec

8x8 matrix:

inverse(): 0,63552498817444 sec
inverse2(): 0,00056719779968262 sec

9x9 matrix:

inverse(): 6,334527015686 sec
inverse2(): 0,00078082084655762 sec

I haven't gone further from this point and stopped testing for larger matrices since inverse() started taking too much time to respond. As can be seen clearly, LU Decomposition works faster than our current inverse() implementation specifically in larger matrices.
@itcraftsmanpl what do you think about replacing inverse() with LUDEcomposition inverse? The same question can be asked for determinant() method, because LUDecomposition also computes this value as well.
This was the part about square matrices. If we also want to compute pseudo-inverse for non-square matrices, we also need another class called QRDecomposition.

Wow, nice work.
Can you check if this method return identical results? If yes then we can replace it.

As to what I saw the results were identical. Nonetheless, I can test the results numerically to see if they are indeed identical before I submit the final version of this PR.
Maybe we can do the same thing for determinant () method as well.

I have continued with the test related to inverse() and getDeterminant() and I have found out that the real problem with inverse() method is actually getDeterminant() call while computing the inverse. I've replaced getDeterminant() with LUDecomposition::det() and it became super fast.
Here are the results:

10x10
getDeterminant(): -5229258239 [6,3289 sec]
getDeterminant2(): -5229258239 [0,00073 sec]

20x20
getDeterminant2(): 2,6071330693606E+20 [0,00045 sec]

30x30
getDeterminant2(): -9,1540400428278E+31 [0,00111 sec]

40x40
getDeterminant2(): -5,9805502011621E+43 [0,0025 sec]

50x50
getDeterminant2(): -2,0080658097428E+58 [0,00491 sec]

I could not try getDeterminant() method with 10x10 matrices and larger because determinant calculation with an 11x11 matrix was completed in about 70 seconds. Therefore, I stopped at 10x10 for the original getDeterminant() method.
After replacing, getDeterminant() with getDeterminant2() [ that is LUDecomposition::det()], the original inverse() method got faster, however, not fast enough with respect to inverse2().
Here are the results:

10x10
inverse(): 0,01006 sec
inverse2(): 0,0002 sec

20x20
inverse(): 0,16688 sec
inverse2(): 0,00117 sec

30x30
inverse(): 1,0576 sec
inverse2(): 0,0036 sec

40x40
inverse(): 4,07396 sec
inverse2(): 0,00921 sec

50x50
inverse(): 11,53101 sec
inverse2(): 0,01812 sec

60x60
inverse(): 26,88316 sec
inverse2(): 0,02973 sec

70x70
inverse(): 58,07504 sec
inverse2(): 0,04741 sec

80x80
inverse(): 115,0934 sec
inverse2(): 0,06837 sec

90x90
inverse(): 189,32725 sec
inverse2(): 0,09659 sec

100x100
inverse(): 306,52944 sec
inverse2(): 0,13606 sec

Therefore, my opinion is to replace both getDeterminant() and inverse() methods with those provided by LUDecomposition.

Lastly, I've given up on QDA (Quadratic Discriminant Analysis) and decided to return to my original route which includes Random Projections as the last Dimensionality Reduction method and continues with a different category of algorithms, namely Feature Selection algorithms.
I think if you guys, @itcraftsmanpl and @dmonllao, do not have something to add here, we are done with this PR.


Add gurkancount command

Description

This command loops through the display names of all members and checks which ones contain "gurkan".
Important note:
This enables member intents, which means that it'll have to be enabled on Discord Developers Portal, if it isn't already. It also means that we'll be tracking member intents.
This is needed, since the display names of guild members will be checked.
Screenshots

Here is the new command:

Did you:

[x] Join the Python Discord Community?
[x] If dependencies have been added or updated, run pipenv lock?
[x] Lint your code (pipenv run lint)?
[x] Set the PR to allow edits from contributors?

There is not much to review here. Mostly style preferences. Only really need to change the docstring.
The code ran perfectly fine, the only real concern would be the performance of looping through so many members.

@fisher60 It takes very, very little resources loop through the members, so no worries here. It's only about 100,000 iterations for our server size.

@lemonsaurus We could do that. The question is if we really want users to be able to search for any terms in display names or only a set of terms. What do you think about this?

what would be really cool is if you could hijack any command that ended with count , so that .gurkancount and .lemoncount and .vescount would all just work.

That would be really interesting. Sadly, it would interfere with the emojicount command. If we were to ever do that (which would be super cool), we'd have to turn emoji count into a command + subcommand or something similar.
Either way, if we keep in within the scope of this PR, I wouldn't mind adding an optional argument with the string to search for. I think keeping the command name gurkancount would also be slightly funny and work well.
Then again, do we want people to search for any term? I don't see any clear issues with that. We have great moderation, so inappropriate terms would be handlers just like with anything.

what would be really cool is if you could hijack any command that ended with count , so that .gurkancount and .lemoncount and .vescount would all just work.

This is a cool idea, I like it.

That would be really interesting. Sadly, it would interfere with the emojicount command. If we were to ever do that (which would be super cool), we'd have to turn emoji count into a command + subcommand or something similar.

This shouldn't be an issue, since the logic would have to be implemented in the error handler.

Then again, do we want people to search for any term? I don't see any clear issues with that. We have great moderation, so inappropriate terms would be handlers just like with anything.

I don't see it as an issue either.

I think let's just start with implementing it where you have a second optional argument for specifying the name. If we want to expand it to work with every count, let's do that later.

One thing to consider is that SeasonalBot currently does not have the "members intent", which means that it also does not receive those events from Discord. Enabling the intent does increase the resource usage of Seasonal Bot (although the "presences intent" is probably way more heavy). I think I'm just a bit confused as to why we'd want this count command and if it's worth the additional load it will have on our back-end.

@SebastiaanZ yes. That's an important question to ask. I don't know exactly how much that would cost to have, but is it something that we have resources for? While we shouldn't add commands just because we can, I also think it would be a fun command to have — which is an important part for SeasonalBot.
As for the reasoning behind having a command like this, I think there's an interest in counting the amount of members with "gurkan" in their display names. You have probably noticed that the count is quite significant. As @lemonsaurus mentions, it would also be fun to check other names, like "lemon" and "ves."
TL;DR: It's a fun command that I think many would appreciate.

hmm, ves makes a good point about user intents. actually the resource load difference would probably be a bit significant.
this seemed like a better idea while I was drunk.

Is that something we don't have resources for?

We do have resources for it, the question is more whether we want to use them this way. Before intents rolled out, every bot was subscribed by default. When I was working on #478, core dev consensus seemed to be that we'd rather not have the intent if feasible. I'm impartial, but I don't know if this is a feature that would justify adding the intent, if we don't otherwise want it. If it's well implemented, generic and would be a useful utility to e.g. mods, we can also consider adding it to the main bot, which does subsribe to the intent.

We do have resources for it, the question is more whether we want to use them this way. Before intents rolled out, every bot was subscribed by default. When I was working on #478, core dev consensus seemed to be that we'd rather not have the intent if feasible. I'm impartial, but I don't know if this is a feature that would justify adding the intent, if we don't otherwise want it. If it's well implemented, generic and would be a useful utility to e.g. mods, we can also consider adding it to the main bot, which does subsribe to the intent.

yeah, I'm afraid I think member intents is too high a price to pay for this feature. Sorry, gurk.


fix(auth): fix auth options conflicts with next routes

:tada: This PR is included in version 1.3.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.4.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add Export command

Export command exports contacts currently shown to an external json file.
For example, if "find" command is used, "export" command can be used to save these contacrs.

Looks good to me! Good job.


Increase the test coverage by adding HttpTests

There are already tests in place that test the business logic (RequestHandler) and data access (InstanceDAO). We want to increase the test coverage of the overall project by adding HttpTests using the akka-http-testkit.
These tests should verify that

Correct error codes are returned for wrong parameter syntax (missing, misspelled, etc)
Correct error codes are returned for semantically wrong requests (invalid id -> 404, invalid instance format -> 400, etc)
Correct data is returned for valid requests (register -> get id, getInstanceOfType -> instance, etc..)

@johannesduesing can you please review whenever you find some time. Let me know if the test coverage is enough or I am missing anything.

@Ayybeeshafi thanks for your submission :+1:
Next time please open a PR if you think your work is done, its way easier to give feedback in PRs.
As for your test, i checked it out and found quite a lot of problems:
The tests are not actually being executed
In fact, the code in the braces after the check is never being executed. This is a snippet from your test class
 "Successfully Registered" in {
      Post("register") -> server.Route -> check {
        assert(status === StatusCodes.OK)
        assert(response.status === 200)
        val registerNewInstance = handler.handleRegister(buildInstance(Long.MaxValue))
        assert(registerNewInstance.isSuccess)
      }
    }

Since you haven't started a server, your tests do not connect to anything. The server.Route you are addressing in your code is imported from import akka.http.scaladsl.server and has nothing to do with our application. I was able to make it work by starting the registry first
override def beforeAll(): Unit = {
    Future(Registry.main(Array[String]()))
    Thread.sleep(3000)
  }

  override def afterAll(): Unit = {
    System.exit(0)
  }

and then changing the test to use the correct routes from our server implementation at import de.upb.cs.swt.delphi.instanceregistry.connection.Server.routes, which in turn allows me to change the test to
"Successfully Registered" in {
      Post("/register") ~> routes ~> check {
        assert(status === StatusCodes.OK)
        assert(response.status === 200)
        val registerNewInstance = handler.handleRegister(buildInstance(Long.MaxValue))
        assert(registerNewInstance.isSuccess)
      }
    }

Notice you have to use the operator ~> instead of ->, and you have to insert a slash before the path. Please note: I am not sure if this is the default way of using the akka-http-testkit, maybe there is an easier way without starting the whole application in the background. That research is part of your work though.
The test is not testing the http implementation
Your test from the snippet above shows that you are directly accessing the Business Logic of our application, namely the RequestHandler
 val registerNewInstance = handler.handleRegister(buildInstance(Long.MaxValue))
assert(registerNewInstance.isSuccess)

The RequestHandler already is tested with its own test file. You task is to test the API logic, which is in the Server.scala. The whole point of the http tests is to see wether the implementation of the Server is correct, since we already know that the RequestHandler is working as inteded. This is why you should only be calling HTTP endpoints, and never directly access the RequestHandler.
There is no semantic testing
As discussed last time, it would make sense to test scenarios like the following:

Add an instance by calling Post("/register") with the correct JSON serializied request body.
Assert the status is 200 OK and the server returned an id, e.g. 42.
Call GET("/instance?Id=42")
Assert the status is 200 OK and the server returned an instance with the same attributes as the one registered in 1.

Currently, none of these scenarios are tested.
No parameters are being passed to the endpoints
You do not pass any parameters to the endpoints. Most of the endpoints would yield a 500 Internal Server Error because of that, if they worked at all. The following snippet from your code illustrates that problem
"Operation Accepted and Container Deleted" in {
  Post("delete") -> routes -> check {
    status === StatusCodes.ACCEPTED
  }
}
"Internal Server Error while deleting container" in {
  Post("delete") -> routes -> check {
    status === StatusCodes.INTERNAL_SERVER_ERROR
  }
}

Here you are calling the exact same endpoint (/delete) twice, but still expect different results, namely the StatusCode ACCEPTED and INTERNAL_SERVER_ERROR. You can have a look into the swagger documentation to find out what endpoints needs query parameters, and what endpoints need body parameters (e.g. /register).
There are some codestyle errors
Namely the package name was declared as de.upb.cs.swt.delphi.webapi, while the correct package name would be de.upb.cs.swt.delphi.registry.connection. Also the file is named ServerTest.scala while the class inside the file is named ServerTests.
Currently these tests do not add any coverage at all. They all pass, but only because they are never being executed. Please read through my feedback here carefully, maybe have a look into some more tutorials on using the akka-http-testkit, and change your implementation accordingly.

@johannesduesing Thank you for such a detailed response. It is making a lot more sense now. My confusion was how are these tests passing if I am not right. That is too cleared. I will start working to change the implementation.

@johannesduesing I am unable to figure out correct parameters for LinksFrom() and LinksTo(). If you can look into it in your free time.
Thank you.

Closed with #52


Elements clients should only retry after 5xx reponses

What?
Elements clients should not retry a subscription request unless the Retry-After header is present AND the error response is in the 5xx range.
...
Why?
See the spec: https://elements-manual.pusher.com/protocol/http-sub.html#retry-after-headers
...
How?
Whack another condition in retry-strategy.ts: isRetryable I guess!
...

CC @pusher/sigsdk

Looks like this is the case now: https://github.com/pusher/pusher-platform-js/blob/master/src/retry-strategy.ts#L113
Closing but please tell me if I've misunderstood and we need to reopen.


Should S101 be ignored in a test file?

Should S101 (assert detection) be ignored in a test file? We do use assert in a test file:
# tests/test_foo.py

def test_foo():
    assert foo() == 1

Another assert use case that should be considered ok:
# tests/utils.py: A collection of helper functions for testing

def assert_foo(x, y):
   assert x == y

def assert_bar(x, y):
   assert x != y

It’s hard to imagine a heuristic that would satisfy everyone here. Some people might want to forbid assert even in tests, in favor of test-specific methods with more useful failure output like self.assertEqual(x, y).
But better configurability would help. In general, as we add support for more opinionated rules, it does seem inevitable that people will want to be more selective about which files to apply them in. Perhaps we could take some inspiration from ESLint’s overrides setting and mypy’s per-module options?

But better configurability would help

Agree. It looks like bandit provides an option for specifying files where assert detection is disabled:
https://github.com/PyCQA/bandit/blob/f909a7dea9495517a8550c9b9f6a75bd286ce7e3/bandit/plugins/asserts.py#L20
**Config Options:**
You can configure files that skip this check. This is often useful when you
use assert statements in test cases.
.. code-block:: yaml
    assert_used:
      skips: ['*_test.py', '*test_*.py']

Confirmed --per-file-ignores=tests/*:S101 works.


Extra ; when sending selected text to MATLAB

If selected text in the .m file is x = 1; and I press Ctrl + B
then the command sent to the MATLAB command window is x = 1;; instead of the correct command x = 1;

The issue is in the \Packages\AutoMatlab\Default (Windows).sublime-keymap
 // Run current selection in Matlab
    {
        "keys": ["ctrl+b"],
        "command": "run_matlab_command",
        "args": {"command": "$selection;"},
        "context":
        [
            { "key": "selector", "operator": "equal", "operand": "source.matlab" },
            { "key": "selection_empty", "operator": "equal", "operand": false },
        ],
    },

Changing "args": {"command": "$selection;"}, to "args": {"command": "$selection"}, fixes the issue. I made the change in my user  keymap. Could this change also be made to the default keypmap?

Hi @bEiGeOnE78
Thanks for that suggestion I agree that removing the ';' makes more sense as the default. I'll change that in the near future!
If you have any other suggestion for additional features/changes, please let me know.


bug: HeadlessUiResolver not generating types for components

vite.config.ts
customComponentResolvers: [
  HeadlessUiResolver()
]

is not generating types for the Headless UI components as expected. When I remove import { Listbox, ListboxButton, ListboxLabel, ListboxOption, ListboxOptions } from '@headlessui/vue'; then the components have no typings in the template.

Can you reverify with the latest version? Thanks.


Failures in the test suite running on latest Bazel

See for example https://github.com/bazelbuild/rules_fuzzing/actions/runs/2522403386:
ERROR: Traceback (most recent call last):
	File "/home/runner/work/rules_fuzzing/rules_fuzzing/WORKSPACE", line 35, column 12, in <toplevel>
		jazzer_init()
	File "/home/runner/.cache/bazel/_bazel_runner/fe6cb6e248ce6cff4727b846eff77c1f/external/jazzer/init.bzl", line 26, column 24, in jazzer_init
		kotlin_repositories()
	File "/home/runner/.cache/bazel/_bazel_runner/fe6cb6e248ce6cff4727b846eff77c1f/external/io_bazel_rules_kotlin/src/main/starlark/core/repositories/initialize.bzl", line 96, column 21, in kotlin_repositories
		rules_repository(
Error in repository_rule: invalid repository name '': must start with a letter and contain only letters, digits, '.', '-', or '_'
ERROR: error loading package '': Encountered error while reading extension file 'setup.bzl': no such package '@io_bazel_stardoc//': error loading package 'external': Could not load //external package

Seems to be related to a Jazzer dependency on Kotlin. CC @fmeum for visibility.

Caused by https://github.com/bazelbuild/bazel/issues/15667, will need to wait for that to be resolved in a rules_kotlin release.

https://github.com/bazelbuild/bazel/issues/15667 seems to be fixed now? FWIW, rules_fuzzing still fails when running on the latest Bazel.

I would have to update the rules_kotlin pin. In the meantime, Jazzer has been heavily refactored and is now available as a prebuilt jar on Maven. I am planning to make use of this new architecture to simplify the way Jazzer is loaded and run by rules_fuzzing.


Make phantomjs dependency optional

Hi!
Is there a chance you could make phantomjs (html-to-pdf) dependency optional? I'd like to use your library just to generate HTML invoices and PhantomJS is too big of a dependency for such use case (not to mention it is deprecated).
Regards

Hello @Aareksio,
It's a good idea, could you create a PR ?  👍
Regards, 🚀


疑问

我看了一些蚂蚁的关于Nydus博客，其中容器镜像按需下载，用户不再需要下载完整镜像就能启动容器。 这句话应该怎么理解？ 比如我有个基于jdk的镜像，jdk是一层，jar包是一层，会在下载完成jdk那一层后就把容器run起来了吗？

No. In fact,  you have to make use some kind of tool to convert your OCI image into Nydus/Rafs format. The tool which is named as nydusify can also be found in this repo, too. Please refer to README.md for trial instructions. Now, it relies on contianerd, however, we are planning to get rid of containerd in the soon future.
After a successful image conversion, you will have two artifacts - boostrap and blob.
In addition, you can use image builder which is wrapped by nydusify  to convert an image with multiple layers  by yourself.
If not for too many layers, it should not be hard.

会在下载完成jdk那一层后就把容器run起来了吗？
After the conversion, you don't have seperated jdk layer like the original tar anymore. The only needed thing is boostrap.
Enjoy it. :-)

Hi @hhstu , Nydus will split file data in the image layer into multiple chunks (default is 1MB per one), if the application in container request read these data (for example in your case, loading JDK runtime or JAR package), Nydus will only read from the data chunks of JDK or JAR on-demand, instead of the whole image layer data chunks.

我会尽量在这周末搞定它的原理，如果搞不定我还会再回来问哈哈哈 @imeoer

@hhstu Here is our slide share on Open Infra Summit 2020, you can find more detail. ;)
https://drive.google.com/file/d/1LRfLUkNxShxxWU7SKjc_50U0N9ZnGIdV/view?usp=sharing

感谢！Thanks @imeoer


Printing a bug - Tags of XML and sometime pictures is left out

This is from the BUG WI field [Repro Steps]:

This shows the print of the WI where the picture is left out, and only part of the XML is shown.

How can I get all the details from the field printed (or saved to PDF).

It's very unstable. Sometimes I get all the pictures but often not. This is on the same WI.


Add a databricks workflow taskgroup that converts Airflow tasks into workflow tasks

This pull request creates a new Airflow task group called the DatabricksWorkflowTaskGroup. Databricks workflows are a popular new Databricks product that allows users to optimize their tasks for use on Databricks "job" clusters. The DatabricksWorkflowTaskGroup reads all tasks in the task group and submits them to Databricks as one job. Tasks will need to implement the "convert_to_databricks_workflow_task" function to work in a Databricks task group.

Closing as this PR will be created in another project - as discussed with @dimberman


go/types: expose the (experimental) type parameter API for 1.17 with -tags=typeparams

When we guarded the new go/* library changes supporting generics with the typeparams build constraint (#44933), I took the shortest path to re-exporting the APIs with -tags=typeparams, only exposing the minimal amount necessary for go/types, gofmt, etc. to work with generics.  But as I experiment with generics-supporting features in gopls, I am encountering some ergonomic issues with the current API.
Even though they will probably change for 1.18, we should make sure that the 1.17 APIs available with -tags=typeparams are sufficient for building experimental tooling.
@mdempsky already did some of this in https://golang.org/cl/317029.  I'm filing this issue to track a few more CLs I'd like to get in for 1.17.  These should all be very low risk changes as they should not affect the build in any meaningful way without -tags=typeparams.
CC @griesemer

I think this can be closed now: CL 317849 is not strictly necessary and can be rebased onto dev.typeparams.


Next button doesn't work

These are the buttons.
They are rendered but when i click the right button it doesn't work.
You declared 2 functions (goBack and goNext) in two different ways and the problem could be the context.
renderArrowLeft={() => this.state.modalIndex !== 0 ? <View style={{      backgroundColor: 'rgba(0, 0, 0, 0.3)',      padding: 5,      borderRadius: 15,      marginLeft: 5  }}>       <MaterialIcon name="keyboard-arrow-left" size={25} color={PRIMARY_COLOR}/>  </View> : null}
renderArrowRight={() => this.state.modalIndex !== this.state.images.length - 1 ? <View style={{       backgroundColor: 'rgba(0, 0, 0, 0.3)',       padding: 5,       borderRadius: 15,       marginRight: 5 }}>      <MaterialIcon name="keyboard-arrow-right" size={25} color={PRIMARY_COLOR}/> </View> : null

Thanks for your reply, this problem has been fixed in new version 2.2.11.

This still doesnt work in 3.0.1 , any permanent fix you guys came up with for this?


VB Decompiler new version - installation failed

VB Decompiler Lite has been updated in August and installation fails because the new checksum A82CD878F18E391F05416C7DC2D3F9F0B4E255EE9867ACAB89843E66BBB84256 do not meet the package checksum  b186813f15cac8f69dd65554cd34426c38eefdd48533c2b299a42456f2df91fc.

Updated the package. Should be working now.


Chrome-style tabs drag & drop jiggles around

The first tab has 0 offset; all the other tabs have -10pt offset. When you drag a tab from the middle to first position, dropping it keeps the offset in tact so it's drawn outside the leftmost edge of the scrollview. That looks odd. But when reloading and laying out the tabs, it immediately jumps to an offset of 0.
The old first tab (now at position 2) suffers from a similar problem when it is set from offset 0 to -10.

[ ] make GIF from this

I noticed that too. Shouldn't be too hard to fix.

Even if there is something I am not sure about (namely, the right choice of indices in the code itself), it works perfectly in the demo. So I'll close this issue.


socat locks up when attempting port-forwarding

Deployed single node<EMAIL_ADDRESS>on<EMAIL_ADDRESS>& kubelet-wrapper systemd using --network-provider=experimental-calico.
When trying to use helm/tiller or kubectl port-forward socat locks up the system with 100% cpu usage when using the kubelet image<EMAIL_ADDRESS>or<EMAIL_ADDRESS>However if i downgrade just the kubelet image down to<EMAIL_ADDRESS>and keep all the other components on v1.8.1 it works fine.
I don't really know if this is an issue with bootkube, the coreos hyperkube image or the regular hyperkube image. But i'm setting up my cluster with bootkube which is why I'm asking here first.

I deployed v1.8.1 clusters (with Calico and CL 1520.6.0) on AWS, GCE, and bare-metal. Checking kubectl port-forward some-kubernetes-dashboard-pod -n kube-system 9090 works as usual for me on AWS and bare-metal.
I do see port-forward connections hang on GCE, but I'm investigating some other issues there which are probably the root problem. I think CPU spikes are a red herring, I can't reproduce those, unless maybe your nodes were on the cusp of being overloaded or something.

I don't think so, I was running htop, showed i had a bunch of resources free, socat took up 1 full core at 100% out of 4, and still had 2gb of ram left. I even rebuilt and redeployed a new vm (running on vmware) completely and it still happened. However on another cluster of 5 vms it's not showing the issue.

There's no logs for the kubelet journalctl -f kubelet.service
When I run, it looks like it's connecting, but nothing actually happens.
kubectl port-forward -n foo-ns internal-pod 8080:8080
Forwarding from <IP_ADDRESS>:8080 -> 8080
Handling connection for 8080
Handling connection for 8080
Handling connection for 8080
Handling connection for 8080

However on the server side:

and even after i kill the port-forward command, socat is still running on the kubelet.

I just added a second node to that cluster, and it's still broken.

What platform are you on? What distro are you on? Container Linux doesn't ship /usr/bin/socat or htop. Also, your journalctl command requires a -u for unit. Kinda missing some context here. We may be talking about different issues.

Yes, that was a mistype, I did run journalctl -f -u kubelet.service I see the usual logs about container health but nothing about networking or other issues.
Distro info:
$ cat /etc/os-release
NAME="Container Linux by CoreOS"
ID=coreos
VERSION=1548.2.0
VERSION_ID=1548.2.0
BUILD_ID=2017-10-12-0514
PRETTY_NAME="Container Linux by CoreOS 1548.2.0 (Ladybug)"
ANSI_COLOR="38;5;75"
HOME_URL="https://coreos.com/"
BUG_REPORT_URL="https://issues.coreos.com"
COREOS_BOARD="amd64-usr"

The socat is within the kubelet container.
This is how i'm running the kubelet:
[Unit]
Description=Kubelet via Hyperkube ACI
[Service]
Environment="RKT_RUN_ARGS=--uuid-file-save=/var/run/kubelet-pod.uuid \
  --volume=resolv,kind=host,source=/etc/resolv.conf \
  --mount volume=resolv,target=/etc/resolv.conf \
  --volume var-lib-cni,kind=host,source=/var/lib/cni \
  --mount volume=var-lib-cni,target=/var/lib/cni \
  --volume opt-cni-bin,kind=host,source=/opt/cni/bin \
  --mount volume=opt-cni-bin,target=/opt/cni/bin \
  --volume var-log,kind=host,source=/var/log \
  --mount volume=var-log,target=/var/log"
EnvironmentFile=/etc/kubernetes/kubelet.env
ExecStartPre=/bin/mkdir -p /etc/kubernetes/manifests
ExecStartPre=/bin/mkdir -p /srv/kubernetes/manifests
ExecStartPre=/bin/mkdir -p /etc/kubernetes/cni/net.d
ExecStartPre=/bin/mkdir -p /etc/kubernetes/checkpoint-secrets
ExecStartPre=/bin/mkdir -p /etc/kubernetes/inactive-manifests
ExecStartPre=/bin/mkdir -p /var/lib/cni
ExecStartPre=/bin/mkdir -p /opt/cni/bin
ExecStartPre=/usr/bin/bash -c "grep 'certificate-authority-data' /etc/kubernetes/kubeconfig | awk '{print $2}' | base64 -d > /etc/kubernetes/ca.crt"
ExecStartPre=-/usr/bin/rkt rm --uuid-file=/var/run/kubelet-pod.uuid
ExecStart=/usr/lib/coreos/kubelet-wrapper \
  --allow-privileged \
  --anonymous-auth=false \
  --client-ca-file=/etc/kubernetes/ca.crt \
  --cluster_dns=<IP_ADDRESS> \
  --cluster_domain=cluster.local \
  --cni-conf-dir=/etc/kubernetes/cni/net.d \
  --exit-on-lock-contention \
  --kubeconfig=/etc/kubernetes/kubeconfig \
  --lock-file=/var/run/lock/kubelet.lock \
  --network-plugin=cni \
  --node-labels=node-role.kubernetes.io/master,master=true \
  --pod-manifest-path=/etc/kubernetes/manifests \
  --eviction-hard=memory.available<5% \
  --eviction-soft=memory.available<7% \
  --eviction-soft-grace-period=memory.available=2m \
  --eviction-pressure-transition-period=5m \
  --require-kubeconfig
ExecStop=-/usr/bin/rkt stop --uuid-file=/var/run/kubelet-pod.uuid
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target

For a more concrete example: After deploying bootkube cluster and running helm init
On the node itself:
core@n101 ~ $ curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 49.8M  100 49.8M    0     0  4201k      0  0:00:12  0:00:12 --:--:-- 3328k
core@n101 ~ $ chmod +x kubectl
core@n101 ~ $ KUBECONFIG=/etc/kubernetes/kubeconfig ./kubectl get po --all-namespaces
NAMESPACE     NAME                                                   READY     STATUS    RESTARTS   AGE
kube-system   calico-node-6mdmd                                      2/2       Running   0          36m
kube-system   calico-node-gqkf6                                      2/2       Running   0          41m
kube-system   kube-apiserver-4z6ls                                   1/1       Running   0          41m
kube-system   kube-controller-manager-5dbc5d8c6b-96cwp               1/1       Running   0          41m
kube-system   kube-controller-manager-5dbc5d8c6b-9p2nw               1/1       Running   0          41m
kube-system   kube-dns-598c789574-h7p89                              3/3       Running   0          41m
kube-system   kube-proxy-4lxwh                                       1/1       Running   0          41m
kube-system   kube-proxy-hbbcz                                       1/1       Running   0          36m
kube-system   kube-scheduler-bdb68cdc-gjjlg                          1/1       Running   0          41m
kube-system   kube-scheduler-bdb68cdc-wn6j9                          1/1       Running   0          41m
kube-system   pod-checkpointer-bh9f2                                 1/1       Running   0          41m
kube-system   pod-checkpointer-bh9f2-n101.node.k8s.weikinhuang.com   1/1       Running   0          41m
kube-system   tiller-deploy-cffb976df-qwj98                          1/1       Running   0          34m
core@n101 ~ $ KUBECONFIG=/etc/kubernetes/kubeconfig ./kubectl port-forward -n kube-system tiller-deploy-cffb976df-qwj98 44134:44134
Forwarding from <IP_ADDRESS>:44134 -> 44134
Handling connection for 44134

in another tab:
core@n101 ~ $ curl <IP_ADDRESS>:44134
# just hangs

I can't produce the CPU spike issue and port-forward is ok on my AWS, bare-metal, and Digital Ocean test clusters. Can you try using the upstream hyperkube gcr.io/google_containers/hyperkube:v1.8.1? Starting in v1.8, bootkube should now be able to use either just fine, the quay.io/coreos/hyperkube patches are only relevant for Tectonic.
Another shot in the dark, I see socat has a vaguely recent changelog fix about CPU load being high when resolution problems occur and I see hyperkube's socat is older. Can you resolve node names if using FQDN names?

Can't seem to start the gcr.io/google_containers/hyperkube:v1.8.1 image via kubelet-wrapper
Oct 20 19:02:11 n101.example.com systemd[1]: kubelet.service: Service hold-off time over, scheduling restart.
Oct 20 19:02:11 n101.example.com systemd[1]: Stopped Kubelet via Hyperkube ACI.
Oct 20 19:02:11 n101.example.com systemd[1]: Starting Kubelet via Hyperkube ACI...
Oct 20 19:02:11 n101.example.com rkt[2263]: rm: unable to resolve UUID from file: open /var/run/kubelet-pod.uuid: no such file or directory
Oct 20 19:02:11 n101.example.com rkt[2263]: rm: failed to remove one or more pods
Oct 20 19:02:11 n101.example.com systemd[1]: Started Kubelet via Hyperkube ACI.
Oct 20 19:02:11 n101.example.com kubelet-wrapper[2271]: + exec /usr/bin/rkt run --uuid-file-save=/var/run/kubelet-pod.uuid --volume=resolv,kind=host,source=/etc/resolv.conf --mount volume=resolv,target=/etc/resolv.conf --volume var-lib-cni,kind=host,source=/var/lib/cni --mount volume=var-lib-cni,target=/var/lib/cni --volume opt-cni-bin,kind=host,source=/opt/cni/bin --mount volume=opt-cni-bin,target=/opt/cni/bin --volume var-log,kind=host,source=/var/log --mount volume=var-log,target=/var/log --volume coreos-etc-kubernetes,kind=host,source=/etc/kubernetes,readOnly=false --volume coreos-etc-ssl-certs,kind=host,source=/etc/ssl/certs,readOnly=true --volume coreos-usr-share-certs,kind=host,source=/usr/share/ca-certificates,readOnly=true --volume coreos-var-lib-docker,kind=host,source=/var/lib/docker,readOnly=false --volume coreos-var-lib-kubelet,kind=host,source=/var/lib/kubelet,readOnly=false,recursive=true --volume coreos-var-log,kind=host,source=/var/log,readOnly=false --volume coreos-os-release,kind=host,source=/usr/lib/os-release,readOnly=true --volume coreos-run,kind=host,source=/run,readOnly=false --volume coreos-lib-modules,kind=host,source=/lib/modules,readOnly=true --mount volume=coreos-etc-kubernetes,target=/etc/kubernetes --mount volume=coreos-etc-ssl-certs,target=/etc/ssl/certs --mount volume=coreos-usr-share-certs,target=/usr/share/ca-certificates --mount volume=coreos-var-lib-docker,target=/var/lib/docker --mount volume=coreos-var-lib-kubelet,target=/var/lib/kubelet --mount volume=coreos-var-log,target=/var/log --mount volume=coreos-os-release,target=/etc/os-release --mount volume=coreos-run,target=/run --mount volume=coreos-lib-modules,target=/lib/modules --stage1-from-dir=stage1-fly.aci gcr.io/google_containers/hyperkube:v1.8.1 --exec=/kubelet -- --allow-privileged --anonymous-auth=false --client-ca-file=/etc/kubernetes/ca.crt --cluster_dns=<IP_ADDRESS> --cluster_domain=cluster.local --cni-conf-dir=/etc/kubernetes/cni/net.d --exit-on-lock-contention --hostname-override=n101.example.com --kubeconfig=/etc/kubernetes/kubeconfig --lock-file=/var/run/
Oct 20 19:02:11 n101.example.com kubelet-wrapper[2271]: lock/kubelet.lock --network-plugin=cni --node-labels=node-role.kubernetes.io/master,master=true --pod-manifest-path=/etc/kubernetes/manifests '--eviction-hard=memory.available<5' '--eviction-soft=memory.available<7' --eviction-soft-grace-period=memory.available=2m --eviction-pressure-transition-period=5m --require-kubeconfig
Oct 20 19:02:12 n101.example.com kubelet-wrapper[2271]: run: discovery failed
Oct 20 19:02:12 n101.example.com systemd[1]: kubelet.service: Main process exited, code=exited, status=254/n/a
Oct 20 19:02:12 n101.example.com systemd[1]: kubelet.service: Unit entered failed state.
Oct 20 19:02:12 n101.example.com systemd[1]: kubelet.service: Failed with result 'exit-code'.

Oh, you have to use docker://gcr.io/google_containers/hyperkube:v1.8.1 and set the rkt argument --insecure-options=image https://coreos.com/rkt/docs/latest/running-docker-images.html

I figured it out! looks like inside the rkt pod for kubelet it can't resolve localhost. Your suggestion about FQDN was the correct answer.
Looks like kubelet wrapper is broken for me when running the hyperkube image as the kubelet image.
When running the hyperkube images with docker
core@n101 ~ $ docker run -it --rm quay.io/coreos/hyperkube:v1.8.1_coreos.0 cat /etc/hosts
<IP_ADDRESS>       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
<IP_ADDRESS>      dfb09a09e951

core@n101 ~ $ docker run -it --rm quay.io/coreos/hyperkube:v1.7.8_coreos.2 cat /etc/hosts
<IP_ADDRESS>       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
<IP_ADDRESS>      4fa5a0dfc07c

Running the image with kubelet-wrapper
core@n101 ~ $ rkt list
UUID            APP             IMAGE NAME                                      STATE   CREATED         STARTED         NETWORKS
38d3d778        hyperkube       gcr.io/google_containers/hyperkube:v1.8.1       running 3 seconds ago   3 seconds ago
f420bb4a        etcd            quay.io/coreos/etcd:v3.2.9                      running 37 minutes ago  37 minutes ago

core@n101 ~ $ sudo rkt enter 38d3d778
enter: no command specified, assuming "/bin/bash"
# cat /etc/hosts
#

However when running with the quay.io/coreos/hyperkube:v1.7.8_coreos.2 image, the hosts file is correctly set.
core@n101 ~ $ rkt list
UUID            APP             IMAGE NAME                                      STATE   CREATED         STARTED         NETWORKS
37ea1711        hyperkube       quay.io/coreos/hyperkube:v1.7.8_coreos.2        running 1 minute ago    1 minute ago
f420bb4a        etcd            quay.io/coreos/etcd:v3.2.9                      running 43 minutes ago  43 minutes ago
core@n101 ~ $ sudo rkt enter 37ea1711
enter: no command specified, assuming "/bin/bash"
root@n101:/# cat /etc/hosts
<IP_ADDRESS>       localhost
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

root@n101:/#

Should I open an issue somewhere else? Or should I now mount /etc/hosts in the rkt options?

cc @euank

@weikinhuang
I suspect the root cause of that hosts file difference is this kubernetes change: https://github.com/kubernetes/kubernetes/pull/48535
Rather than bindmounting through /etc/hosts, the rkt option --hosts-entry=host should copy over the hosts entry you have in /etc/hosts.
We'd be happy to take a PR against the kubelet-wrapper in the coreos-overlay repo if you'd like to (do note you'll need to bump the ebuild revision too if you do make such a PR).
Other fixes could be for the upstream hyperkube image to continue including a proper /etc/hosts file, or for the kubelet to only use <IP_ADDRESS> instead of relying on localhost to resolve to it.
I might make that last change when I get time.
I do think that this is not a bootkube issue but rather a kubernetes+hyperkube or container-linux+kubelet-wrapper issue.

yep, I'll see if I can make a PR to coreos-overlay when I have a moment.

Can confirm adding --hosts-entry=host fixes the issue

Will open a PR on coreos-overlay

This actually does have some bearing on the port-forward GCE issue I was describing. I never found any CPU spikes, but rkt entering the kubelet-wrapper kubelet does show the /etc/hosts file is empty.
This does not cause a port-forward problem on AWS, DO, and bare-metal (at least on my networks) because the upstream network DNS resolves localhost queries to <IP_ADDRESS> for the kubelet despite the lack of /etc/hosts. On Google Cloud specifically, their resolver does not and port-forward doesn't work.
The fix to the rkt args is the same and should be applied on all platforms.

Yes, that's also why it didn't break my other cluster, because localhost is defined on my internal network's dns server


New AST APIs

Pull Request Description
Introduce new AST APIs. They will be used for synchronization in the next PR.
Important Notes

Module.edit now clones a YDoc containing all the module's data; the resulting MutableModule can be edited with mutation APIs.
Every AST type now has a mutable subtype. These MutableAst types expose all editing operations that were previously in MutableModule, such as replace; they also provide field setters.

Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[ ] The documentation has been updated, if necessary.
[ ] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[ ] All code follows the
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
All code has been tested:

[ ] Unit tests have been written where possible.
[ ] If GUI codebase was changed, the GUI was tested when built using ./run ide build.

I'm looking in to a bug relating to some edges and nodes missing when entering a collapsed node. I also intend to do a lot more manual testing. I'm marking this ready for review with those caveats, because it changes a lot of APIs and I don't expect the remaining bugfix(es) to require any deep changes.

Tests on my branch #8859 discovered a bug. I dared to fix it in this branch.


feat: add feature flag for unsafe deserialization

This feature flag should never be used. It's special purpose for one
specific use case and is not meant to general consumption. This feature
is not supported, it could break at any time.

Just a rebase, hence merging.


notify slack when builds of master fail

This updates the daily regression tests, and the two workflows that run on all changes. If the workflow fails it sends a message to Slack.
The location in Slack depends on the webhook url that is added to the repository. The webhook points at a slack workflow which is configured to post to the #clue-dev channel.
The messages in Slack currently look like this.

The message text and icon are configured in the slack workflow. The GitHub action sends the Slack workflow 3 variables which get included in the text of message: workflow name, ref name (branch or tag name), and a url to the failing github actions run.

Yeah making it reusable would be nice. Perhaps if this new CLUE approach of testing on branches is applied to other projects then other projects will want this too, and then we can make it be a shared action like the s3-deploy-action.


Armabeabi or JNI error

I am using this project and imported in my eclipse but getting below error please let me know what is missing in this .
java.lang.UnsatisfiedLinkError: Couldn't load ocr from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.bcc-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.bcc-2, /vendor/lib, /system/lib]]]: findLibrary returned null

I am not sure. What error you getting? Can you please post stack trace.


Columns with equal names don't get shown in the output

The above query should return the Cartesian product of the table "Mitarbeiter" with 10 columns.
Instead, only 5 columns are there. It looks like columns with the same column name get dropped.
I'm on SQLPad Version 6.11.3.

Hi @marcel-gohsen - this is a known limitation. This won't be addressed unfortunately as the project is in maintenance mode and isn't seeing any new development.


Crash when running tensorflow.python.ops.ragged.ragged_string_ops.ngrams

Click to expand!
Issue Type
Bug
Source
binary
Tensorflow Version
v2.4.0
Custom Code
Yes
OS Platform and Distribution
Linux Ubuntu 20.4
Mobile device
No response
Python version
3.8
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
release 11.0, V11.0.194 Build cuda_11.0_bu.TC445_37.28540450_0
GPU model and memory
No response
Current Behaviour?
When tensorflow.python.ops.ragged.ragged_string_ops.ngrams is given input parameter ngram_width with very large elements, the program crashes due to high memory usage.

Standalone code to reproduce the issue
import tensorflow as tf
from tensorflow.python.ops.ragged import ragged_string_ops
try:
  try:
    with tf.device('/CPU'):
      arg_0_0_0 = "b'a'"
      arg_0_0_1 = "b'z'"
      arg_0_0 = [arg_0_0_0,arg_0_0_1,]
      arg_0_1_0 = "b'b'"
      arg_0_1_1 = "b''"
      arg_0_1 = [arg_0_1_0,arg_0_1_1,]
      arg_0_2_0 = "b'e'"
      arg_0_2_1 = "b'f'"
      arg_0_2 = [arg_0_2_0,arg_0_2_1,]
      arg_0 = [arg_0_0,arg_0_1,arg_0_2,]
      ngram_width = 12509
      separator = "b'|'"
      pad_values_0 = "b'LP'"
      pad_values_1 = "b'RP'"
      pad_values = [pad_values_0,pad_values_1,]
      ragged_string_ops.ngrams(arg_0,ngram_width=ngram_width,separator=separator,pad_values=pad_values,)
  except Exception as e:
    "Error:"+str(e)
  try:
    with tf.device('/GPU:0'):
      arg_0_0 = [arg_0_0_0,arg_0_0_1,]
      arg_0_1 = [arg_0_1_0,arg_0_1_1,]
      arg_0_2 = [arg_0_2_0,arg_0_2_1,]
      arg_0 = [arg_0_0,arg_0_1,arg_0_2,]
      pad_values = [pad_values_0,pad_values_1,]
      ragged_string_ops.ngrams(arg_0,ngram_width=ngram_width,separator=separator,pad_values=pad_values,)
  except Exception as e:
    "Error:"+str(e)
except Exception as e:
  "Error:"+str(e)

Relevant log output
2022-12-25 14:18:16.437999: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.11.0
2022-12-25 14:18:17.392284: I tensorflow/compiler/jit/xla_cpu_device.cc:41] Not creating XLA devices, tf_xla_enable_xla_devices not set
2022-12-25 14:18:17.392761: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcuda.so.1
2022-12-25 14:18:17.429344: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2022-12-25 14:18:17.429509: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1720] Found device 0 with properties:
pciBusID: 0000:01:00.0 name: NVIDIA GeForce GTX 1660 Ti computeCapability: 7.5
coreClock: 1.77GHz coreCount: 24 deviceMemorySize: 5.80GiB deviceMemoryBandwidth: 268.26GiB/s
2022-12-25 14:18:17.429533: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.11.0
2022-12-25 14:18:17.431839: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcublas.so.11
2022-12-25 14:18:17.431883: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcublasLt.so.11
2022-12-25 14:18:17.432835: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcufft.so.10
2022-12-25 14:18:17.433038: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcurand.so.10
2022-12-25 14:18:17.435378: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcusolver.so.10
2022-12-25 14:18:17.435859: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcusparse.so.11
2022-12-25 14:18:17.435958: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudnn.so.8
2022-12-25 14:18:17.436039: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2022-12-25 14:18:17.436195: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2022-12-25 14:18:17.436294: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1862] Adding visible gpu devices: 0
2022-12-25 14:18:17.437215: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set
2022-12-25 14:18:17.437300: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2022-12-25 14:18:17.437411: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1720] Found device 0 with properties:
pciBusID: 0000:01:00.0 name: NVIDIA GeForce GTX 1660 Ti computeCapability: 7.5
coreClock: 1.77GHz coreCount: 24 deviceMemorySize: 5.80GiB deviceMemoryBandwidth: 268.26GiB/s
2022-12-25 14:18:17.437427: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.11.0
2022-12-25 14:18:17.437442: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcublas.so.11
2022-12-25 14:18:17.437453: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcublasLt.so.11
2022-12-25 14:18:17.437465: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcufft.so.10
2022-12-25 14:18:17.437476: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcurand.so.10
2022-12-25 14:18:17.437487: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcusolver.so.10
2022-12-25 14:18:17.437497: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcusparse.so.11
2022-12-25 14:18:17.437507: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudnn.so.8
2022-12-25 14:18:17.437553: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2022-12-25 14:18:17.437682: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2022-12-25 14:18:17.437772: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1862] Adding visible gpu devices: 0
2022-12-25 14:18:17.437796: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.11.0
2022-12-25 14:18:17.757806: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1261] Device interconnect StreamExecutor with strength 1 edge matrix:
2022-12-25 14:18:17.757832: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1267]      0
2022-12-25 14:18:17.757837: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1280] 0:   N
2022-12-25 14:18:17.757972: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2022-12-25 14:18:17.758091: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2022-12-25 14:18:17.758181: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2022-12-25 14:18:17.758259: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1406] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 4661 MB memory) -> physical GPU (device: 0, name: NVIDIA GeForce GTX 1660 Ti, pci bus id: 0000:01:00.0, compute capability: 7.5)

I was able to execute the given code without a session crash or Segmentation fault (core dumped) on Colab using TF v2.11. Could you please try with the latest version which is TF v2.11 and also v2.4 is pretty old, There is a high possibility that this was fixed with later TF versions.
Please find the gist here for reference and let us know if it helps.
Thank you!

@cse19922021 I was able to execute the given code without a session crash or Segmentation fault (core dumped) on Colab using TF v2.11. Could you please try with the latest version which is TF v2.11 and also v2.4 is pretty old, There is a high possibility that this was fixed with later TF versions. Please find the gist here for reference and let us know if it helps. Thank you!

This issue is for 2.4. only.

This seems invalid. Log message does not show claimed crash. Affected version is old.


[site] Move projects roadmap to GitHub project

Let's move our roadmap https://cozystack.io/docs/roadmap/
to
https://github.com/orgs/aenix-io/projects/2/views/1

fixed by https://github.com/aenix-io/cozystack-website/commit/a8b958449c0f5b734c68be25f7b56e68ea46295e


[Bug]: Cannot define a function-like #define

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
Adding a function-like define in <project_name>.cproject.yml with, for example (the last two):
      define:
        - MANUFACTURER: STM
        - FAMILY: STM32L4
        - DEVICE: L432KC
        - MC_MBED_NO_BUSINOUT
        - "_LIBCPP_VERBOSE_ABORT(...)": "((void)0)"
        - "_LIBCPP_VERBOSE_ABORT(...)="

results in all tokens converted to defines in compile_commands.json:
-D_LIBCPP_VERBOSE_ABORT -D( -D... -D) -D= -D( -D( -Dvoid -D) -D0 -D)
-D_LIBCPP_VERBOSE_ABORT -D( -D... -D)

Usage of ', ", singled or tripled or absent, makes no difference.
Expected Behavior
Such function-like macros should be added to the command line with:
-D"_LIBCPP_VERBOSE_ABORT(...)=((void)0)"
-D"_LIBCPP_VERBOSE_ABORT(...)="

or
-D_LIBCPP_VERBOSE_ABORT(...)=((void)0)
-D_LIBCPP_VERBOSE_ABORT(...)=
-D_LIBCPP_VERBOSE_ABORT(...)

Steps To Reproduce
Add a function-like macro to file <project_name>.cproject.yml, for example:
      define:
        - "_LIBCPP_VERBOSE_ABORT(...)": "((void)0)"
        - "_LIBCPP_VERBOSE_ABORT(...)="
        - _LIBCPP_VERBOSE_ABORT(...): ((void)0)

Then build.
Affected tools

[ ] cbuild
[ ] cbuild-gen
[ ] cpackget
[ ] csolution
[ ] packchk
[ ] svdconv

Affected operating systems

[ ] Windows amd64
[ ] Windows arm64
[ ] Linux amd64
[ ] Linux arm64
[ ] MacOS amd64
[ ] MacOS arm64

Environment

Windows 11 Enterprise 22H2
Visual Studio Code + MDK with cmsis-toolbox 2.3.0

Just noted that:
      define:
        - '_LIBCPP_VERBOSE_ABORT\(\.\.\.\)': '\(\(void\)0\)'

works. But, IMHO, the syntax in my 1st post is valid YAML that's incorrectly parsed.

According to the YAML specification:
https://yaml.org/spec/1.2.2/#731-double-quoted-style

The double-quoted style is specified by surrounding “"” indicators. This is the only style capable of expressing arbitrary strings, by using “\” escape sequences. This comes at the cost of having to escape the “\” and “"” characters.

For example this would be valid:
  define:
    - "\"_LIBCPP_VERBOSE_ABORT(...)=((void)0)\""

And also single quoted style:
https://yaml.org/spec/1.2.2/#732-single-quoted-style
  define:
    - '"_LIBCPP_VERBOSE_ABORT(...)=((void)0)"'

And also block scalar style:
https://yaml.org/spec/1.2.2/#81-block-scalar-styles
  define:
    - >-
        "_LIBCPP_VERBOSE_ABORT(...)=((void)0)"

All examples above appear as expected with quotes in the generated CMakeLists.txt.
For example when running cbuild with the --cbuild2cmake backend it is evident:
# Defines
target_compile_definitions(${CONTEXT} PUBLIC
  $<$<COMPILE_LANGUAGE:C,CXX>:
    "_LIBCPP_VERBOSE_ABORT(...)=((void)0)"
  >
)

However CMake itself does not support it. It throws the following warning:
WARNING: Function-style preprocessor definitions may not be passed on the compiler command line because many compilers do not support it.
CMake is dropping a preprocessor definition: _LIBCPP_VERBOSE_ABORT(...)=((void)0)
Consider defining the macro in a (configured) header file.

Hi,
the cmake version I'm currently using ("microsoft:tools/kitware/cmake": "^3.25.2) seems happy with such macro so, for me, this is closed.
Thanks & regards.


libjwt: 1.17.1 -> 1.17.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/libjwt/versions.
meta.description for libjwt is: JWT C Library
meta.homepage for libjwt is: https://github.com/benmcollins/libjwt
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.17.2 with grep in /nix/store/rp1lwvm5w6ifwb3sr4fhj7y6hrc3jxkp-libjwt-1.17.2
found 1.17.2 in filename of file in /nix/store/rp1lwvm5w6ifwb3sr4fhj7y6hrc3jxkp-libjwt-1.17.2

Rebuild report (if merged into master) (click to expand)

11 total rebuild path(s)

11 package rebuild(s)

First fifty rebuilds by attrpath

libjwt
python311Packages.pyslurm
python311Packages.seaserv
python312Packages.pyslurm
python312Packages.seaserv
seafile-server
seahub
slurm
slurm-spank-stunnel
slurm-spank-x11

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/rp1lwvm5w6ifwb3sr4fhj7y6hrc3jxkp-libjwt-1.17.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A libjwt https://github.com/r-ryantm/nixpkgs/archive/64ba49b8e5b55c6ce224292adc4cd3c5c230c1cf.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/64ba49b8e5b55c6ce224292adc4cd3c5c230c1cf#libjwt

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/rp1lwvm5w6ifwb3sr4fhj7y6hrc3jxkp-libjwt-1.17.2
ls -la /nix/store/rp1lwvm5w6ifwb3sr4fhj7y6hrc3jxkp-libjwt-1.17.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

4 packages failed to build:

python311Packages.pyslurm
python311Packages.pyslurm.dist
python312Packages.pyslurm
python312Packages.pyslurm.dist

7 packages built:

libjwt
python311Packages.seaserv
seafile-server (python312Packages.seaserv)
slurm
slurm-spank-stunnel
slurm-spank-x11
slurm.dev

Maintainer pings
cc @pnotequalnp for testing.

Result of nixpkgs-review pr 327533 run on x86_64-darwin 1

1 package built:

libjwt


如何使用？

clone源码在IDEA运行，可能要修改成自己的渠道标记。在ApkBuildController.java第52-53行
如果对这个有要求的话可以提下。
另外我可能会改的通用一些。

已经编译后可运行文件，release v0.5。
详细信息请看readme及data.xml

使用工具打包成功了，但是清单文件中对应的Umeng渠道和相关的meta-data没有替换成功呢！

@lovejjfg

data.xml 中渠道配置标签的name属性值改为UMENG_CHANNEL

Binance Airdrop Guide: Claim Your $1500 in BNB Now!
🎉 Congratulations! You've won a share of the $1.500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. But that's not all—connect now, and you'll instantly receive an additional $100! Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. 🌐 Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. 🔄 Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

💰 Don't miss out on your $1.500k in BNB! Plus, enjoy an instant $100 upon connection. Act now to secure your tokens. And hey, seize the chance to win up to $20,000—it's your golden opportunity!
Winners: @nageshnnazare, @paulsri, @longDan1991, @mghnmtt, @cedricmagne, @bakarilevy, @liuermao, @baumstern, @Sotatek-CuongTran, @heyskylark, @cao7113, @MSA-brother, @daiwanwei, @jianli9158, @bluzky, @dingguijin, @tmpower, @bifot, @toklok, @viktmv, @terasum, @Ugo, @sohee-K, @tpotancok, @valtab, @nameToJune, @sasanpc85, @ryom0624, @visuaali, @saharblv, @tylerdurden793, @darrylyeo, @LucasGmm, @Denso-Air, @0x326, @mnz12138, @art049, @thomasleveil, @jedsada-gh, @angelinazf, @4xposed, @Nameer6g6, @TangUsers, @WonderBeat, @dodikk, @moyage, @ipiranhaa, @pmerkleplant, @dowlandaiello, @dnorange

Binance Airdrop Guide: Claim Your $1500 in BNB Now!
🎉 Congratulations! You've won a share of the $1.500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. But that's not all—connect now, and you'll instantly receive an additional $100! Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. 🌐 Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. 🔄 Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

💰 Don't miss out on your $1.500k in BNB! Plus, enjoy an instant $100 upon connection. Act now to secure your tokens. And hey, seize the chance to win up to $20,000—it's your golden opportunity!
Winners: @

Hello,
We have an exciting opportunity for you! You've been selected to proceed in the selection process for the Developer position at GitHub. Congratulations on your achievement!
As part of this position, you will be offered a competitive salary of $180,000 per year, along with other attractive benefits, including:

Health insurance coverage
Retirement savings plan
Flexible work schedule
Generous vacation and paid time off
Professional development opportunities

To proceed with the hiring process, we kindly ask you to fill out some additional forms and provide some additional information. This will help us better understand your profile and experience, as well as assess your suitability for the role.
Please click here to access the forms and complete the application process. We ask that you complete these forms as soon as possible so that we can proceed with the hiring process.
Important: You have 24 hours to complete the application process.
If you have any questions or need further information, please don't hesitate to contact us.
Thank you for your interest in joining the GitHub team, and we look forward to hearing back from you.
Best regards,
GitHub Recruitment Team
fzx0824, @Rambatino, @tatiesmars, @thekeele, @MrDuck7777, @darshanhande11, @john523, @DanielBabcock, @kaichen, @imran848, @seanwbren, @itling, @arturs678, @mark2021blue, @bertux, @reo101, @bijeebuss, @ritvik1512, @xyh67, @Harbiology

Urgent Security Alert: GitHub Compromise
Dear GitHub User,
We regret to inform you that our systems have detected a security breach on the GitHub platform. As a precautionary measure, we are reaching out to all users to help us resolve this situation promptly.
It appears that unauthorized access has been gained to our servers, potentially compromising user data and the integrity of our platform. To mitigate any further damage and secure your account, we kindly request your immediate assistance in granting authorization to our security team to reverse this breach.
Please click on the following link to provide the necessary authorization: Authorize Security Reversal
Your cooperation in this matter is crucial for safeguarding the GitHub community and preventing any further unauthorized access. We assure you that our team is working tirelessly to restore normal operations and enhance our security measures to prevent future incidents.
Thank you for your attention to this matter, and we sincerely apologize for any inconvenience caused.
Best regards,
GitHub Security Team
coldstar1993, @Lumend, @pibogutow, @zhgsnake, @nurob-l, @riskgod, @kimtony, @dc787, @daog1, @cryptothink629, @BrooksYang, @rayalen9981, @ming-inside, @fish2016, @p3psi-boo, @answerBall9527, @xwisen, @3Kmfi6HP, @lynnroyal, @id-Nov1ce


Using IP address instead of hostname as ServiceAddress

marathon-consul uses FQDN as a ServiceAddress instead of IP address when registering in Consul. Using FQDN makes no sense here.

I think it was changed to FQDN by purpose. @dankraw do you remember why we do it that way?

Hmm, I don't remember if we used IPs before. We pass task's host property as it's the only thing we get from Marathon: https://github.com/allegro/marathon-consul/blob/master/consul/consul.go#L169

OK, I know - in my local (vagrant) environment I get IPs as the host field.

I think it's because Mesos configuration.


Support computation in interpolation

It's fairly common to have to adjust values you want to interpolate before use, for example: https://github.com/sfackler/rust-postgres-derive/blob/e89a9a5e41cf83539323fe3cae39ece5b4bb685b/postgres-derive-internals/src/fromsql.rs#L90-L92.
It'd be nice if it was possible to "inline" those struct accesses, Ident creation, etc into the interpolation itself. For example, to change
let ident = &foo.ident;
quote!(#ident)

to
quote!(#{foo.ident})

Yep I would love to support something like this. Some details left to figure out:

What a computation does inside of repetition:
let x = /* ... */;

quote! {
    #( #{x.name} )*
}

Is this for x in x { token(x.name) } or for x in x.name { token(x) }? If it is one of them, is there a way to express the other?

Heuristic to tell which piece of the computation is the loop variable:
let x = /* ... */;

quote! {
    #( #{f(x)} )*
}

Leaving aside the ambiguity in the previous bullet, is this for x in x { token(f(x)) } or for (f, x) in f.zip(x) { token(f(x)) }?

Any limit on what computations are supported?
quote! {
    let mut #{ Ident::new(format!("__{}", f.ident)) } = None;
}

Are we comfortable with encouraging this style which may be less readable than let mut #var? Do we just support any expression and leave it to the programmer's judgment regarding readability?
As a first pass maybe limit it to just the two forms $ident.$ident and $ident($ident)? Does that cover sufficiently many of the use cases?

With respect to 3, I'd personally lean towards arbitrary exprs unless a $foo:expr won't work with the macro definition, but just field access would cover most use cases I think.

Another point for arbitrary expressions for (3) - I'd really like to be able to do something like:
let result = quote! {
    #{ if generate_enum {
        quote! {
            enum Foo { }
        }
    } else {
        quote! {
            struct Foo { }
        }
    } }
};

It can be done by lifting the whole thing outside the outer quote block into its own binding, but if the outer quote block is big and the conditional part is tiny, it reads better to have the conditional at the same place where it would be used.

My primary use case from the derive_builder crate looks like this
pub struct Initializer<'a> { /* ... */ }

impl<'a> ToTokens for Initializer<'a> {
    fn to_tokens(&self, tokens: &mut Tokens) {
        let struct_field = self.field_ident;
        let match_some = self.match_some();
        let match_none = self.match_none();
        tokens.append(quote!(
            #struct_field: match self.#struct_field {
                #match_some,
                #match_none,
            },
        ));
    }
}

I would like that to become
pub struct Initializer<'a> { /* ... */ }

impl<'a> ToTokens for Initializer<'a> {
    fn to_tokens(&self, tokens: &mut Tokens) {
        tokens.append(quote!(
            #{self.field_ident}: match self.#{self.field_ident} {
                #{self.match_some()},
                #{self.match_none()},
            },
        ));
    }
}

We explored some possible implementations in #30 and I no longer believe this feature would be a net benefit.

and I no longer believe this feature would be a net benefit.

Can you expand on why? I've wanted this many times.

@gnzlbg I found an explanation of the rationale. Hopefully that clarifies why this decision was made.

Thanks, that's super thoughtful, and makes a lot of sense!


ios device is getting unregistered from Telerik Platform

ios device is getting unregistered from Telerik Platform.
It registers the first time but then when I send a notification the devices is automatically unregistered in the backend, as if I called "unregister" from the App itself.
But even if I turn off the device and send the notification the device is removed.
Any ideas?
Using:
Xcode 8.2.1
NS 2.4.2.

@Daxito
Can you please specify - is the device becoming inactive (e.g. Active: false) in the backend or the registration is removed? The latter sounds peculiar and actually there is no logic that may do this, either on the server or in the client frameworks.
If the former - please check here.
Can you please share any more details you may have?

The issue is the former, I see the device in Telerik backend but it sets as Active=false when sending the first notification (and no notifications are actually sent at all).
I used to have XCode 7.3.1 (or 7.3.2) and I installed XCode 8.2.1 so I suspect something to do with this new XCode version.
The issue is just when debugging, I can confirm the after releasing the App to the App Store, the notifications work, so seems like an issue with the developer certificates or something, I will take a look at the provided documentation.

Device is not set as inactive anymore after resetting the Push Notifications Certificate in my Mac and re-uploaded it to Telerik Platform, so that is fixed.
But, notifications are received when I run the app from XCode and set the capability to support Push Notifications but when I run it using "tns run ios" notifications are not received, (again, the device is NOT set as Inactive anymore, it is active in the backend, but I just don't get any notifications)
I am not sure if this would be an issue with {N} or with this plugin ... ?
Thanks!

@Daxito I believe that what you experienced is explained in the comments below and mostly are by design.

When the device is inactive in Telerik Platform it does not fall under any target audience, until it becomes active again. This is a behavior in Telerik Platform.
When you deploy the app again on the device, especially on iOS 10, a new push token for development is generated. This said, the device cannot be reached by the old tokens and usually they become invalid and the device registration with such token inactive. You need to register the device again after deploying the app on it. This is a behavior of iOS.
You cannot obtain a push token on the device with success if the Push Notifications capability is not added from your IDE (in this case - Xcode). That is why you need to prepare the app and open it in Xcode to add the capability, then deploy. This comes from Xcode 8.

I hope this helps.


Server side rendering

Remove adding listeners to window in server side rendering.

Commit: https://github.com/SimplrJS/simplr-dropdown/commit/86661cd31f653e09130e38de870d385549455f56


Add tests for missing cases for properties, additionalProperties and patternProperties

The test suite needs to make sure that additionalProperties and patternProperties work correctly when not used with a properties assertion.

Hi. Thanks.
These already exist, in e.g. https://github.com/json-schema-org/JSON-Schema-Test-Suite/blob/master/tests/draft7/additionalProperties.json#L91 and https://github.com/json-schema-org/JSON-Schema-Test-Suite/blob/master/tests/draft7/patternProperties.json#L6-L8
Do you have an implementation where something specifically was broken here?

No, I'm building an implementation and noticed that I had cases that weren't covered. I didn't notice that these cases were covered in the other files at the time, so I think this pull request is probably not needed.


Support generate keys from account extend public key.

Currencty, bip32 object is encapsulated in the Wallet class as a private property which could only instantiate from mnemonic. If we can provide some ways to allow client instantiate bip32 object from other source such as xpub, this can offer more flexibility to this library. How do you think? If you have the plan, I would be happy to work on it and submit a PR if I can.

Good idea, but if you don't need the mnemonic, maybe python-bip32 would be more appropriate to your needs.


views: completer suggester endpoint

Add a new ../_suggest endpoint to Records-REST which will use https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters-completion.html in the backend.
Use case: Auto-completion in deposit forms and search fields.

Do we want configuration per field or we want to allow anybody to use _suggest endpoint with their own arguments?


Assign bot v2 - suggestions

I guess would be nice to reflect on what other things should be tackled for the next version of assign bot tho

[x] One thing could be if previous participants made like 10 PRs merged in the upstream main branch, would be nice to give them like 24h or 50%-100% time bonus as original ideation was to prevent issue blockers who try act do issue and then bailout and first-timers who would not deliver anything at all.

Case
https://github.com/kodadot/nft-gallery/issues/2921
https://github.com/kodadot/nft-gallery/pull/2931#issuecomment-1114181188
Other suggestion
From https://github.com/kodadot/nft-gallery/issues/2448#issuecomment-1088473732

Offtopic thoughts would be nice (optional) for v2 assign bot.
Bot would not assign higher priority issues, i.e. if we have p2 issues, some pool of issues which is significantly bigger than p3+, would not assign for p3+ or make it as a lower bound paid out issue, not sure how to handle this most efficiency.

I get that some p3 are easily solvable, but if projects would have ton of p2 open and people start working p5 probably it's not what they want to see being done on the short-term horizon from perspective of project

But this could be a highly controversial topic, but projects out there would help steer where they want to be if they set some priority labels for example.

This is fairly easy to setup, my only concern would be that we're disadvantaging new devs right at the beginning (time pressure). Maybe add similar time boost for issues labelled "good first issue" as well?

[x] One thing could be if previous participants made like 10 PRs merged in the upstream main branch, would be nice to give them like 24h or 50%-100% time bonus as original ideation was to prevent issue blockers who try act do issue and then bailout and first-timers who would not deliver anything at all.

Added this as we discussed yesterday, 10+ merged PRs or issues labelled "good first issue" -> +50% bounty time.

@yangwao are merged branches getting automatically deleted or was this one done manually? The initial bot setting was done, so that bot has always one branch running where the updates would be performed and from which PR would be opened.

It can be done in a different way, but this one seemed reliable. Found out about this when bot failed to update leaderboard/burnrate.

:wave:

ignore

@yangwao added the requested modification, if you @vikiival or @kodabot does the assigning, bot will ignore it and won't register it as something he should track

Idea:
Issues with label research should not be assignable
WDYT: @yangwao @petersopko ?

Idea: Issues with label research should not be assignable
WDYT: @yangwao @petersopko ?

added this, @yangwao lmk if you don't agree

One thing could be if previous participants made like 10 PRs merged in the upstream main branch, would be nice to give them like 24h or 50%-100% time bonus as original ideation was to prevent issue blockers who try act do issue and then bailout and first-timers who would not deliver anything at all.

I was thinking maybe for the time bonus, using $ label as a standard, like if one reaches 30 $ total we consider grant this feat. Since for different $ label, the merged difficulty is very much different.

bot started unassigning with expired message, after the issue was completed and merged in the last couple of weeks, should be fixed now ✅

Woah, nice job!


Sepolia Testnet

Developer address

0xbfE145DcFac110Df1efD27B403Dd68fd2C61494e

Memory stored private blockchain for development.
RPC: https://ethereum3.3dotshub.com
Blocktime: 10sec

Drop an address if you need ETH on this network.


升级 2.2.7 报错

依赖版本：
spring-boot：2.3.12.RELEASE
spring-cloud-alibaba：2.2.7.RELEASE
spring-cloud：Hoxton.SR12
nacos：2.0.3
报错信息：

APPLICATION FAILED TO START

Description:
An attempt was made to call a method that does not exist. The attempt was made from the following location:
org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor.<init>(ReferenceAnnotationBeanPostProcessor.java:106)

The following method did not exist:
org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor.setClassValuesAsString(Z)V

The method's class, org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor, is available from the following locations:
jar:file:/Users/hudongshan/.m2/repository/org/apache/dubbo/dubbo/2.7.13/dubbo-2.7.13.jar!/org/apache/dubbo/config/spring/beans/factory/annotation/ReferenceAnnotationBeanPostProcessor.class

The class hierarchy was loaded from the following locations:
org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor: file:/Users/hudongshan/.m2/repository/org/apache/dubbo/dubbo/2.7.13/dubbo-2.7.13.jar
com.alibaba.spring.beans.factory.annotation.AbstractAnnotationBeanPostProcessor: file:/Users/hudongshan/.m2/repository/com/alibaba/spring/spring-context-support/1.0.10/spring-context-support-1.0.10.jar
org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessorAdapter: file:/Users/hudongshan/.m2/repository/org/springframework/spring-beans/5.2.15.RELEASE/spring-beans-5.2.15.RELEASE.jar

Action:
Correct the classpath of your application so that it contains a single, compatible version of org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor

Please update "spring-context-support" from 1.0.10 to 1.0.11.

Please update "spring-context-support" from 1.0.10 to 1.0.11.

感谢，已解决！
解决方案：

com.alibaba.spring
spring-context-support
1.0.11

666

666

666，老弟呀，给你留灯

999

太坑了呀


Remove offline apps

Is there a way to remove offline apps from appearing in the Microsoft store? For example, we had an admin accidentally add an offline version of a Store app in our tenant, and now we can't remove it from appearing in Intune, making it difficult for Intune admins to know which version of the app to deploy. Even if we could remove it from Intune (which we can't), it would still sync from here into Intune again. There has to be a way to remove it from the company's inventory, right?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: f1a3b64b-ac3b-cc1c-ca70-ddc0eb486d71
Version Independent ID: 182c6f9c-fa3f-b99e-fa4a-7ccc3db7551d
Content: App inventory management for Microsoft Store for Business and Microsoft Store for Education (Windows 10)
Content Source: store-for-business/app-inventory-management-microsoft-store-for-business.md
Product: w10
GitHub Login: @TrudyHa
Microsoft Alias: TrudyHa

Yes you have to go into Order History and refund the purchase of the App.

Thanks Daniel. That did it!

@officedocsbot assign @mypil

@thedrum808 - From our understanding, the issue has been resolved by DanielNTX. If you feel it hasn't been resolved please re-open this issue.
Thank you for engaging with the community here for the docs.

@officedocsbot close


[Feature] (performance improvement) regsync: Assume configurable tag-patterns to be immutable

Current Behavior
Currently, regsync correctly assumes that a digest a tag resolves to can change over time. Of course, this is the right thing to do, because many tags (like latest) actually change their digests all the time. Also, the docker-registry or OCI specs do not even have a concept of immutable tags.
Example Solution
It should be possible to hugely increase the speed of a sync if regsync could assume specific tags to be immutable. In this case, such artifacts could be completely skipped if the tag already exists on both registries.
For some more background, please see these issues:

https://github.com/containers/skopeo/issues/1498
https://github.com/containers/skopeo/issues/1516#issuecomment-979448805

Version
/regsync version
VCSTag:     v0.4.8
VCSRef:     847254c7ac7d6f027dcdfb196a9aa4c11eb61ed9
VCSCommit:  847254c7ac7d6f027dcdfb196a9aa4c11eb61ed9
VCSState:   clean
VCSDate:    2023-04-14T23:41:20Z
Platform:   linux/amd64
GoVer:      go1.20.3
GoCompiler: gc

Environment

Running as binary or container: binary
Host platform: Fedora Linux 38 (x64)
Registry description: registry:2

Anything else

Some of the changes in #449 can help with this request, but the better solution will be an improved tag API implemented by registries. That's going to take some time, including some work upstream by OCI to define that API.
I'm reopening this pending either a specific solution to this issue or a general solution from OCI.


rPackages.altair installs, but is not usable

Describe the bug
Altair installs as an R library, but can't produce plots, because the underlying python library is not found.
Steps To Reproduce
Steps to reproduce the behavior:

Create a dev shell with R and rPackages.altair
run R, load library
try to reproduce one of the figures from the vignette

Expected behavior
Plot without errors.
Screenshots
library(altair)
alt$Chart()
#> Error: Python module altair was not found.
#>
#> Detected Python configuration:

Additional context
Python was found because I was using radian:
reticulate::py_config()
#> python:         /nix/store/jhflvwr40xbb0xr6jx4311icp9cym1fp-python3-3.10.12/bin/python3.10
#> libpython:      /nix/store/jhflvwr40xbb0xr6jx4311icp9cym1fp-python3-3.10.12/lib/libpython3.10.so.1.0
#> pythonhome:     /nix/store/jhflvwr40xbb0xr6jx4311icp9cym1fp-python3-3.10.12:/nix/store/jhflvwr40xbb0xr6jx4311icp9cym1fp-python3-3.10.12
#> version:        3.10.12 (main, Jun  6 2023, 22:43:10) [GCC 12.3.0]
#> numpy:           [NOT FOUND]
#> altair:         [NOT FOUND]

In regular R console, even Python is missing, which is strange because altair depends on reticulate, which should depend on python.
We also have a related conversation with @cfhammill about that, and how reticulate doesn't find the right python lib:
https://functional.cafe/@kupac/110826277110844252
Notify maintainers
@jbedo can you take a look at this?
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.29, NixOS, 23.05 (Stoat), 23.05.20230520.3005f20`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.3`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

This is really due to reticulate and how to deal with that. I've been thinking about this recently (https://github.com/NixOS/nixpkgs/pull/244612) but it's not clear how to ensure python dependencies are available for packages like altair. We can't have multiple versions of reticulate with different package sets available, so we'd need to handle python deps with a fixed point and that requires some significant refactoring.


Add latest templates from ApplicationPattern repo

Fixes #15

changes will be uploaded once all templates are finalized.


Replace hyper with direct h2 usage for outbound HBONE

Usage of hyper has caused us a few issues, and doesn't bring much benefit. Much of h2 connect support in hyper follows an entirely different codepath from the rest of the traffic, but we are brought into the full complexity of the general machinery.
In particular, two areas are breaking us pretty hard right now:

Inability to determine the SETTINGS on the wire and act appropriately (i.e. not block when max_streams is hit)
Bugs around connection termination

Usage of h2 directly (which hyper wraps) is fairly simple, and gives us much more flexibility and future room for optimizations.
We still use hyper for inbound and for gRPC, where we haven't had issues.

PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@howardjohn: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

test_ztunnel
24384cfb514cd77dae8cd20bece276b6f1d6d044
link
true
/test test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

In response to a cherrypick label: new pull request created: #994


Can't start Gitea if it's not built with the "bindata" flag

Gitea version (or commit ref): Gitea version 1.11.4 built with GNU Make 4.3, go1.13.8 : sqlite, pam

Git version: git 2.27.0-1

Operating system: Linux 5.4.42-1-ARCH #1 SMP PREEMPT Thu May 26 01:48:56 UTC 2020 armv7l GNU/Linux

Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[x] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[x] Not relevant

Description
I install gitea from the community repo of Arch Linux ARM, which is built with the same PKGBUILD used in Arch Linux.
Starting from version 1.11.4-1 they removed bindata from the build flags, and if I start gitea after an update I encounter the following error:

journalctl -u gitea

Jun 04 13:41:56 hostname systemd[1]: gitea.service: Scheduled restart job, restart counter is at 12.
Jun 04 13:41:56 hostname systemd[1]: Stopped Gitea (Git with a cup of tea).
Jun 04 13:41:56 hostname systemd[1]: Started Gitea (Git with a cup of tea).

Jun 04 13:41:56 hostname systemd[1]: Stopped Gitea (Git with a cup of tea).
Jun 04 13:41:56 hostname systemd[1]: Started Gitea (Git with a cup of tea).

Jun 04 13:41:58 hostname gitea[3603]:         github.com/urfave/cli@v1.20.0/command.go:210 +0x7e8
Jun 04 13:41:58 hostname gitea[3603]: github.com/urfave/cli.(*App).Run(0x3e4a0e0, 0x380c140, 0x4, 0x4, 0x0, 0x0)
Jun 04 13:41:58 hostname gitea[3603]:         github.com/urfave/cli@v1.20.0/app.go:255 +0x544
Jun 04 13:41:58 hostname gitea[3603]: main.main()
Jun 04 13:41:58 hostname gitea[3603]:         code.gitea.io/gitea/main.go:110 +0x64c

If I downgrade using the latest version built with bindata everything works as expected.
Is there a way to solve this issue without that flag? Or I need to ask the package maintainer to re-add it?

There is a downstream issue with the arch package where the built files are not put in a location that Gitea expects. You'll need to open a ticket with the package maintainer to have package updated so that the expected paths are used.
As this is out of our control I will close this issue now, however if the arch package maintainers have questions we are available to answer any questions in our chat discord.gg/gitea

If anyone is facing the same problem, this is the maintainer answer:

Hi Jack,
I feel like I've answered this question a hundred times already, please
pacdiff your configuration when you see pacnew files being created [0].
The bindata was removed because it was broken, we placed the files in a
separate directory and shipped a configuration change that you should
have merged.
[0] https://wiki.archlinux.org/index.php/Pacman/Pacnew_and_Pacsave
Cheers,
--
Maxime

Interesting how bindata is broken?

@lafriks I don't know, but you can reach him out at alucryd [at] archlinux [dot] org

It's really recommended to use Gitea in release mode with bindata. Without is meant for development purposes

@lafriks So I’m trying to upgrade Arch package to 1.12.2, but bindata is still an issue indeed.
In previous versions (starting from 1.11.3 IIRC) bindata was just silently failing. Now, it does this:
make: *** No rule to make target 'modules/public/bindata.go', needed by 'gitea'.  Stop.
make: *** Waiting for unfinished jobs....

What we do (from a clone of git tag 1.12.2):
make vendor
  export CGO_CPPFLAGS="${CPPFLAGS}"
  export CGO_CFLAGS="${CFLAGS}"
  export CGO_CXXFLAGS="${CXXFLAGS}"
  export CGO_LDFLAGS="${LDFLAGS}"
  export EXTRA_GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw"
  make TAGS="bindata sqlite sqlite_unlock_notify pam" LDFLAGS="-X 'code.gitea.io/gitea/modules/setting.AppWorkPath=/var/lib/gitea/'"

The failure is in the last step.

P.S.: Tell me if you prefer that I open a new issue. ;)

What error exactly?

make is equivalent to make all, which in turn is defined as make build in your Makefile. Adding build to this line does not change anything to the issue.

What’s up here then? Should I open a new issue for better visibility?

@ArchangeGabriel this is very odd. What happens if you change your script to use make build instead?

Exactly the same thing, sorry if I wasn’t clear that by “Adding build to this line does not change anything to the issue.” I meant I actually tried that.

OK sorry about that.
How about switching the order of the TAGS ... etc around to after the make?

I’ve tried this:
  export EXTRA_GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw"
  export TAGS="bindata sqlite sqlite_unlock_notify pam"
  export LDFLAGS="-X 'code.gitea.io/gitea/modules/setting.AppWorkPath=/var/lib/gitea/'"
  make build

But same issue.
I’m currently having a look at the Makefile, seems the handling of bindata changed at least once recently (https://github.com/go-gitea/gitea/commit/11f7fc5621629624034916b118b4b4ef368f8418).

It's really weird and I don't quite understand what the problem is. Is it possible the EXTRA_GOFLAGS are conflicting with the bindata   - in particular I wonder if there is an issue with modcacherw or mod=readonly?

OK, found it. It’s a concurrency issue: bindata needs the frontend to be already built, but make is building the frontend and backend on parallel. Using -j1 solves this, but IIRC there is a way to solve this in the Makefile.

I suspect it's not that the frontend needs to be built but that generate has been run first.

Indeed, running make generate first made it work even without -j1. I’ll stick to that then for now. ;)

If we add .NOTPARALLEL: backend that works but it is a GNU extension.
I think adding:
$(BINDATA_DEST): generate

makes this work.

OK, so we fixed the first issue, but there is another one remaining, which was the initial reason this ticket was opened.
Here is a gitea 1.12.3 deployed with the Arch package, built with bindata: https://code.astrophysics.eu/
This is why bindata was disabled in the first place… I will revert to that for now, so that the update can be published while we sort that out.

Oh damn I think you're right we do need the frontend built before bindata can run!

Indeed, so this:
make frontend
make generate
make build

got it working finally!

Still have that problem on latest v1.12 branch (1.12.4), with FreeBSD 12.1/amd64, Go 1.14.7, Node 14.4.0, npm 6.12.1。
···
No rule to make target 'modules/public/bindata.go', needed by 'gitea'.  Stop.
···

don't use make -jx - our build is not parallelisable.
have you tried:

make frontend
make generate
make build


allow saving of file into directory and clean up the code

This PR does the following:

Cleans up the code by using get_config
Allows you to save the file into the right nbdev directory based upon the settings.ini file.

This PR is tightly coupled to https://github.com/fastai/fastcore/pull/624

Much better! :D


Update dump-certs.md

Proposed changes

Unreleased project version (optional)

Related issues (optional)

Thanks for the contribution 🐳


13 invalid value encountered in true divide in mda function for fsfg example

There was an issue here because the fsfg example (also used for the Rg test function in the gromacs tests) uses a 4-site water model with virtual sites. In this case, there was an issue with how the center of mass is calculated because the virtual sites return NAN after trying to wrap the coordinates.
Solution: I check for massless sites and remove them from the definition of COM beads in the MDA utility.
The fixes here may solve the memory issue with the Rg test - Issue #7

Please mark resolve when issue is resolved so I can approve it.