sort: improve performance of heapSort for worst case inputs

What version of Go are you using (go version)?

$ go version
go version devel +7b872b6d95 Tue Jun 9 23:24:08 2020 +0000 darwin/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env darwin/amd64
$ go env
GOARCH="amd64"
GOOS="darwin"

What did you do?
I've implemented a faster version of siftDown for when it's expected that the root will end up in one of the lower levels. This is the likely outcome right after a "pop", since we move a former leaf to the root.
Benchmarks using an adversarial input (the one in sort_test.go) show that the new code is ~11.8% faster when using a struct with a complex Less, and ~5.5% faster when sorting ints.
My changes makes the code slower in the case when a lot of elements are equivalent (!Less(a, b) && !Less(b, a)), but this case is uncommon when the Heapsort part of sort.go is activated.
Notes
The same changes can be applied to container/heap and to runtime, assuming benchmarks support them.
benchstat results
name                          old time/op  new time/op  delta
Adversary/Using_complex_Less  49.5ms ± 0%  43.7ms ± 0%  -11.77%  (p=0.000 n=10+10)
Adversary/Using_Ints          31.3ms ± 0%  29.6ms ± 0%   -5.48%  (p=0.000 n=10+10)

There are two opened PRs for improving the heap at PR1 and PR2.

@martisch -- I understand that the amount of time spend in heapSort during a sort.Sort is minimal for typical cases. That said, not all cases are typical, and an 11% increase in performance is not negligible in those cases. I disagree that the code is complex, but I am the author, so I'm probably biased. :)
@Windsooon -- The two PRs change different things. PR1 changes container/heap, while PR2 changes sort. I purposely didn't make my changes at container/heap (yet) because it's harder to reason about the improvement there, since there is no information on how the heap will be used. For instance, if all elements are the same (if Less always returns false) then my code would make container/heap's pop about log(N) times slower. The use case in sort is more predictable, and therefore easier to reason about.

@danielf You are right that not all cases are typical but the non-typical cases are rare.

The cost for the typical case isnt free because that code will require binary size use and more icaches that before might have had more typically used code that is now flushed when it is used. When we have 0.001% usage vs normal sort then 11% is about 0.0001% speedup. The code should therefore not regress the typical case by ~0.0001% otherwise it is near a net loss in performance. Of course this is hard to measure and microbenchmarks wont show this. The tradeoff might still be ok here, I just want to point out that adding code also has negative performance side effects that microbenchmarks wont show. On the other side more code also needs more maintainence.

Hi @martisch ,

Could you share the production data that you have that shows the 0.001% usage? Thanks. (I understand it if you can't).
My point is that it's not unthinkable that there are applications where the "atypical case" happens say, 70% of the time. For the maintainers of those applications a 11% speedup might be sizeable. My point is that I'm not convinced that in all applications that call sort uniformly we have that ~0.001% of the time is spent on heapSort.

If it is true that in ALL applications we get 0.001% of sort time in heapSort, then there are easier ways to guarantee O(N log N) (with extremely high probability) worst case runtime that would use fewer lines of code to maintain, but this is another discussion. :)
In any case, thanks for your comments!

Could you share the production data that you have that shows the 0.001% usage? Thanks. (I understand it if you can't).
I cant share the raw data. It would first be to large and reveal call stacks. For context this is the relative difference of all CPU time within a fixed time window that is sampled from Googles machines running Googles own services for the sort vs heapsort portion of time (Google Wider Profiling paper: https://research.google/pubs/pub36575/). The absolute value is also tiny (I had to adjust the search to be more granular and exhasutive to even even find it). If we tune the runtime.siftdownTimer heap implementation by 0.001% it will make up for more cpu time than spend total in heapsort and thats used by nearly every go program.

My point is that it's not unthinkable that there are applications where the "atypical case" happens say, 70% of the time.
agreed but the same rationale can be applied to overoptimize any function. Its not unthinkable that there are application that would benefit from not having the heapsort fallback at all for reducing binary size. Its not unthinkable that there are applications that would benefit from a memmove implementation that is tuned for 48byte copies.  But adding more ifs to all the functions to add for specialised cases also has a negative costs for other cases.  I checked the data and actually the time spend in heapsort was mostly caused by one binary with a spike in the last days I looked over.

If there are specific applications that would benefit from a more tuned heapsort maybe they should use a tuned heapsort directly instead of sort.Sort?

If it is true that in ALL applications we get 0.001% of sort time in heapSort, then there are easier ways to guarantee O(N log N) (with extremely high probability) worst case runtime that would use fewer lines of code to maintain, but this is another discussion. :)
If it guarantees not having O(N log N) and is easier while keeping the same performance as currently I think a CL for it would be welcome.

Being locked in to an implementation because it has been overoptimized for edge cases is I think something to avoid because it blocks other implementations that give better performance overall from being introduced due to regressing some application benchmark.
I would think that the general approach to the Go standard library should be to optimize for the common case while allowing more specialized implementations to live outside the standard library.
Thats not to say I havent myself overoptimizing some functions in the past. But Im differently calibrated nowadays (probably still to much on the performance than simplicity side) and would take some of these back if I could.
Its fair to say that the datapoint I provided above is biased in many ways but it also is quite a large sample over many uses of Go. If others can share data too maybe it would show that heapsort is much more called than that data I have shows.
This is not to say there might not exist an application in the world that would benefit from this. But then there might be better ways to apply a application specific optimization and its own heap sort implementation not using an interface.

@martisch , thanks for this very comprehensive reply! I agree with most (if not all) of the points raised, but I think that most of them don't apply to this CL, so I will comment below. Of course there are terms like "code simplicity" that are subjective.
The general idea of the comments below is: The change will help few, not harm anyone, and are simple enough to be easily maintainable.

I cant share the raw data. It would first be to large and reveal call stacks.

I expected this, but I wouldn't be doing my job if I hadn't asked :)

If we improve the runtime.siftdownTimer heap implementation by 0.001% it will make up for more cpu time than spend total in heapsort and the rutime functions are used by many more (if not all) go programs. Note that the relative differences could be way off by even 10x since heapSort portion is so tiny to begin with.

I thought about doing the same changes in both container/heap and runtime, but I didn't know how to properly benchmark those, since it's unclear to me what the usual case looks like. For container/heap I guess I could benchmark with things like naive implementations of Dijkstra's algorithm, but I wouldn't be sure if that corresponds to the "typical use" by the mass of Go developers. If you can suggest a reliable way to benchmark them, I would be glad to replicate these changes! (runtime uses a 4-heap, and not a binary heap, so the code would have to be adapted for it).

My point is that it's not unthinkable that there are applications where the "atypical case" happens say, 70% of the time.

agreed but the same rationale can be applied to overoptimize any function. Its not unthinkable that there are applications that would benefit from not having the heapsort fallback at all for reducing binary size. Its not unthinkable that there are applications that would benefit from a memmove implementation that is tuned for 48byte copies.

I agree with the general idea of what you said, but:

The memmove example is at least a hyperbole when compared to this heapsort debate.
I considered the binary size aspect, but then I realized that people who need small binary sizes should not be using Go. A simple hello world in Go produces a ELF64 binary that has 2M (compare with 8.2K in C, using gcc with no flags). After stripping the binaries they go to 1.2M and 6K. My point here is not that Go produces bloated binaries, but that Go was not intended for uses where binary size is that important (I understand the performance benefits of having small binary sizes, but the difference of one extra (small) function will not strip you from them).

But adding more ifs to all the functions to add for specialised cases also has a negative costs for other cases.

My code doesn't have an "if" to decide on the algorithm. It ALWAYS uses the new function to sift down after a pop. It's NOT a specialized solution for a particular scenario.

If there are specific applications that would benefit from a more tuned heapsort maybe they should use a tuned heapsort directly instead of sort.Sort?

I agree with this sentence, I just don't see it as an argument to not make sort.Sort faster (in rare occasions) by adding one not complicated function.

Being locked in to an implementation because it has been overoptimized for edge cases is I think something to avoid because it blocks other implementations that give better performance overall from being introduced due to regressing some application benchmark.

I agree with this sentence, but I really don't think that it is a fair representation of what my CL proposes.

I would think that the general approach to the Go standard library should be to optimize for the common case while allowing more specialized implementations to live outside the standard library.

I agree with the sentence "the common case should not suffer in favor of the edge cases" (this is a little mantra that people of my field have). I also agree with your specialized implementations comment. That said, there is already an implementation of heapSort in sort.Sort. Why not make it faster? We are not making any specialized implementations.
If the idea is just maintainability than using container/heap to do the heapsort part of sort would make it way cleaner and have fewer lines of code to maintain.

Thats not to say I havent myself overoptimizing some functions in the past. But Im differently calibrated nowadays (probably still to much on the performance than simplicity side) and would take some of these back if I could.

The solution is simple AND performant. :D

This is not to say there might not exist an application in the world that would benefit from this. But then there might be better ways to apply a application specific optimization and its own heap sort implementation not using an interface.

There will be applications that will benefit from it, and there will be no applications that suffer from it, and it is a simple, small, self-contained code.

There will be applications that will benefit from it, and there will be no applications that suffer from it, and it is a simple, small, self-contained code.

That is were I disagree: there can be applications that suffer. This might not be net negative  here but any change that increases instruction size has the potential to decrease performance overall (when those instructions are executed) by evicting more useful instructions from the CPU (i)caches. That is why I have mentioned memmove before. It can be benchmarked from profiling across large pools of machines that overoptimized (lots of special cases) memmove perform better in microbenchmarks but then perform worse overall due to more icache misses (branch mispredicts can be kept lower with jumptables).

That is were I disagree: there can be applications that suffer. This might not be net negative here but any change that increases instruction size has the potential to decrease performance overall (when those instructions are executed) by evicting more useful instructions from the CPU (i)caches. That is why I have mentioned memmove before. It can be benchmarked from profiling across large pools of machines that overoptimized (lots of special cases) memmove perform better in microbenchmarks but then perform worse overall due to more icache misses (branch mispredicts can be kept lower with jumptables).

Mmm, I think that you are nitpicking it... This code (when activated, which is rare) will be called at least 12 times (because of the insertionSort optimization), and likely considerably more (the adversarial case calls it for basically the full array). A code that is called 12 times deserves to replace something else temporarily in the L1i cache. :)
Note that this code will be called all these "at least 12 times but likely way more" before any other code is run, so it's not like it is going to be inserted into L1i and bumped out of it successively.  The code that is bumped out will very likely still reside in L2 in the duration of the heapSort execution, so returning it to L1i shouldn't make the CPU pipeline suffer too much.

That is were I disagree: there can be applications that suffer. This might not be net negative here but any change that increases instruction size has the potential to decrease performance overall (when those instructions are executed) by evicting more useful instructions from the CPU (i)caches. That is why I have mentioned memmove before. It can be benchmarked from profiling across large pools of machines that overoptimized (lots of special cases) memmove perform better in microbenchmarks but then perform worse overall due to more icache misses (branch mispredicts can be kept lower with jumptables).

Mmm, I think that you are nitpicking a little bit... This code (when activated, which is rare) will be called at least 12 times (because of the insertionSort optimization), and likely considerably more (the adversarial case calls it for basically the full array). A code that is called 12 times (and likely way more) deserves to replace something else temporarily in the L1i cache. :)
Note that this code will be called all these "at least 12 times but likely way more" before any other code is run, so it's not like it is going to be inserted into L1i and bumped out of it successively.  The code that is bumped out will very likely still reside in L2 in the duration of the heapSort execution, so returning it to L1i shouldn't make the CPU pipeline suffer too much.

Mmm, I think that you are nitpicking a little bit... This code (when activated, which is rare) will be called at least 12 times (because of the insertionSort optimization), and likely considerably more (the adversarial case calls it for basically the full array). A code that is called 12 times (and likely way more) deserves to replace something else temporarily in the L1i cache. :)

It may very well be nit-picky but then the argument was absolute that this can not harm any program :)

It may very well be nit-picky but then the argument was absolute that this can not harm any program :)
I think we largely agree on the effects that can happen but disagree on where to draw the line of improving the uncommon cases in the algorithm.

I am good with this conclusion! Thanks also, this was great. :)

@danicat @martisch Do you think we should overwrite the quicksort function in an iterative version? In most case, it should be faster.

As long as it does not cause any more heap allocations you could write a prototype and post the numbers then we can start a discussion. If its a very small win it might not be worth breaking peoples tests if the order of the sort changes even if this is not a stable sort.


Client default User Agent request header

Is your feature request related to a problem? Please describe.
There are many REST APIs that are mandating http clients to provide a proper User Agent request header.
One of those APIs is Github API that reject the request that do not provide a valid User Agent request header with each request.
Describe the solution you'd like
ZIO Http client should provide a default value for User Agent request header, following the recommendations from Http 1.1 Specification

Can I take this?

Yes please!

Hi @tusharmath
I'm planning to set the default user-agent as Zio-Http-Client ${jar-version} Scala ${version}.
please let me know your feedback.

Hi @tusharmath
I'm planning to set the default user-agent as Zio-Http-Client ${zio-http-jar-version} Scala ${scala-version}.
please let me know your feedback.

Looks good to me


Refactor some bevy_reflect macros for cleanliness

Small refactor to some bevy_reflect code quality issues.

Please try to include a basic PR description and title: it makes this sort of thing much easier to review.

Merging. Please split these out and have a proper description next time though.

Looks like  #16205 should be closed in favor of this PR.


Public Room Scraping

According to the public documentation this can be gathered from: /_matrix/client/v3/publicRooms

I don't think this is a value add to the new site, however open to re-reviewing this idea in the future. I am closing for now.


Parse(Double input) fails , if CurrentCulture has NumberFormat with 'comma' instead of 'dot'

Hello,
BigDecimal Parse(Double input) => Parse(input.ToString(CultureInfo.CurrentCulture)); uses CurrentCulture to convert double into string, while next step uses BigDecimalNumberFormatInfo, which is InvariantCulture: public static BigDecimal Parse(String input) { return Parse(input, BigDecimalNumberFormatInfo); }
So, If CurrentCulture's NumberFormat is not similar to InvarantCulture, Parse + all releated tests will fail.
Example: new CultureInfo("ru-RU") has 'comma' for decimal point.

Wow. Good catch.
This same bug also existed in my BigRational library, as they share many of the same design patterns.
So thank you for that.
I pushed a new version/build of this library that includes these changes to NuGet, version 2023.1000.3.328.
Thanks for your interest in my library and for your contributions.
Feel free to close this ticket if you are satisfied, otherwise Ill swing back around in a week or so and close it if I hear nothing further from you.
.

Fixed. Thank you.


Subscriptions not Persisting

Environment

OS:  Centos7
Erlang/OTP:
EMQ:

Description
A description of the issue
Have noticed in the past week that subscriptions are not persisting.  Can subscribe with a client who's Clean Session flag is set to false, then disconnect.  When I come back after the Timeout has occured all subscriptions have been cleared.
I am using mysql authentication for this project but the lack of persistance is causing me major issues as this will be used as a message daemon for a company application.  I've used it before with projects not using mysql authentication and persistance has always remained.
Another issue that I have not tracked down the cause of - I am getting "WebSocket with error Protocol: undefined" from my emqttd console every half a second or so, and to my knowledge have no clients connecting.
Thanks,

Ignore the WebSocket with error - found the cause had a NodeRed service running on a pc that had a random mqtt client causing the error.  Persistance is still major issue.

May have found issue at hand -
emq.conf had the expiration time set to 2 hours.  Set to a longer interval and testing now.
If test comes back correctly will close issue myself.


Add "content hydration hooks" to recorded tests

Storage has a couple of tests where we'd like to upload large (>=1GB) files without bloating the size of the recordings that everyone has to sync in their repo.  We should devise a system where we can simply store a seed/size in the content on disk and have the recording turn back into that same random series of bytes when we play back the recording.

@tg-msft given recordings are going to move out of the repo, do you still see value in supporting this scenario?

There's definitely value in the scenario, but I also don't think we'll ever get around to implementing so closing for now.


Airflow: Add lineage_job_namespace and lineage_job_name macros

Problem
https://github.com/OpenLineage/OpenLineage/issues/2488#issuecomment-2027946160
Current lineage_parent_id(task_instance) macro is hard to use with Spark, it returns value in format <job_namespace>/<job_name>/<run_id>, but Spark requires passing separated options:

spark.openlineage.parentJobNamespace
spark.openlineage.parentJobName
spark.openlineage.parentRunId

Solution
One-line summary:
Added new Airflow macros lineage_job_namespace(), lineage_job_name(task) which return Airflow namespace and Airflow job name respectively.
Checklist

[X] You've signed-off your work
[X] Your pull request title follows our guidelines
[X] Your changes are accompanied by tests (if relevant)
[X] Your change contains a small diff and is self-contained
[ ] You've updated any relevant documentation (if relevant)
[X] Your comment includes a one-liner for the changelog about the specific purpose of the change (if necessary)
[ ] You've versioned the core OpenLineage model or facets according to SchemaVer (if relevant)
[ ] You've added a header to source files (if relevant)

SPDX-License-Identifier: Apache-2.0
Copyright 2018-2023 contributors to the OpenLineage project

Can I replace current example of using macros in the Airflow integration Readme with new ones? Existing one is hard to read.

We need to make sure that the Airflow provider implementation for 2.7+ has the same macros. https://github.com/apache/airflow/blob/main/airflow/providers/openlineage/plugins/macros.py

Related Airflow 2.7+ PR: https://github.com/apache/airflow/pull/38829


[WIP] Update react-native to 0.71

Details

Upgrade react-native to expensify fork based on 0.71. Most of the changes is updating the template files (which have been simplified a lot) as well as updating some libraries that were not compatible with 0.71.
The main issue I had is react-native-quick-sqlite was not compatible with 0.71 yet but was able to patch it to work based on an open PR and a few more tweaks. Once a compatible version is released the patch can be removed.
TODO:

Use expensify fork and not my personal account fork
Update peer dep version in react-native-onyx

Fixed Issues

$ GH_LINK
PROPOSAL: GH_LINK_ISSUE(COMMENT)
Tests

Build and run the app on iOS and Android. Quickly tested a few screens, but maybe someone with more product experience could validate that everything is fine.

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[ ] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[ ] I added steps for the expected offline behavior in the Offline steps section
[ ] I added steps for Staging and/or Production testing in the QA steps section
[ ] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[ ] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[ ] I included screenshots or videos for tests on all platforms
[ ] I ran the tests on all platforms & verified they passed on:

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[ ] I followed proper code patterns (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[ ] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I followed the guidelines as stated in the Review Guidelines
[ ] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] I verified that if a function's arguments changed that all usages have also been updated correctly
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

@janicduplessis Did you face any issues while building for iOS?


fixes phpunit tests and support for yaml configurations

For my taste yaml files are more suitable to hold dns records, so I made this YamlResolver that extends JsonResolver

Not counting HHVM, but Travis build is currently failing...

Sorry for mess, it was phpunit version.
Changes in this commits are:

updated phpunit to version ~6.5
updated php-code-coverage to: ^5.3
Updated tests to newer phpunit version, they now extend TestCase class
Removed build for php 5.6 (I hope we all agree on that)
Added YamlResolver with recods in yaml format
Added test for YamlResolver

I think this is a great feature to add, but the YamlResolverTest doesn't make any assertions so no part of your new feature is tested.
With regard to updating the PHP version, I was waiting on @yswery to render his verdict on when to stop coding for PHP5

YamlResolverTest extends the JsonResolverTest, so it will use tests from that class, only difference how record array is loaded - in overriden setUp method. I plan to add some tests for invalid yaml formats in future.

Maybe it would be better to merge this to version-1 branch?

this has been merged into version-1


S2S Communication

There is no way to create a connection between the servers. Alternatively, i can use a separate client on the server side, but it would mean the allocation of the new open port. Do you think this is a good solution ?
NetClient сontains a realization of P2P why not do the same for NetServer ?

Connection between servers is very rare task. But if you need this feature i will think about it :). Maybe i will merge NetClient and NetServer in one class.

@RevenantX I think this is worth considering. Implement at peer to peer. You have a very similar framework on lidgren. There NetPeer implements all the communication as one-to-many. But I liked most of your implementation.

Don't know if it is related but, in my game, i will need to send and receiva data via udp, so client and server must use  something like:
        server = new NetServer(this, 100, connectionKey);
        server.DiscoveryEnabled = true;
        server.DisconnectTimeout = 5 * 60 * 1000;
        server.Start(port);

?

Don't know if it is related but, in my game, i will need to send and receive data via udp
I don't fully understand what you mean. This library uses UDP (with reliable protocol over it) for communication.
when i put my server to a cloud hosting (like amazon ec2), would it connect successful to a client in a personal computer too?
Clients must connect to server - because they can be behind the NAT
server.DisconnectTimeout = 5 * 60 * 1000;
don't use such big timeout. Library automaticaly sends KeepAlive packets. Keep timeout in range 5 - 10 seconds ( 5000 - 10000 msec )

yes, my client connect to server, but how can my server send data to my client?

@jradesenv look at unity3d example. It very simple.
Server can send messages to any client and to all clients. You can get all connected clients on server by calling server.GetPeers().

Nice haha easy as replace NetServer by NetClient on my client hehe thanks!!!

Done (https://github.com/RevenantX/LiteNetLib/commit/9c3da93c14b3cd2b80dfdcd6fd945e389da1500e and next 5 commits)


How to preprocess the dataset ACE 2005 after downloading it from LDC?

Hi @FFTYYY , thanks for releasing your source code. For the SemEval 2018 Task 7, you guide to use the command: bash prep_data_and_env.sh . I wonder about how to preprocess the ACE_2005 dataset, as I downloaded it from LDC?

please use https://github.com/mgormley/ace-data-prep to do pre-processing and put processed json version data into ./data folder.
you can check config.py for exact folder structure

I understand. Thank you for your help.


[Maybe a bug] yankpad-insert does not work on a org src block

Hi,
Thanks very much for yankpad: a great interface over yasnippet!
I am using the latest version of it 20180324.949 and I may have found a bug.
I have an org file with the following org src block in it:
#+BEGIN_SRC org
,* bla
:PROPERTIES:
:CREATED:  [2018-03-27 Tue 13:30]
:END:

#+END_SRC

If I put the cursor into the block (or I use C-c ' and I have the cursor in the newly opened buffer) and call yankpad-insert, it fails with
mapcar: Wrong type argument: integer-or-marker-p, nil

Using debug-on-entry mapcar I get:
Debugger entered--entering a function:
  apply(debug--implement-debug-on-entry (#[(ov) "\301\302\"\207" [ov overlay-get yas--snippet] 3] nil))
* mapcar(#[(ov) "\301\302\"\207" [ov overlay-get yas--snippet] 3] nil)
  yas-active-snippets(all)
  yas--check-commit-snippet()
  yas--post-command-handler()

Is something happening only on my system?
I am running on Mac OS X with Emacs 25.1.2
P.S: I did not have chance to dive into the elisp yet, but I can give a look during the week if there is not an easy answer

Hi! It sounds like a bug, though I'm not sure if it is with yankpad or with yasnippet. I have no problem triggering snippets when the point/cursor is in a src-block. Does it fail directly after you use M-x yankpad-insert, or do you get to choose a snippet first? If so, what does that snippet look like? Do you have an active yankpad-category in the file?

Okay, after some experiments it seems that yankpad is okay. Removing this set (or better header :) of snippets:
* COMMENT latex-mode
** ar: latex arrow
\$$1 \xrightarrowx{$2} $3\$
** par: latex paragraph (nice for definitions)

\begin{paragraph}
{${1:Definition}}

{\addtolength{\leftskip}{2mm}

$0

}

\end{paragraph}

everything works normally again. I have the feeling that yasnippet syntax has changed slightly as these snippets were working fine earlier.
Thanks!


Add alertmanager and grafana for openebs-monitoring

Why is this change necessary ?

To add support for alertmanager and grafana
To isolate run time requirements like env variables in separate configmap

How does this change address the issue ?

Add configuration and deployment files for alertmanager and grafana
Some rules are defined for alerting purpose for various resource usage

How to verify this change ?

Run kubectl create -f openebs-monitoring/configs
Run kubectl create -f openebs-monitoring/alertmanager.yaml
Run kubectl create -f openebs-monitoring/prometheus-operator.yaml
Run kubectl create -f openebs-monitoring/grafana-operator.yaml
After running the above commands successfully  you will be able to see the
created deployments and services.
Run kubectl get svc and note down the forwarded ports for the
prometheus, grafana and alertmanager.
Run kubectl cluster-info to get the node IP
Now launch NodeIP:NodePort (the Ports for the services) in your
browser and you will be able to see the UI for the respective services
at the different ports.

What side effects does this change have ?

your node may crash, if you have exhausted the resources, to avoid
this situation, increase the  size of RAM  and underlying storage.

Other details
fix: #326, #736

<!--
**What this PR does / why we need it**:

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

@AmitKumarDas No , i will add this in Readme.


Add support for detecting React.js and also BSD-2-Clause-Patent

The Apache Foundation, and many other organizations, do not accept software licensed under the license used by React, aka BSD-2-Clause-Patent (former name BSD+Patent).  Yet this is OSI-approved.  Thus, it'd be really useful if licensee could specifically detect this case, because of this issue.
As far as SPDX name goes, that's what is listed here:
https://opensource.org/licenses/BSDplusPatent
https://opensource.org/licenses/BSD-2-Clause-Patent
More info:
https://issues.apache.org/jira/browse/LEGAL-303

Correction - BSD+Patent is different from what React.js uses.  I'm trying to find out the SPDX license expression that would represent React.

@david-a-wheeler This Gem simply vendors the licenses curated by choosealicense.com. If you follow the instructions to add a license there, this plugin should automatically get support for detecting it.

Ah, thanks!  That should handle the "BSD-2-Clause-Patent" case, since that's just a specific text file.
Confusingly, the React license is not the same as "BSD-2-Clause-Patent", even though some people refer to the React.js license as "BSD+Patents".  I'm on the SPDX legal team mailing list talking about this; bug 1292 from 2015 proposed referring to the React.js license as "(BSD-3-Clause AND FB-Patents-2.0)".  This would require some tweaks to "licensee", because the text of FB-Patents-2.0 is contained in a separate PATENTS file (so licensee would have to look at that file to detect it).

Regarding use of BSD-3-Clause alongside a PATENTS file, I'm inclined to do nothing for now, ie close this issue. Anyone who cares about that situation can look for a PATENTS file separately.
But to throw out a potential hacky fix that I'm not endorsing: we could treat PATENTS as another potential license file. For the React situation, multiple licenses will be found so that 'other' is reported at the top level, and the existence of multiple license files would be reported.
Note that for the main react repo, that's what happens anyway (less reporting of PATENTS as one of the files), because it has LICENSE- files in addition to the main LICENSE (also the main LICENSE isn't detected because licensee has gotten stricter and it has some extra text).
$ script/git-repo https://github.com/facebook/react
License: Other
Matched files: ["LICENSE", "LICENSE-docs", "LICENSE-examples", "README.md"]
LICENSE:
  Content hash: 2e9614c6ac69728cffdc94333a47996a37fba275
  License: Other
  Closest licenses:
    * NCSA similarity: 63.93%
LICENSE-docs:
  Content hash: fb843d5c1df14520a512c1e31bfd7243ab55531a
  Confidence: 99.65%
  Matcher: Licensee::Matchers::Dice
  License: Creative Commons Attribution 4.0
  Closest licenses:
    * CC-BY-4.0 similarity: 99.65%
LICENSE-examples:
  Content hash: 66a44d2f0698902fa60865b3fefcc1aee2d8f650
  License: Other
README.md:
  Content hash: f0ed546ebed0ccf72013862e25b4325ff5ee93f2
  License: Other

Anyone who cares about that situation can look for a PATENTS file separately.

True.  But anyone who cares about these situations could also just read every LICENSE file by hand (!).  The great thing about licensee is that it detects & reports common cases in a format that is way easier to understand.
Looking at PATENTS as another license file isn't crazy, because it really is another file stating license terms.  It's not clear if the specifics you list would help.

Fair enough, it's another file stating license terms. Maybe the right thing to do is to treat PATENTS as a potential license file, but not actually try to match it to any license (putting any of the licenses we know of in that file wouldn't make sense). So licensee would report its existence if it exists, and if it exists alongside another LICENSE file, licensee would report 'other' at the top level even if LICENSE matched a known license.

That's an interesting idea - in particular, it's really easy to implement as a starting point, and that makes it clear that there's something different going on.
Instead of OTHER, if possible, it'd probably be better to report "(x and OTHER)" where "x" is what licensee normally reports (if that's possible).  So React.js would report as "(BSD-3-Clause AND OTHER)" or something like that.  When I filed this issue I thought that SDPX already had something assigned to the React clause, but that turns out not to be the case.  Until SPDX makes such an assignment, "OTHER" is a decent answer, and once SPDX makes an assignment, licensee could be enhanced to provide that kind of info.

If licensee finds multiple license files it reports 'other' at the top level, and enumerates each license file (and license detected in file, if any) found. See the example output above.
It'd be nice if it could report at the top level an SPDX expression based on the various files it found, but I'd be very wary about doing that -- unless the relationship among the files is absolutely clear, it's just going to have licensee generating false positives. FWIW there is one case in which licensee detects a single license based on multiple files -- LGPL given COPYING accompanied buy COPYING.lesser.

In that case, reporting "OTHER" at the top does seem like the right way to go.
So the (meta)rule becomes: "If you see a file named PATENTS, report OTHER".  Probably ought to cover PATENTS.txt and PATENTS.md for consistency.
It's a simple rule, but it has a big plus: It means that people will know to look for more information.  99% of the time, if there's a BSD-3-Clause license, I just want to know that & move on (because my risk is low) - this change would mean that I could quickly detect the "something odd is happening" case, and then look at the details to try to understand it better.  A file named PATENTS might not impose any additional requirements, but at least I'll know to check it out.

Fyi, top story today in hacker news is that Facebook will not relicense React: https://news.ycombinator.com/item?id=15050841

Glad to implement a fix, just trying to get a sense of where things landed.

Option 1: Treat PATENTS as a potential license file, meaning if LICENSE and PATENTS are both present, we'll return other for Project#license, Project#licenses would return [BSD, OTHER], and Project#license_files would return both LICENSE and PATENTS, etc.

Option 2: Special case that if a PATENTS file exists, we always return other. In this implementation, would license and licenses both return other, even if the license file can be determined? Would the patent file be returned as a license file?

I was thinking of option two, but option one looks pretty decent too. Either approach is better than what's there now. Does anyone have a preference?

I was thinking of option one as it's transparent to the command line or library user and doesn't lead to questions asked about option 2, but either is fine with me.


learn.predict with list of texts

Adds the possibility to pass a list of texts to .predict.

For some reason doing:
idxs.new(samples)

is breaking the kernel, so I instead did the following:
retain_type(torch.cat([idxs_all, samples], dim=-1), idxs)

It's now also possible to pass 2d tensors to predict =D

Thanks for your PR.
I have mixed feelings on this one: Learner.predict does not work on a list of items across applications but mostly, I am not sure the results will be great: the padding token you pass along as never been seen during the training of the language model, so I'm not sure it gives better results (compared to separate predict calls).

Excellent point about the padding tokens, the model only really sees them when training on the downstream tasks
I'm totally ok if you decide to not merge this one =)

Can I ask for a bit of advice? In my application I need to perform some form of batch prediction (because of speed)
Since using padding tokens can confused the model, do you have any suggestions on how to properly do this?

Actually, in my case the sequences will always have the same length 😁

Then in that case it's easy ;)
For a more general approach, if you had texts of different lengths and wanted to do batch predictions, my strategy would be to add some random padding between documents in the LMDataLoader so that the model has been trained on that token.
Note that it's not even used in the downstream task now, as we completely ignore padding in v2. So the model never learns anything about that token.
Re- the PR. I'm going to close this if you don't mind as this a bit too ad hoc. You can patch it to Learner for your application and gist the code + share it on the forum if you think it would be useful for other users.


async activity and nwc refresh

this is yet another attempt to make activity sync non-blocking of the overall page load
seems to be working fine on my machine but I don't have enough activity to cause laggy loads
also I made it so pendingnwc updates the same way

Works for me!


once-event-listener: Supported in Chrome 55+

https://bugs.chromium.org/p/chromium/issues/detail?id=615384
https://twitter.com/paul_irish/status/770782236178210816

Cool, thanks!


Feature request, support multi url for HA

Is it make sense to support multi hdfs url config, in some case, the Hadoop is only configured as ip, and right now there is only one url can be set:

And for HA purpose, if this config can accept a url array, will be better, like this:
PUT _snapshot/my_hdfs_repository
{
  "type": "hdfs",
  "settings": {
    "uri": ["hdfs://<IP_ADDRESS>:8020/","hdfs://<IP_ADDRESS>:8020/"],
    "path": "elasticsearch/repositories/my_hdfs_repository",
    "conf.dfs.client.read.shortcircuit": "true"
  }
}

The current hdfs repo does support HA namenode, though it must be configured to do so through the available HA configurations for HDFS, namely the dfs.nameservices property and all related configurations to it. This is the only way for accessing HA namenode services via the HDFS Repository as the configurations are same across both the Hadoop deployment and the repository definition.
FYI, In the future, hdfs repository issues should be opened on the Elasticsearch repository, since that is where it lives now a days.

Is it make sense to support multi hdfs url config, in some case, the Hadoop is only configured as ip, and right now there is only one url can be set:

And for HA purpose, if this config can accept a url array, will be better, like this:
PUT _snapshot/my_hdfs_repository
{
  "type": "hdfs",
  "settings": {
    "uri": ["hdfs://<IP_ADDRESS>:8020/","hdfs://<IP_ADDRESS>:8020/"],
    "path": "elasticsearch/repositories/my_hdfs_repository",
    "conf.dfs.client.read.shortcircuit": "true"
  }
}

did u able to setup multi hdfs url config ?

The current hdfs repo does support HA namenode, though it must be configured to do so through the available HA configurations for HDFS, namely the dfs.nameservices property and all related configurations to it. This is the only way for accessing HA namenode services via the HDFS Repository as the configurations are same across both the Hadoop deployment and the repository definition.
FYI, In the future, hdfs repository issues should be opened on the Elasticsearch repository, since that is where it lives now a days.

could you explain this more elaborate


ODC-7583: Add filter to fetch from cluster and tekton results in PipelineRun list pages

Story:
https://issues.redhat.com/browse/ODC-7583
Video:
https://drive.google.com/file/d/1FUmMP_Kf571eClyjrJYHXshqu0qNpJ3W/view?usp=drive_link
Description:

Added another filter group for the PipelineRun list pages which will have 2 options, one is to fetch live data from cluster and another one is to fetch archived data from tekton results.

If Tekton Results is not installed, then the data source filter group will not be visible

By default, cluster data source will be selected

Changes are done in below pages
a) PipelineRun list page
b) PipelineRun list page tab in Pipeline details page
c)  PipelineRun list page tab in Repository details page

/cc @koustavsaha

Hi @vikram-raj ,
Updated the PR based on review comments. PTAL.


[SPARK-33548][WEBUI] display the jvm peak memory usage on the executor ui

What changes were proposed in this pull request?
display the jvm peak memory usage on the executors page to help user tune "spark.executor.memory" and "spark.executor.memoryOverhead"
Why are the changes needed?
Peak Execution Memory can only be obtained through restAPI and cannot be displayed on Spark Executors UI intuitively,
although spark users tune spark executor memory are dependent on the metrics. Therefore, it is very important to display the peak memory usage on the spark UI.
Does this PR introduce any user-facing change?
NO
How was this patch tested?
The pr only involves minor changes to the page and does not affect other functions,
The manual test results are as follows.

Can one of the admins verify this patch?

cc @cloud-fan
Please review this patch, many thanks!

cc @gengliangwang and @sarutak FYI

@JQ-Cao These metrics are already on the executor page.  They will show up after select the additional metrics checkbox:

BTW, the style of the screenshot is messy. I just created https://github.com/apache/spark/pull/30500 to fix it.

@JQ-Cao These metrics are already on the executor page. They will show up after select the additional metrics checkbox:

yes, i find it, thanks


Adds support for the swift programming language

I found a way to contribute back :+1:

Thanks @orta!


Next.js Turbopack Fails to Import Custom Admin Components

Describe the Bug
When running a Next.js app with the --turbo flag, Payload CMS has an issue where server-relative imports (like '/components/null') in the admin config cause a module resolution error. This happens with components like the avatar and logout button.
Error Message

Thank you for your time and support!
Link to the code that reproduces this issue
https://github.com/erdemdev/next-supabase-payload-test
Reproduction Steps

Use the following Payload CMS configuration and custom component:
//payload.config.ts
import path from "path";
import { fileURLToPath } from "url";
import { buildConfig } from "payload";

const filename = fileURLToPath(import.meta.url);
const dirname = path.dirname(filename);

export default buildConfig({
  admin: {
    //...
    importMap: {
      baseDir: path.resolve(dirname),
    },
    avatar: {
      Component: '/components/null',
    },
    components: {
      logout: {
        Button: '/components/null',
      },
    },
  },
});

//components/null.tsx
const Null = () => <></>;

export default Null;

Start the Next.js app with the Turbo flag:
next dev --turbo

Go to the admin dashboard.

Expected Behavior
The /components/null path should resolve correctly to the Null component.
Actual Behavior
The application throws a module resolution error, citing that server-relative imports are not yet implemented.
Which area(s) are affected? (Select all that apply)
area: core, area: ui
Environment Info
Binaries:
  Node: 20.12.0
  npm: N/A
  Yarn: N/A
  pnpm: 9.14.2
Relevant Packages:
  payload: 3.1.0
  next: 15.0.3
  @payloadcms/db-postgres: 3.1.0
  @payloadcms/email-nodemailer: 3.1.0
  @payloadcms/graphql: 3.1.0
  @payloadcms/next/utilities: 3.1.0
  @payloadcms/payload-cloud: 3.1.0
  @payloadcms/plugin-cloud-storage: 3.1.0
  @payloadcms/richtext-lexical: 3.1.0
  @payloadcms/storage-s3: 3.1.0
  @payloadcms/translations: 3.1.0
  @payloadcms/ui/shared: 3.1.0
  react: 19.0.0-rc-64f89510-20241119
  react-dom: 19.0.0-rc-64f89510-20241119
Operating System:
  Platform: win32
  Arch: x64
  Version: Windows 10 Pro
  Available memory (MB): 30649
  Available CPU cores: 4

payload generate:importmap

payload generate:importmap

I've already done that. The import map is working fine in normal dev mode, but the issue lies with Turbopack.


Python Starter Kit: Documentation refresh

Checked for duplicates
Yes - I've already checked
Best Practice Guide Category
Software Lifecycle
Best practice guide URL
Python Starter Kit
Describe the improvement
Update documentation stack with recent updates and improvements. These can include not only the documentation stack, but also GitHub workflow automation, such as security scanning.

Branched off this low complexity task from #167


doc(core): fix typos

Summary
Few typos fixed

If you can, the tests will pass if you amend the commit to have the title of this PR instead (there’s a test on the commit format, but it’s not exactly the most important obviously 😊)

@Haroenv done, thanks !


handleTranscription routes to wrong event channel

Describe the bug
Expectation
I expected the transcriptionReceived event to be received on the participant who produced the transcript, whether it's a remote or local participant.
Current Behaviour
Transcriptions for remote participants are attached to the agent when it's not the transcription for the local participant. This affects the useTranscription hook in the React library, making it seem impossible to receive transcriptions for any remote participant.
I was unable to get feedback on Slack, so I'm assuming this is not intended. I believe the routing of the packet here is incorrect for the RemoteParticipant:
https://github.com/livekit/client-sdk-js/blob/c7b7f9e701b3b484390c423fc74bf0cf04001299/src/room/Room.ts#L1521-L1525
It should not use the RemoteParticipant passed in (which is the agent), but instead use the identity to find the correct remote participant as well.
If this routing is not intended, I'd be happy to submit a PR.
Reproduction

create a livekit stt agent
use useTranscription on a trackRef of a remote participant

(reproduction is quite heavy and potentially not necessary. I would consider creating one when explicitly demanded)
Logs
No response
System Info
System:
    OS: macOS 14.4.1
    CPU: (12) arm64 Apple M2 Max
    Memory: 109.08 MB / 32.00 GB
    Shell: 5.9 - /bin/zsh
Binaries:
    Node: 20.12.2
    Yarn: 1.22.19
    npm: 10.2.1
    pnpm: 8.15.7
    Watchman: 2<IP_ADDRESS>
 Browsers:
    Safari: 17.4.1

Severity
serious, but I can work around it
Additional Information
Workaround is basically hook into the EventEngine and route the event stream manually

Thanks for the report! Yeah, this is a bug! We have some internal protocol changes pending in that regard as well so I'll include the fix for that in this update and link to the issue here.


🐞 - TuiCardLarge gap style value overrides style inside TuiBadge

Playground Link
https://stackblitz.com/edit/angular-npuuxn
Description
If you place a tuiBadge inside a tuiCardLarge, the tuiBadge will inherit the css variable value from the tuiCardLarge block, which will result in a large indentation of the icon from the text.

Angular version
18.1.0
Taiga UI version
4.5.0
Which browsers have you used?

[X] Chrome
[ ] Firefox
[ ] Safari
[ ] Edge

Which operating systems have you used?

[X] macOS
[ ] Windows
[ ] Linux
[ ] iOS
[ ] Android

We need to rename CSS variable in CardLarge

i will take it


Remember Backend Location For API Creation

When I created my function app, I selected which folder I want my front end and which I want my back end, the default is:
  - app
  - api

however, I personally prefer:
  - frontend
  - backend

and selected those folders during the static web app creation process, and it sets up the github actions based on those folders. However, when I go to later add an api to it, it creates the function in the api folder, not the specified backend folder.

We should stop hard-coding the API folder to be named as 'api'.
Settings are covered by this issue: https://github.com/microsoft/vscode-azurestaticwebapps/issues/36


[Snyk] Upgrade recoil from 0.7.0 to 0.7.5

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade recoil from 0.7.0 to 0.7.5.

:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 8 versions ahead of your current version.
The recommended version was released 2 months ago, on 2022-08-11.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

Codecov Report
Base: 94.02% // Head: 94.02% // No change to project coverage :thumbsup:

Coverage data is based on head (48e2e4f) compared to base (7db429a).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##               main     #229   +/-   ##
=========================================
  Coverage     94.02%   94.02%
  Complexity      475      475
=========================================
  Files            96       96
  Lines          1607     1607
  Branches        122      122
=========================================
  Hits           1511     1511
  Misses           56       56
  Partials         40       40

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


WIP: redesign the declarative layout APIs

In GitLab by @perarnau on Nov 7, 2018, 16:28
Closes #21.

In GitLab by @perarnau on Jan 28, 2019, 11:20
added 1 commit
efbc93b2 - [fix] various typos on new tilings
Compare with previous version
By Swann Perarnau on 2019-01-28T17:20:50 (imported from GitLab project)

In GitLab by @perarnau on Jan 30, 2019, 17:28
added 1 commit
0a4a5bf3 - [feature] double dma/layout scratch
Compare with previous version
By Swann Perarnau on 2019-01-30T23:28:27 (imported from GitLab project)

In GitLab by @perarnau on Feb 4, 2019, 16:24
added 1 commit
af6da1aa - Bugfix and associated test.
Compare with previous version
By Brice Videau on 2019-02-04T22:24:42 (imported from GitLab project)

In GitLab by @perarnau on Dec 7, 2018, 15:18
added 1 commit
a821c114 - [wip/feature] add new layout design
Compare with previous version
By Swann Perarnau on 2018-12-07T21:18:14 (imported from GitLab project)

In GitLab by @perarnau on Dec 7, 2018, 21:32
added 2 commits
5b9b77ee - Bugfix for layout.01ed44a4 - Adapted copy operators. For now transforms are expressed in row major mode...
Compare with previous version
By Brice Videau on 2018-12-08T03:32:57 (imported from GitLab project)

In GitLab by @perarnau on Dec 10, 2018, 14:24
added 2 commits
163ddf93 - [refactor] use a bitfield to add type informationab9d6617 - [refactor] better names for copy_layout functions
Compare with previous version
By Swann Perarnau on 2018-12-10T20:24:18 (imported from GitLab project)

In GitLab by @perarnau on Dec 10, 2018, 15:17
added 1 commit
55de883c - Change arguments of transform (transpose) to match those of Python and Ruby.
Compare with previous version
By Brice Videau on 2018-12-10T21:17:41 (imported from GitLab project)

In GitLab by @perarnau on Dec 10, 2018, 16:02
added 1 commit
bc476470 - Swapped column and row to match the classical notations.
Compare with previous version
By Brice Videau on 2018-12-10T22:02:06 (imported from GitLab project)

In GitLab by @perarnau on Dec 13, 2018, 10:02
added 1 commit
9c05ce63 - [feature] implement layout dense internals
Compare with previous version
By Swann Perarnau on 2018-12-13T16:02:12 (imported from GitLab project)

In GitLab by @perarnau on Dec 13, 2018, 11:15
added 1 commit
9238feb7 - Added tests for column and row major layouts.
Compare with previous version
By Brice Videau on 2018-12-13T17:15:13 (imported from GitLab project)

In GitLab by @perarnau on Dec 13, 2018, 14:45
added 1 commit
b3596fb5 - Store the pittch given by the user.
Compare with previous version
By Brice Videau on 2018-12-13T20:45:41 (imported from GitLab project)

In GitLab by @perarnau on Dec 20, 2018, 16:22
added 1 commit
ae1bdafa - Replaced copy operators by generated ones and added the generator.
Compare with previous version
By Brice Videau on 2018-12-20T22:22:56 (imported from GitLab project)

In GitLab by @perarnau on Dec 20, 2018, 16:51
added 1 commit
29bbe34e - Removed useless curly braces also.
Compare with previous version
By Brice Videau on 2018-12-20T22:51:38 (imported from GitLab project)

In GitLab by @perarnau on Jan 4, 2019, 14:59
added 1 commit
18906d99 - Fix naming inconsistencies.
Compare with previous version
By Brice Videau on 2019-01-04T20:59:49 (imported from GitLab project)

In GitLab by @perarnau on Jan 4, 2019, 15:13
added 1 commit
f9c8c2d9 - Automatic enumeration of design space.
Compare with previous version
By Brice Videau on 2019-01-04T21:13:57 (imported from GitLab project)

In GitLab by @perarnau on Jan 4, 2019, 16:30
added 1 commit
fea8a1e8 - Starting adding support for generic copy operators of layout.
Compare with previous version
By Brice Videau on 2019-01-04T22:30:15 (imported from GitLab project)

In GitLab by @perarnau on Jan 7, 2019, 11:24
added 2 commits
35420d1d - Added ndims and element_size methods to layouts.5033fe95 - Added generic copy operators.
Compare with previous version
By Brice Videau on 2019-01-07T17:24:47 (imported from GitLab project)

In GitLab by @perarnau on Jan 11, 2019, 10:05
added 1 commit
0d35405f - Refactoring.
Compare with previous version
By Brice Videau on 2019-01-11T16:05:16 (imported from GitLab project)

In GitLab by @perarnau on Jan 11, 2019, 16:08
added 2 commits
afd21ac2 - Corrected (I hope) the bit set macro...6ed9d36c - Added a padding layout.
Compare with previous version
By Brice Videau on 2019-01-11T22:08:06 (imported from GitLab project)

In GitLab by @perarnau on Jan 11, 2019, 18:12
added 1 commit
8da06a1b - Bugfix.
Compare with previous version
By Brice Videau on 2019-01-12T00:12:50 (imported from GitLab project)

In GitLab by @perarnau on Jan 12, 2019, 10:59
added 1 commit
997b420f - More rigorous asserts.
Compare with previous version
By Brice Videau on 2019-01-12T16:59:58 (imported from GitLab project)

In GitLab by @perarnau on Jan 15, 2019, 14:50
added 1 commit
a249a8ef - Added reshape operation for dense layouts.
Compare with previous version
By Brice Videau on 2019-01-15T20:50:56 (imported from GitLab project)

In GitLab by @perarnau on Jan 15, 2019, 15:15
added 1 commit
3d4fdf0a - Bugfix
Compare with previous version
By Brice Videau on 2019-01-15T21:15:36 (imported from GitLab project)

In GitLab by @perarnau on Jan 16, 2019, 14:40
added 1 commit
9d72fde5 - Added a reshaping layout to be used on padding layouts or as a fallback...
Compare with previous version
By Brice Videau on 2019-01-16T20:40:20 (imported from GitLab project)

In GitLab by @perarnau on Jan 16, 2019, 14:49
added 1 commit
5e6148d6 - Bugfix
Compare with previous version
By Brice Videau on 2019-01-16T20:49:40 (imported from GitLab project)

In GitLab by @perarnau on Jan 25, 2019, 18:10
added 1 commit
a670594b - Added dims accessor in column order for layout.
Compare with previous version
By Brice Videau on 2019-01-26T00:10:28 (imported from GitLab project)

In GitLab by @perarnau on Jan 25, 2019, 18:15
added 1 commit
695d6413 - WIP
Compare with previous version
By Brice Videau on 2019-01-26T00:15:23 (imported from GitLab project)

In GitLab by @perarnau on Jan 28, 2019, 09:40
added 1 commit
58a8b88e - [build] add libexcit as build dependency
Compare with previous version
By Swann Perarnau on 2019-01-28T15:40:36 (imported from GitLab project)

In GitLab by @perarnau on Jan 28, 2019, 10:13
added 1 commit
03db5513 - [fix] try to fix CI
Compare with previous version
By Swann Perarnau on 2019-01-28T16:13:18 (imported from GitLab project)

In GitLab by @perarnau on Jan 28, 2019, 10:23
added 1 commit
e8e71d04 - [ci] fix knl ci for excit
Compare with previous version
By Swann Perarnau on 2019-01-28T16:23:04 (imported from GitLab project)

In GitLab by @perarnau on Jan 28, 2019, 10:52
added 1 commit
93ba5f0c - Added slice operation to dense layouts.
Compare with previous version
By Brice Videau on 2019-01-28T16:52:25 (imported from GitLab project)

In GitLab by @perarnau on Jan 28, 2019, 15:19
added 2 commits
0134a289 - Added native (column) version of some functions.a4facf51 - Working version of resizing tiling with tests.
Compare with previous version
By Brice Videau on 2019-01-28T21:19:08 (imported from GitLab project)

In GitLab by @perarnau on Jan 28, 2019, 22:50
added 1 commit
4863232a - [feature] add layout-aware dma
Compare with previous version
By Swann Perarnau on 2019-01-29T04:50:35 (imported from GitLab project)

In GitLab by @perarnau on Jan 29, 2019, 13:29
added 2 commits
8aefa5e2 - [feature] add dma operator to the layout dma323fe9ea - [fix] add tests for the new dma, make it work
Compare with previous version
By Swann Perarnau on 2019-01-29T19:29:40 (imported from GitLab project)

In GitLab by @perarnau on Jan 29, 2019, 15:00
added 1 commit
87e0c55f - Added padding tiling and corrected tests.
Compare with previous version
By Brice Videau on 2019-01-29T21:00:00 (imported from GitLab project)

In GitLab by @perarnau on Jan 29, 2019, 15:46
added 2 commits
ea73d4fe - Exposed layout column api.dccfebef - Use column api for copy operators and better checks of compatibility.
Compare with previous version
By Brice Videau on 2019-01-29T21:46:09 (imported from GitLab project)

In GitLab by @perarnau on Jan 29, 2019, 15:52
added 1 commit
ff26f8c2 - Test mixing row and column layout/tiling/copy.
Compare with previous version
By Brice Videau on 2019-01-29T21:52:32 (imported from GitLab project)

In GitLab by @perarnau on Feb 4, 2019, 15:22
added 1 commit
a7b9a104 - Added tiling collapsing unused dimensions.
Compare with previous version
By Brice Videau on 2019-02-04T21:22:17 (imported from GitLab project)

In GitLab by @perarnau on Dec 7, 2018, 15:19
@Kerilk is the last commit enough for you to start building out the missing pieces ?
By Swann Perarnau on 2018-12-07T21:19:54 (imported from GitLab project)


Added support for deleted users

Does not remove accounts, just remaps profile lookups if the customType is set to DELETED. Blocks logins by these deleted users, eliminates them from search, remaps their UUIDs on prims.  Allows login of the substitute profile user account.
For GDPR support, this allows the right to be forgotten, even if viewers cache the UUID to name relationship, since this substitutes the deleted user's UUID with a dummy one for a substitute user account.  It does not remove content tagged with the old user's UUID, however it remaps those IDs on region loading to refer to the substitute deleted account.

@mdickson I'm not sure what point you're trying to make with those links. Are you suggesting that we don't need to support user account deletes at all?  I'm aware of the pseudonymization and tokenization aspects of the GDPR and that helps with most of the data we maintain.  Unfortunately it cannot be assumed that the user is using a pseudonym, and email addresses often reveal the RL identity.
This PR is the result of a discussion with Elenia where we came up with an approach to hide user accounts by substituting deleted ones with the identity of another account without removing all traces of the old accounts, because other users may be using them (e.g. purchased or received inventory items from the deleted account).  It is only the Halcyon half of the changes; the web interface to the db will obviously also need to support deletes and filtering on login, etc.
I'm aware of the pseudonymization and tokenization aspects of the GDPR.  The UUIDs of users are good enough for pseudonymization but installed viewers keep a mapping of those UUIDs to names, so the simply removing the user definition will have almost no effect for anyone with a history of interaction with the deleted account.  UUID substitution came up in the discussion with Elenia and does seem to resolve that nicely.
This PR may not go far enough with UUID substitution but I haven't been able to reproduce any cases where a viewer shows the old name, so I'll add to this with more remapping if we do encounter any such cases.

Just providing some reference material on how the GDPR defines handling leaving data in place while "forgetting" a user.  If the goal is to not delete the profile then this would be an acceptable alternative within the GDPR framwork.
YMMV

Ah yes, good.  Yeah I think for the most part all of the data is either pseudonymized or tokenized, with the two possible exceptions of name (visible to others, and usually but not always already a pseudonym) and email address (not visible to other users).  If a grid is getting an account delete request where GDPR actually applies, it is likely due to the user wanting non-editable fields on the profile to be forgotten.
This is likely the avatar name. If we prevent anyone from seeing the profile at all, there are other places the name can still show up, such as user inventory properties, rezzed object properties etc.
In order to avoid breaking in-world content associated historically with the deleted user, we don't actually want to delete all traces of the user, thus the substitution approach.  A grid can define a placeholder user account to replace "deleted" users and show where the deleted one would, thus eliminating the places where the profile of the deleted user would be referenced, or viewer name caches might present the deleted name.
Applying the substitution at the storage access level keeps the number of changes very small (i.e. we don't need to do a substitution everywhere a user's UUID is referenced).  This is especially true given that deleted users will be blocked from logging in, further reducing the scope necessary to pull this off significantly.
This PR does not address inventory properties (both user inventory and task/prim inventory) but in my testing the substitution seemed to be applied universally. If I discover it isn't, I'll take care of that case as well with a further commit, now that the pattern h

BTW, I'm trying to get the InWorldz beta grid updated with these changes for further real-world testing, but having build problems that prevent that.  May be related to having only VS2015 on that machine, or there may be a build problem in the PR (even though AppVeyor had no trouble building it).  I'm investigating.

I've fixed a copy/paste error in the code as well as one place where I was using VS2017-specific syntax ("=>" arrow syntax) which was the only thing preventing a build under VS2015 (on the IW build machine).

It's now running on the beta grid, there's a user "Jim Griefer" who has been marked with customType DELETED, he should not be searchable or show up in things. Instead, I've created "Mystery User" and all Jim Griefer references should get remapped to that account.
However, I've created two large box prims on the "InWorldz Beta  8" region border with IB7, and they show with Jim Griefer remapped to Mystery User, but the Contents items show Jim Griefer's name, as I expected but could not reproduce in local testing. So I think I'd still need another update for User inventory / Task inventory items the way I did it for the prims.  Other than that, it seems to be working. Jim Griefer cannot log in, Mystery User can (along with the other non-deleted accounts).
Not sure when I can get that followup commit posted, it may take a couple of days as I have other work to complete.

I'm going to close this PR until such time as it is complete and ready. It isn't yet.


Add missing is_obsolete field

It looks like MOD:00949 needs is_obsolete: true

I've got a PR pending that I want to get incorporated first, but yes, I see that should have is_obsolete added (and actually caught this one as I was preparing for the next update).  Thanks!

agreed


Bookmarks vs marks

Hi, thanks for the plugin. I'm using it a lot with marks (especially "asdf" marks).
However, what's the difference between regular marks and bookmarks (0-9)? I couldn't find a documentation in a glance.

There's not much of a difference. But bookmarks have the advantage of being "grouped". So you could cycle through all bookmarks of group 1 using the same key, whereas with marks, you need to remember the exact alphabetical key to jump to the mark location

ahh got it!
I need to provide my own mapping for next_bookmark0, next_bookmark1, ..., right? I can see now that there are m} and m{, but I can't see how I can access my bookmarks inside a group with the default config.


Make heroes fly on pushReplacement

Description
Before this change Heroes wouldn't fly when Navigator.pushReplacement was used because it triggered NavigatorObserver.didReplace, which was unimplemented by the HeroController.
Related Issues
Fixes https://github.com/flutter/flutter/issues/28041.
Tests
I added the following tests:

Added a regression test for https://github.com/flutter/flutter/issues/28041.

Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (Please read Handling breaking changes). Replace this with a link to the e-mail where you asked for input on this proposed change.
[x] No, this is not a breaking change.

/cc @spkersten

This (meaning Navigator and especially NavigatorObserver) really is the worst API.


Cide fails execute

Basic info
To make sure that we are on the same page:

Kernel: Linux 4.1.17 #1-NixOS SMP Sun Jan 31 19:23:48 UTC 2016 x86_64 GNU/Linux
System: 16.03pre76756.885acea (Emu)
Nix version: nix-env (Nix) 1.11.1
Nixpkgs version: (master@eaed5598592ca8ccc05d9f09abcb4a27a06f1fb4) 16.03pre-git

Describe your issue here
This is a follow-up of #13485.
pkgs.cide builds fine, but cannot execute properly on my system (and within an isolated, created for the test virtual machine).
Here is a simple test case that fails to pass:
import <nixpkgs/nixos/tests/make-test.nix> ({ pkgs, ... }:
{
  name = "cide-exe-test";
  nodes = {
    thehost = { config, pkgs, ... }:
              {
                 environment.systemPackages = [ pkgs.cide ];
              };
  };
  testScript =
  ''
    startAll;
    $thehost->waitForUnit("default.target");
    $thehost->succeed("cide --version");
  '';
})

Expected result
Actual result
thehost# /nix/store/p1smzl194057x5ixk5aymkal6cwmjq3j-ruby-2.3.0-p0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- bundler/setup (LoadError)
thehost#        from /nix/store/p1smzl194057x5ixk5aymkal6cwmjq3j-ruby-2.3.0-p0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
thehost#        from /nix/store/q4jlk1p6q0pmsd31w6b6wyv9mh1f23pf-cide-0.9.0-gems/bin/cide:16:in `<main>'

Steps to reproduce
Given that the test describes before is in test_cide.nix:
NIX_PATH=nixpkgs=https://github.com/NixOS/nixpkgs/archive/eaed5598592ca8ccc05d9f09abcb4a27a06f1fb4.tar.gz nix-build test_cide.nix

Awesome report :)
Can you give me the output of:
$ env | grep GEM

Also try to run with unset GEM_PATH; cide. I think the rubygem wrappers need a bit of re-thinking.

/cc @manveru @cstrahan

I do not have any GEM_PATH set (I do not have any ruby dev env by default):
$ env | grep GEM
$

If this is of any use, here is the result of the wrapper:
cat /nix/store/4aajy5f0kvv3h74xlx5lbd01vhwziyqc-cide-0.9.0/bin/cide
#! /nix/store/idm1067y9i6m87crjqrbamdsq2ma5r7p-bash-4.3-p42/bin/bash -e
export PATH=/nix/store/npl3mjnz6v6xz3zk2lj55sn8paw8x5w0-docker-1.10.0/bin:/nix/store/h1s9586w90h80r1na0wsixy9yqyjlj0q-git-2.7.1/bin:/nix/store/ay8cpbxz6xavpapx568c3dyj8spilzfp-gnutar-1.28/bin:/nix/store/0fm4p26lvg6cv97gs3z29y9qr990677q-gzip-1.6/bin
exec /nix/store/q4jlk1p6q0pmsd31w6b6wyv9mh1f23pf-cide-0.9.0-gems/bin/cide "${extraFlagsArray[@]}" "$@"
$ cat /nix/store/q4jlk1p6q0pmsd31w6b6wyv9mh1f23pf-cide-0.9.0-gems/bin/cide
#!/nix/store/p1smzl194057x5ixk5aymkal6cwmjq3j-ruby-2.3.0-p0/bin/ruby
#
# This file was generated by Nix.
#
# The application 'cide' is installed as part of a gem, and
# this file is here to facilitate running it.
#

ENV["BUNDLE_GEMFILE"] = "/nix/store/67dgnxamxdcsrr07yjrjz5ysxy08zr39-gemfile-and-lockfile/Gemfile"
ENV["BUNDLE_PATH"] = "/nix/store/q4jlk1p6q0pmsd31w6b6wyv9mh1f23pf-cide-0.9.0-gems/lib/ruby/gems/2.3.0"

gem_path = ENV["GEM_PATH"]
ENV["GEM_PATH"] = "#{gem_path}#{":" unless gem_path.nil? || gem_path.empty?}/nix/store/1gy2vlxga1nzaan9hrxjnppgzfj07hzd-bundler-1.10.6/lib/ruby/gems/2.3.0"

require 'rubygems'
require 'bundler/setup'

load Gem.bin_path("cide", "cide")

I ran in to a very similar problem with sup, and if I run nix-shell p bundler and then inside that, run my package, it works. But without it, I get the same bundler error.

cide has been removed from nixpkgs since


Fixbug, BlockOperation addExecutionBlock

Steps:
1.Create BlockOperation with an init block.
2.Add another one with addExecutionBlock.
3.Access the executionBlocks property, it contains 3 blocks.

@swift-ci test

Looks useful. Provided test case still fails without a fix. And fixed code behaves as expected. @spevans Is there a chance to merge this?

This should target the main branch and needs conflicts to be resolved.

@dannliu Are you still interested working on this?

@phausler for review?

The Swift project moved the default branch to main and deleted master branch, so GitHub automatically closed the PR. Please re-create pull request with main branch.
More detail about the branch update - https://forums.swift.org/t/updating-branch-names/40412


Feature/divik config file

In this branch restored selecting spectrum, displayed config file and cleaned html file.

 Display Divik Result file


update token refresh expire time rule

please review.

Isn't it dangerous to customize the expiration time without limiting the maximum time?
The default value can be 7 days or 14 days.

Hi, @downdawn
Expired time checks have been updated, please review.


a couple of fixes

I have a couple of small additions -- if you're interested, how would you like them? Pull request?

I honestly kind of forgot I had this repo on here. A PR would be fine! :)

I honestly kind of forgot I had this repo on here. A PR would be fine! :)

@Pilfer Hi Man!
I need your help. i have fully reverse tiktok and i am stuck with captcha.

Lol. Whats your telegram?

Why am I in this convo?
On Sat, Apr 27, 2019, 7:27 PM Pilfer<EMAIL_ADDRESS>wrote:

Lol. Whats your telegram?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Pilfer/pinterest/issues/2#issuecomment-487304842, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AB6SRMVKYH4LL4I5OJSKWU3PSSEJFANCNFSM4B6ZOJ7A
.

@Flavio-da-Brescia I think it's because you starred this project. The @klliks-com guy just went through and spammed all of my past issues trying to get in contact with me. Looks like you took some splash damage 8-).

@Flavio-da-Brescia I think it's because you starred this project. The @klliks-com guy just went through and spammed all of my past issues trying to get in contact with me. Looks like you took some splash damage 8-).

Exactly.
hehe sorry for spamming but it's urgent.
My telegram is @klliks


Can single dash (short name) version be used with collection?

I configure an option as:
    [Option('a', "assessments", Required = false, Separator = ',')]
    public IEnumerable<int>? AssessmentIds { get; set; }

this works as expected with I use long name: --assessments=1,2,3 but it does not work if I use a short name, e.g. -a=1,2,3, however, perhaps accidentally, it does work without an equal sign: -a1,2,3.
Is this intentional? I would expect that --assessments form and -a form would be interchangeable.

As per the description of the CLI grammar supported by this library(https://github.com/commandlineparser/commandline/wiki/CommandLine-Grammar), it seems only long option names with two dashes (--optionname)  support the = separator. For short single-letter options either -o 1,2,3 or -o1,2,3 should be supported.


[BUG] Multiple copy of PA files are included in the OpenSearch distribution

What is the bug?
Three copies of PA files are included in the OpenSearch distribution. Entire plugin is installed at /performance-analyzer-rca/, /plugins/opensearch-performance-analyzer/, and /plugins/opensearch-performance-analyzer/performance-analyzer-rca/.
We need to evaluate if all of them are needed and remove any duplicate files.
How can one reproduce the bug?
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

What is the expected behavior?
A clear and concise description of what you expected to happen.
What is your host/environment?

OS: [e.g. iOS]
Version [e.g. 22]
Plugins

Do you have any screenshots?
If applicable, add screenshots to help explain your problem.
Do you have any additional context?
Add any other context about the problem.

We include both in the manifest, and PA builds and includes RCA. Can we fix this for 1.2?

./pa_bin/performance-analyzer-agent
./extensions/performance-analyzer-agent
./performanceanalyzer-rca-<IP_ADDRESS>.jar
./opensearch-performance-analyzer-<IP_ADDRESS>.jar
./pa_config/performance-analyzer.properties
./performance-analyzer-rca
./performance-analyzer-rca/pa_bin/performance-analyzer-agent
./performance-analyzer-rca/lib/perfmark-api-0.19.0.jar
./performance-analyzer-rca/lib/performance-analyzer-rca-<IP_ADDRESS>.jar
./performance-analyzer-rca/bin/performance-analyzer-rca.bat
./performance-analyzer-rca/bin/performance-analyzer-rca
./performance-analyzer-rca/pa_config/performance-analyzer.properties
``

Just talked with @sruti1312  and the confusion is cleared up
We dont need to include RCA in manifest as the gradle build action in PA repo will auto checkout RCA and both will be built and bundled into one ZIP.
@sruti1312 will send a PR to remove RCA from the input manifest.
Thanks.


Define size for user menu and text overflow behaviour

Noticed that the user profile content was being resized based on username length, added fixed size and text overflow to name label

Bug fixed included here - mobile will no longer see the tabs and profile icon

nice


docs: add sst as a deployment option

❓ Type of change

[x ] 📖 Documentation (updates to the documentation or readme)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
Here are the docs on our side for reference. We support using the Lambda adapter and the regular Node adapter for container deployments: https://sst.dev/docs/start/aws/nuxt

thank you! ❤


Can't fillna with None in a dataframe

I was looking to replace all np.nan values in a dataframe with None, I was trying to do this using fillna, but it seems like this is not supported (through fillna, though you can use where):
In [1]: import pandas as pd
i
In [2]: import numpy as np

In [3]: df = pd.DataFrame([[np.nan, 1], [1, np.nan]])

In [4]: df.fillna(value=None)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-4-f459dbd09698> in <module>()
----> 1 df.fillna(value=None)

/Users/yoshikivazquezbaeza/.virtualenvs/ipy/lib/python2.7/site-packages/pandas/core/frame.pyc in fillna(self, value, method, axis, inplace, limit, downcast, **kwargs)
   2530                                              axis=axis, inplace=inplace,
   2531                                              limit=limit, downcast=downcast,
-> 2532                                              **kwargs)
   2533
   2534     @Appender(_shared_docs['shift'] % _shared_doc_kwargs)

/Users/yoshikivazquezbaeza/.virtualenvs/ipy/lib/python2.7/site-packages/pandas/core/generic.pyc in fillna(self, value, method, axis, inplace, limit, downcast)
   2522         if value is None:
   2523             if method is None:
-> 2524                 raise ValueError('must specify a fill method or value')
   2525             if self._is_mixed_type and axis == 1:
   2526                 if inplace:

ValueError: must specify a fill method or value

This is what I really was expecting to see:
In [6]: df.where((pd.notnull(df)), None)
Out[6]:
      0     1
0  None     1
1     1  None

Info about my system:
commit: None
python: 2.7.9.final.0
python-bits: 64
OS: Darwin
OS-release: 14.4.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8

pandas: 0.16.2
nose: 1.3.4
Cython: None
numpy: 1.9.2
scipy: 0.14.0
statsmodels: None
IPython: 3.0.0
sphinx: 1.2.2
patsy: None
dateutil: 2.4.2
pytz: 2015.4
bottleneck: None
tables: None
numexpr: None
matplotlib: 1.4.3
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: None
html5lib: None
httplib2: None
apiclient: None
sqlalchemy: None
pymysql: None
psycopg2: None

in a float column, None is de-facto represented by np.nan (and in most types). So this doesn't make any sense. see the docs here
None makes things into object dtype which is rarely a good idea in any event.

I see, thanks for the explanation!
On (Aug-20-15|15:19), Jeff Reback wrote:

in a float column, None is de-facto represented by np.nan (and in most types). So this doesn't make any sense. see the docs here
None makes things into object dtype which is rarely a good idea in any event.

Reply to this email directly or view it on GitHub:
https://github.com/pydata/pandas/issues/10871#issuecomment-133196500


Use ALS checkpointing in Spark 1.4

ALS starts hitting StackOverflowError with more than about 30 iterations. 1.4 has a solution for this, involving checkpointing. When 1.4 is available, we should use it.

Actually this is pretty automatically done for us.


Implement toString() fn in PutMessageAdapter and AckMessageAdapter

Issue number of the reported bug or feature request: #14
Describe your changes
Implemented toString() in PutMessageAdapter and AckMessageAdapter class.

@678098 thanks for the review. Added "Signed-off-by" comment.

@678098 I noticed that the GH action failed because I used my real name instead of pseudonym. Will update the sign-off comment.

@sindhunaydu something like this might help
git reset --soft HEAD~3
git commit -s -m "Implement toString() fn in PutMessageAdapter and AckMessageAdapter"
git push -f origin <branch>

@678098 thanks, I think I got it right this time.

@678098 I'm so sorry I donno why it failed again. I can see that my signature is correct, but not sure why the check failed.

I'll start from scratch and get back to you. Sorry for the trouble.

@sindhunaydu there are 3 commits in the PR, and signature is missing for the 1st one
Have you tried exec git reset --soft HEAD~3? It should undo 3 latest commits but save all changes on disc.  It should make everything work.

@678098 you are right, fixed it. now there is only one commit with the expected signature.

@sindhunaydu thank you!

@678098 great! thank you for your help.


DBZ-5033: Ignore null offsets when recovering database history

See DBZ-5033.
The Javadoc changes complement the API changes made in https://github.com/debezium/debezium/pull/457 and https://github.com/debezium/debezium/pull/1104.

@morozov Applied, thanks!


Wrong depth scale with the OAK-D IoT 75

Hi everyone,
I encountered a strange behavior when analyzing the raw depth map. I noticed that the depth that I get from the OAK-D IoT 75 is scaled by factor of 0.5. I verified this behavior by using the spatial calculator example and placing the camera 1 m away from a wall. I compared two different camera's the OAK-D vs OAK-D IoT 75.
The insights so far is that the OAK-D gives me accurately 1 m as the distance between the camera to the wall, however when performing the same test with the OAK-D IoT 75 the depth that I get is 0.5 m (scaled by factor 0.5).
What is the reason for this scaling factor for the OAK-D IoT 75. Did I miss something, or forget to change something in the configuration of the camera itself? Any help or insights are appreciated!
Thanks.

Hi @tommyvtran97
Would you mind pasting the code you are using for depth analysis? Thanks.

Have you changed the calibration of the cameram have you calibrated it on your own?
(SW zoom, SW scaling?)

Hi @tommyvtran97 Would you mind pasting the code you are using for depth analysis? Thanks.

I used the spacial calculator example to visualize the disparity map and the corresponding depth value at the RoI (https://docs.luxonis.com/projects/api/en/latest/samples/SpatialDetection/spatial_location_calculator/)


App2App WebServer blinky webservice not working anymore

Hi,
I'm currently trying to use the blinky webservice to test communication between front GUI and back http server.
When I launch the C# sample, it crashes at the following line :
builder.SetTrigger((IBackgroundTrigger)trigger);
With the following exception : Additional information: Specified cast is not valid.
I'm running it on a raspberry 3, with Windows 10 IoT version 10.0.14322.1000
My Visual Studio version is 2015 Enterprise edition update 2 (4.6.01038)
I tried it with Microsoft.NETCore.UniversalWindowsPlatform version 5.0.0 and tried updating it to 5.1.0, same problem.
Does anyone have the same problem ?

Can you include more of your code?  For example, what is "trigger" ... how is it created?

my bad, I think I have made a mistake modifying sample code thinking it was original code...
I just unzipped original zip and tried again, it works.
sorry for the useless post...

No problem!  We love any and all questions ... we are actively monitoring the samples Issues for any problems that people run into when trying to apply the samples to their real-world scenarios.


Got error for query schema "Introspection is not allowed for the current request"

Product
Hot Chocolate
Version
14.0.0 rc1
Link to minimal reproduction
https://github.com/ChilliCream/graphql-platform
Steps to reproduce
The function works well in locala VS, after deploy to Azure. open the schema with error "Introspection is not allowed for the current request". But i already setting following in the code. Pls help on how to fix this
builder.Services.AddGraphQLServer()
.AllowIntrospection(true)
What is expected?
Should open the graphql schema
What is actually happening?
The function works well in locala VS, after deploy to Azure. open the schema with error "Introspection is not allowed for the current request". But i already setting following in the code. Pls help on how to fix this
builder.Services.AddGraphQLServer()
.AllowIntrospection(true)
Relevant log output
No response
Additional context
No response

This is the expected behavior ... we by default secure the GraphQL server .... however ... the new bcp should pick up the schema file with rc2 and use this instead of introspection ...

if we want to expose the schema, how to enable it?

i install bcp and try to open the schema with same error return

@michaelstaib  any document describe the steps?

@JerryWang20
builder.Services
    .AddGraphQLServer()
    .RemoveIntrospectionAllowedRule();

Is there any way to enable that?
In this article https://chillicream.com/blog/2024/08/30/hot-chocolate-14 I see following options:
builder
    .AddGraphQLServer()
    .ModifyRequestOptions(o => o.EnableIntrospection = true);

But it is not available on version 14.0.0

@AndrzejKroczynski https://github.com/ChilliCream/graphql-platform/pull/7637.


Change sc_domain.dna_sequence() -> sc_domain.dna_sequence

Scadnano domains have dna_sequence as a property.

Can we merge this into dev instead of main?


BitIndex is now MatterCloud and requires API keys

Even a basic call like this fails.
https://api.bitindex.network/api/v3/main/addr/17msuwJxJoQKfH7197VvLRA3xzVDGNZqUT

Righto. It's 3am here. Will get right on it when I get a spare moment ;)
Don't wait up for me though if you want to merge that PR or implement whatever you think needs done 👍

Ok, thank you! Another API is working for me so it's okay for the moment.


Add Kobalt gitignore

Reasons for making this change:
This is the first gitignore.
Links to documentation supporting these rule changes:
https://github.com/joeblau/gitignore.io/issues/184#issuecomment-193095027
If this is a new template:

Link to application or project’s homepage:

https://github.com/cbeust/kobalt @cbeust

I think there should also be a whitelisting for kobalt/wrapper/kobalt-wrapper.jar (like it is done for the gradle wrapper in the Gradle.gitignore). Otherwise the jar would be ignored by the *.jar rule from Java.gitignore


Add theme variables for anchors

Allow adjusting typography settings for links in page content text.

Make anchor icon color configurable

REDMINE-15986

Coverage remained the same at 99.205% when pulling b14d3d285feeffdb161e055ea2195ac4f1caad9a on tf:anchor-theme-vars into 0c46f88d3e06cf056c7370c322746bcf2c7dc647 on codevise:master.


update F# Compiler in Mono to >= VS 15.5.2

The current Mono version is shipping F# Compiler 4.1.25 from June. What is the process for getting it updated? It would be great if it matched what ships in VS.
Background
I'm consulting with a company using Unity. We've hit a bug where sprintf causes problems in Unity. We saw this on both Windows and on Mac. On Windows, upgrading to VS 15.5.2 from VS 15.4.0 fixed the issue. The corresponding F# Compiler versions were:
2<IP_ADDRESS> from VS 15.5.2
2<IP_ADDRESS> from VS 15.4.0
I was able to get the versions doing:
(Get-Item "C:\Program Files (x86)\Microsoft SDKs\F#\4.1\Framework\v4.0\fsc.exe").VersionInfo.FileVersion

We are seeing the same or a similar problem with sprintf using Mono on Mac and I'd like to get the F# Compiler version upgraded to see if that fixes it.

I understand. I don't know the root cause. We are guessing a Unity il2cpp issue, but updating the tools on Windows, made it work. I'm hoping if we update the F# Compiler on Mac the bug disappears. What we do know if that commenting out all of the sprintf lines makes things work. It is pretty frustrating.

Mono is using tags from https://github.com/fsharp/fsharp/tags. Would the 4.1.29 tag on Nov 3rd about match the 2<IP_ADDRESS> compiler from VS? If not, can we get a new tag there?
Related, what happened to repo alignment #2854? I'd really love to see the compiler for Mono come from the same repo that is used to create the one for Visual Studio.


Add html file creator to the repo.

npm has a library, that auto creates a html file and loads a js file given as input in config file.

This short article and video demonstrate how to install html-webpack-plugin and set different options on it (note that you do not need to include some of the options mentioned as they are already the default settings if you leave them out). Whilst the written instructions do not show any code unlike the video, any options would be set just like the template option example shown above.
This [tutorial](https://webpack.js.org/guides/output-management/) on output management also gives an example of using html-webpack-plugin but does not demonstrate using the template option. It also starts by demonstrating how to configure multiple entry points - you are unlikely to need this feature for the projects in this part of the course.

The first part of this tutorial (up until “Choosing a Development Tool”) talks about source maps, a handy way to track down which source file (index.js, a.js, b.js) an error is coming from when you use webpack to bundle them together. This is essential to debugging bundled code in your browser’s DevTools. If the error comes from b.js the error will reference that file instead of the bundle. It also walks through an example of the --watch feature and webpack-dev-server package, either of which will prove invaluable when working with webpack.
Note that if you decide to use webpack-dev-server, the tutorial example sets it to serve from dist. If you are using html-webpack-plugin, you will want to change this to serve from src instead. This will make development much easier as all of your work and any file paths you use can be kept within src (Webpack will adjust all of these file paths when bundling if you set the correct loaders and asset rules).
You can ignore the last option on webpack-dev-middleware as we will not be working with our own Express server for this part of the course.

Setting our webpack configuration to development mode is naturally most suitable for our development work, but when we come to build our projects for deployment (production), the dedicated production mode optimises this for us. Instead of manually switching between modes in the configuration file as needed, this tutorial introduces webpack-merge. This can be quite useful as a quick setup can allow us to have a dedicated npm script for development builds/dev server, and another specifically for our production build.
You’ll notice the above tutorial does not have a webpack.config.js file. If you do use webpack-merge, make sure that any webpack commands you run (including in an npm script) follow the tutorial and use the --config option to specify which webpack configuration file to use. If you do not specify one, webpack will try to look for webpack.config.js and if it does not find one, it will not be able to bundle correctly!

You don’t need to do the rest of the webpack tutorials at this time, but take a look at what’s offered on the sidebar of their guides page. There are several sweet features that you may want to use in future projects such as code-splitting, lazy-loading, and tree-shaking, so being aware of some of these features can come in handy. Now that you have a handle on webpack’s configuration system adding these features is as easy as using the right plugins and loaders!


docs: tweak docs themes ala media-chrome.org

another pass on the docs theme to make it more look like https://www.media-chrome.org/
also made the header sticky and translucent.

@gkatsev good call, will update that together with the new logo PR.


feat(linter): add the no_identical_title rule for vitest

Thanks to Wenzhe Wang for the original code for jest

This should be already covered by jest/no_identical_title.rs and the remapping here:
https://github.com/oxc-project/oxc/blob/main/crates/oxc_linter/src/utils/mod.rs#L20
The doc gh issue is out of sync and will be fixed in #7890

given @Sysix 's comment, i think we can close this?