goreleaser: 1.19.0 -> 1.19.2

Diff: https://github.com/goreleaser/goreleaser/compare/v1.19.0...v1.19.2
Description of changes

Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 242141 run on x86_64-linux 1

1 package built:

goreleaser


Support Java 11

Is your feature request related to a problem? Please describe.
Currently, Alluxio only supports Java 8
Describe the solution you'd like
Java 11 is the next LTS release of Java.

The end of public updates for Java 8 is scheduled for January of 2019 for commercial use. For non-commercial use, the same is scheduled at an unspecified date in December of 2020.

Describe alternatives you've considered
Current Alluxio 2.1-SNAPSHOT does not compile with JDK 11.
We should fix the src code so it works with either JDK 8 and JDK 11
Urgency
Medium
Additional context

@apc999 I've looked into this issue previously, and while there is less change specifically with our code that we need, the main issue I've faced is dealing with dependencies.
Specifically, the toughest issue is that we use lots of hadoop libraries. The hadoop-common library depends on a specific system jar - tools.jar - which has been around in the JDK for a while, but has since been removed in Java 11. There is no replacement for this dependency. Many of the features of it have been replaced. To continue supporting hadoop 2, I don't believe we can upgrade to Java 11.

two ways to solve it:
(1) when JDK 11 is enabled, by default bump hadoop.version to 3.0 or higher
(2) split hadoop dependency into separate submodules, covering hadoop1 hadoop2 and hadoop3. When JDK 11 is used, skipping compiling module hadoop1 or hadoop2

An additional comment - even hadoop 3 doesn't support Java 11. I suspect the current Hadoop 3 libraries won't work with Java 11 either.
https://issues.apache.org/jira/browse/HADOOP-15338
So I imagine we could create a maven profile which skips compiling all hadoop-related modules (client+ufs)

@ZacBlanco Presto uses the Hadoop libraries without any problems on Java 11. The Hadoop issue you linked to seems to be about running all of Hadoop on Java 11, not just the client libraries (which already work).

Presto excludes jdk.tools for hadoop-common: https://github.com/prestosql/presto-hadoop-apache/blob/master/pom.xml#L166-L169

@electrum Thanks for the clarification. I'll add the exclusion for java 11 and see how that affects our build.

Latest Presto's default Java version is 11:  Future versions of Presto will require Java 11 after March 2020 and I want to use Java 11 only thought there is a temporary option...

When will 2.3 get released?
Till 2.3 is available, is there any way to use Alluxio and Presto together?

Latest Presto's default Java version is 11: Future versions of Presto will require Java 11 after March 2020 and I want to use Java 11 only thought there is a temporary option...

When will 2.3 get released?
Till 2.3 is available, is there any way to use Alluxio and Presto together?

As discussed offline, a "hacky" workaround  is to use Alluxio client in Presto w/ Java 11 -- this should be fine; To start Alluxio servers it requires Java 8. You can set $JAVA or $JAVA_HOME in conf/alluxio-env.sh pointing to a non system default JDK

While you can try using the Alluxio java client on presto with Java 11, it is not guaranteed to work; only start. Once you begin processing data none of the code paths are guaranteed to be compatible. You may try, but you should expect the likelihood of runtime errors.

One more related discussion on slack https://alluxio-community.slack.com/archives/CEXGGUBDK/p1588574275337900 to check out

I just read your documentation for v2.4 and it has instructions for enabling Java 11. Is this fully supported as of the v2.4 release?

@jefflester  Java 11 is supported since Alluxio v2.4.0, seeing its release notes.
I am closing this issue as it has been resolved with latest v2.4.0 release

@apc999 thanks for the update
Are you planning on updating alluxio-client in Presto?
It's currently at 2.3.0:
https://github.com/prestosql/presto/blob/c088019514db5a3a99270938d383bbd4eaf5487c/pom.xml#L1107-L1109

@findepi I was about to create a PR to bump the version and found prestosql/presto#5730 is already created


Superset chart with percentiles with data from druid

We have a use case where we have to show the 90th, 95th and 99th percentile value of a dimension. I came across this https://druid.apache.org/docs/latest/development/extensions-core/datasketches-quantiles.html. Here we can add this extension to druid to get the 95th percentile aggregator. Is there any way to use this aggregator in Superset so that we can plot 90th, 95th, 99th percentile value of a dimension in a single chart or across multiple charts ? I found that we can define custom post agrregators in Superset for druid but not sure if we can define custom aggregators too.
This is an example of what we are looking for

This representation is from kibana where the datasource is different (elastic)

If you're using Druid via the Sql Alchemy connector, you should be able to easily leverage the quantile aggregators, e.g. APPROX_QUANTILE: https://druid.apache.org/docs/latest/querying/sql.html#aggregation-functions

It seems pydruid doesn't support columns of type OTHER which is the type for those quantile datasketches.


HTML/CSS & JavaScript capstone project - Conference page

This is a pull request for HTML/CSS & JavaScript capstone project - Conference page.

Add home page
Add about page
Linked home and about page
Add video recording link to the readme file

Update index.html and about.html file
Update mainstyles and about styles file
Update readme file

Update about.html file

Okay, thank you for reviewing my project.


[SPARK-44064][CORE][SQL] Add a new apply function to NonFateSharingCache

What changes were proposed in this pull request?
This pr add a new apply function to NonFateSharingCache and change CodeGenerator to use the new NonFateSharingCache#apply to make catalyst module can test using maven.
Why are the changes needed?
SPARK-43300 introduced NonFateSharingCache to core module and it only used by CodeGenerator which is in catalyst module.
There are two apply funcitons in NonFateSharingCache and the input parameter of NonFateSharingCache#apply is com.google.common.cache.Cache/LoadingCache.
The catalyst module may use shaded spark-core jar when we do maven testing and in the shaded spark-core jar, the Guava related classes will be relocated from com.google.common to org.sparkproject.guava, so the input parameter of NonFateSharingCache#apply will change to org.sparkproject.guava.cache.Cache/LoadingCache, but the catalyst module has not been shaded yet when do maven testing, so CodeGenerator will still use type com.google.common.cache.Cache to call the NonFateSharingCache#apply function, then this will result in a mismatch of input types when do maven testing and maven test will aborted as follows:
ProductAggSuite:
*** RUN ABORTED ***
  java.lang.NoClassDefFoundError: Could not initialize class org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator$
  at org.apache.spark.sql.catalyst.expressions.codegen.JavaCode$.variable(javaCode.scala:64)
  at org.apache.spark.sql.catalyst.expressions.codegen.JavaCode$.isNullVariable(javaCode.scala:77)
  at org.apache.spark.sql.catalyst.expressions.Expression.$anonfun$genCode$3(Expression.scala:200)
  at scala.Option.getOrElse(Option.scala:189)
  at org.apache.spark.sql.catalyst.expressions.Expression.genCode(Expression.scala:196)
  at org.apache.spark.sql.catalyst.expressions.codegen.GenerateSafeProjection$.$anonfun$create$1(GenerateSafeProjection.scala:156)
  at scala.collection.immutable.List.map(List.scala:293)
  at org.apache.spark.sql.catalyst.expressions.codegen.GenerateSafeProjection$.create(GenerateSafeProjection.scala:153)
  at org.apache.spark.sql.catalyst.expressions.codegen.GenerateSafeProjection$.create(GenerateSafeProjection.scala:39)
  at org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator.generate(CodeGenerator.scala:1369)

So this pr add a new apply function to break non-core modules directly using Guava Cache related types as input parameter to invoke NonFateSharingCache#apply function for workaround, this way can avoid non-core modules Maven test failures caused by using shaded core module.
Does this PR introduce any user-facing change?
No
How was this patch tested?

Pass GitHub Actions
Manual test

 build/mvn clean install -DskipTests -pl sql/catalyst -am
 build/mvn test -pl sql/catalyst

Before
ProductAggSuite:
*** RUN ABORTED ***
  java.lang.NoClassDefFoundError: Could not initialize class org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator$
  at org.apache.spark.sql.catalyst.expressions.codegen.JavaCode$.variable(javaCode.scala:64)
  at org.apache.spark.sql.catalyst.expressions.codegen.JavaCode$.isNullVariable(javaCode.scala:77)
  at org.apache.spark.sql.catalyst.expressions.Expression.$anonfun$genCode$3(Expression.scala:200)
  at scala.Option.getOrElse(Option.scala:189)
  at org.apache.spark.sql.catalyst.expressions.Expression.genCode(Expression.scala:196)
  at org.apache.spark.sql.catalyst.expressions.codegen.GenerateSafeProjection$.$anonfun$create$1(GenerateSafeProjection.scala:156)
  at scala.collection.immutable.List.map(List.scala:293)
  at org.apache.spark.sql.catalyst.expressions.codegen.GenerateSafeProjection$.create(GenerateSafeProjection.scala:153)
  at org.apache.spark.sql.catalyst.expressions.codegen.GenerateSafeProjection$.create(GenerateSafeProjection.scala:39)
  at org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator.generate(CodeGenerator.scala:1369)

After
Run completed in 4 minutes, 22 seconds.
Total number of tests run: 7088
Suites: completed 295, aborted 0
Tests: succeeded 7088, failed 0, canceled 0, ignored 5, pending 0
All tests passed.

friendly ping @HyukjinKwon @dongjoon-hyun , I want to use this one instead of https://github.com/apache/spark/pull/41622

Thanks @HyukjinKwon for your review, friendly ping @JoshRosen @liuzqt

friendly ping @HyukjinKwon @dongjoon-hyun , I want to use this one instead of #41622

Could you explain why you favor the more complex approach that changes prod code to address a test-only issue?
All else being equal, the other PR should merge because it's a lot simpler.

I do't mind either this or https://github.com/apache/spark/pull/41622. I think the main reason is to keep NonFateSharingCache.scala in Spark core module instead of moving it to SQL module because this looks more for a general purpose. So TBH I am fine which one to merge. It's not an API in the end.

+1, Agree with what @HyukjinKwon said

Hi @LuciferYang , thanks for the fix! I'm fine with either option.

Thanks @liuzqt

Hi @LuciferYang , thanks for the fix! I'm fine with either option.

I rebase the code to make GA test this one again. @HyukjinKwon  seems the author approves of this fix. I am planning to merge this one today, do you think it's ok?

Thanks @dongjoon-hyun @HyukjinKwon @liuzqt @ryan-johnson-databricks


Unable to locate layout for 404 page

When I I am compiling with --verbose I see this message:
WARN: 2015/03/02 Unable to locate layout for 404 page: [404.html theme/404.html]
where should I put the 404.html file?

Good catch! I've pushed a 404 template. If you need to override it, it should go in /your-hugo-project/layouts/404.html


[Task]: make GitHub discussions send less mails

What needs to happen?
currently GitHub discussions is sending mails for edits and deletes.
Remove these to make the mail a bit less cluttered.
Issue Priority
Priority: 2
Issue Component
Component: Infrastructure

.take-issue


Remove std::deque from Renderer

This commit improves the renderer classes by:

reducing binary size by 4kB
improving performance by 5%
reducing code complexity

References

#10563 -- vtebench tracking issue

PR Checklist

[x] I work here
[x] Tests added/passed

Validation Steps Performed

Ran vtebench/termbench and noted ~5% perf. improvements

I've minimized this PR to only do these things, which reduces the diff by half:

Removing std::deque
Minor cleanups of nearby code
Remove Cluster.cpp which I thought was a neat change 🙈

Please make sure to update the body with the new stats :) thanks for deleting cluster.cpp!

The unit tests wouldn't compile in VS 2022 under /W4 so I had to remove a bunch of unused variables.
@DHowett I've readded the _destructing variable. 👍


Peers won't discover neighbors topics subscriptions when relayed

We are currently having an issue where peers are not aware of their neighbors topics when they use a relay. Everything works perfectly when both peers are in the same network (either localhost or LAN), we assume it would also work if both peers weren't behind NATs and had a direct connection (we didn't tested this).
Things we tested:

Both peers create a connection between them (circuit-relay multiaddress)
Both peers exchange the identify initial message and fetch the relevant meshsub in the available protocols

Things to check:

Base pubsub abstract class exchanging topics (not being extended by chainsafe's gossipsub impl)
https://github.com/libp2p/js-libp2p/blob/0b55625d146940994a306101650a55ee58e32f6c/packages/pubsub/src/index.ts#L253

Chainsafe's gossipsub impl on connected workflow
https://github.com/ChainSafe/js-libp2p-gossipsub/blob/bd5460c6c0fba63b27d8671b438cb0495d232773/src/index.ts#L770

Things to test around:

Check libp2p's webrtc guide for clues (https://docs.libp2p.io/guides/getting-started/webrtc/)
Check the universal connectivity repo if it has the same problems (https://github.com/libp2p/universal-connectivity/)

By default the Circuit Relay protocol only allows a small amount of data to be transferred over a relayed connection - if the limit is breached the relay will close the connection - this is to ensure relays can be run to help other nodes create direct connections but not be an open relay which is ripe for abuse.
By default there are only a few protocols that will run over relayed connections - Identify is one of them but Gossipsub is not.
Your peers should use the relay to establish a direct connection, over which Gossipsub should run as expected.

@achingbrain thanks for helping out! It seems that enabling runOnTransientConnection on both gossipsub configs and stream options fixed the issues of no communication at all.
With what u said, I am afraid we will still have limitations regarding the amount of data transmitted on those connections.

runOnTransientConnection should be left as the default value of false, otherwise you're likely to have your connection closed unexpectedly by the relay once the data/time limits are reached.
Since it works on a LAN and it works via a relay it sounds like the two nodes are failing to make a direct connection.
Have you configured any STUN servers?
If not can you please try updating the config of the two NATed nodes to something like:
const node = await createLibp2p({
  //... other config
  transports: [
    //... other transports
    webRTC({
      rtcConfiguration: {
        iceServers: [{
          urls: ['stun:stun.l.google.com:19302']
        }, {
          urls: ['stun:global.stun.twilio.com:3478']
        }]
      }
    })
  ]
})

There will be something like this as default config in the next release so it shouldn't be necessary forever.

Yep. The initial tests we made didn't have the STUN servers configured and the ones that followed had both STUN and relaying enabled, so the results were unclear.
Currently, it's working, we still need to debug some scenarios where there is a connection, the messaging is working, but the handler is failing (high probability is on our side).
We still found some edge cases where STUN is insufficient to make a direct connection (w/ VPNs in the mix). This is out-of-scope for now.
Thank you so much for taking the time to help out fixing our issues!

Great stuff, glad you got it sorted out.

There will be something like this as default config in the next release so it shouldn't be necessary forever.

This shipped in<EMAIL_ADDRESS>yesterday so you shouldn't need to specify STUN servers manually any more.
Also if you like, please feel free to PR your logo into the js-libp2p README - https://github.com/libp2p/js-libp2p#used-by


Multiple paths, maybe some light URL re-writing?

@brandonros anything specific you'd like here?

I have created a pull request for this. Hopefully it will be merged soon. You can find it here: https://github.com/SiXoS/http-server

Duplicate: https://github.com/indexzero/http-server/issues/139

It has issue with html5 routing.
For example: if I have the url "example.com/account" in my single application, then after refresh it will response 404. So I need a simple rule, if it is 404 (or file not found) then response the index.html

Serving multiple directories is already covered in #139. Beyond that, I'm closing this as out of scope since http-server is a static server and doesn't officially support SPA's


JSON properties are shuffled

Hi,
I just execute this:
http http://localhost:9021/api/development

And i get this output:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Sun, 19 May 2024 10:58:34 GMT
Server: Kestrel
Transfer-Encoding: chunked

[
    {
        "allowedIps": null,
        "configurationFile": "/tmp/proxies/ups1.conf",
        "createdAt": "2024-05-18T18:13:44.204+00:00",
        "id": "60ac07ef-5a80-4352-8b03-2ab8f68ef68f",
        "password": "string",
        "port": 1001,
        "updatedAt": "2024-05-18T18:13:44.204+00:00",
        "upstream": "ups1",
        "username": "string"
    }
]

I don't understand why properties are shuffled, should be like this:
[
  {
    "id": "60ac07ef-5a80-4352-8b03-2ab8f68ef68f",
    "createdAt": "2024-05-18T18:13:44.204+00:00",
    "updatedAt": "2024-05-18T18:13:44.204+00:00",
    "upstream": "ups1",
    "port": 1001,
    "username": "string",
    "password": "string",
    "allowedIps": null,
    "configurationFile": "/tmp/proxies/ups1.conf"
  }
]

Regards

They are not shuffled, they are alphabetically sorted.

Ah I see, why touch it tho?

I don't know, just wrote thinking it might be helpful.

You can try --unsorted option, for more detail: https://httpie.io/docs/cli/format-options

As clarified in the thread, this is not an issue but clearly what was intended by the author.
It was a UX decision and it is understandable how you got confused. Two sides emerge for this:

A) Sorted render makes it easier to read by a human.
B) Unsorted render makes it easier to verify the content conformity from the backend developer PoV.

But as you found the workaround for this, I am inclined to close it.


Make all options snake_case

Resolves https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/4389

Thank you @kubawerlos.

@kubawerlos , can you please raise a PR for 3.0 line to remove those deprecated options ?


Release 1.5.8

Hi, just a small question - what is the approximate release date for a new version (1.5.8)?
Realy waiting for this fix.

Hey everyone, actually we are also waiting for rediscli fix.

Releases are handled by @mrjoes.

https://pypi.org/project/Flask-Admin/1.5.8/

Thank you, forgot to close this one.


Add Site.Params to disable search and copyright

This PR adds site parameters to optionally disable the search field and the copyright notice. Both, search field and copyright notice, are enabled by default to keep current default behavior.

@romanc, thanks for contributing


Add minView in the demo

I'm struggling getting minView set to 'day'. Could you perhaps add an example of using minView in the demo page so I have something to follow?

Please post a fiddle or plunker of your code and I will have a look

Basically I'm having:

And I can still drill down to selecting a minute.
Will post a plunker in a bit.

Sorry with the markdown issue earlier
Here's a plunk:
http://plnkr.co/edit/Tv55ZZ?p=info
Not sure why it's not working, but the minView is there.

minView is not an attribute on the element - add it to the config.

Thought it was something simple, so like this:
<datetimepicker data-ng-model="date"
                data-datetimepicker-config="{ dropdownSelector: '#dateDropdown',
                                             minView='day'}"/>


Question about alternate login mechanisms

Question, is there any way to set up an OIDC or SAML login flow with Reconmap? Or maybe integrate it with https://oauth2-proxy.github.io/oauth2-proxy/?
I poked around the docs and code a bit but I may have missed it.

At the moment there isn't one but I'll add this to the v2 or v3 roadmaps. Thanks for mentioning it!


Understand relation between cs3 and ocm

cs3 is a protobuf api to talk between a client (for instance a repl or a php/html GUI) and a server (for instance reva).
ocm is a http/json api for talking between two servers.
There are several servers implementing ocm + webdav including ownCloud and Nextcloud, but we are going to ignore that and use only the reva implementation.
So then the Nextcloud app we build will have a GUI where the user creates and accepts shares, our PHP code will convert these actions into grpc requests to reva, and reva will keep track of which shares exist.
EDIT: see  below
This could become a big headache when the user views a file in the native Nextcloud file viewer and wants to know whom this file is shared with.

Is ocm+webdav the main thing we want to do with cs3? Or are there others?

Looking at https://cs3org.github.io/cs3apis/ it's not entirely clear what everything is.
At least there's upload/download, which is unrelated to ocm+webdav, but it's also quite basic.
I don't know what TransferRequest is.
There is user/group admin (do we want to implement that? how is that relevant to federation? what if this is LDAP-based?)
User search /group search
Create home
get quota
it seems that this is the complete frontend-to-backend API of an EFSS system, not just server-to-server federation API

Nextcloud also has pluggable storage https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/external_storage_configuration_gui.html
but I don't think Nextcloud should treat Reva as a backend.
Maybe we should avoid creating any UI in Nextcloud, we just let Reva replace the GUI of Nextcloud.

So for each CS3 action listed in https://cs3org.github.io/cs3apis/ and for each OCM/webdav interaction, Reva should call some Nextcloud API endpoint like https://docs.nextcloud.com/server/latest/developer_manual//client_apis/OCS/ocs-api-overview.html#user-metadata-list-user-ids maybe?
There is OCS and OCP

And OCS in turn seems to overlap in functionality with OCM...
CS3 + OCS/OCM/OCP + webdav = ?
Hmmmm :)

Brainstorming with @ylebre today -
our conclusion so far is we will build a storage module for Reva, like the existing s3 one in the role of http client, and then build a Nextcloud app like the existing nextcloud-solid one in the role of http server.

So Reva to Nextcloud will talk a Solid-like profile of http, not grpc.


When editing, show the previously selected roles on the form

Why was this change made?
Fixes #571
How was this change tested?
Which documentation and/or configurations were updated?

@jcoyne Approved. Rebase?


Initial documentation regarding the writing of tests

Do we agree on the methodology ? If so, let's write tests :)

Well, I was about to start writing tests and then (procrastination hit and) I realized I wasn't really clear how I wanted to write them. So I started writing ideas down, and soon enough I was there. I know that a lot of things regarding documentation are probably going to move so I'm not putting too much thought into what goes where for now, but I wanted to make sure I wasn't starting on a path alone.

BTW, thanks for the review !


Support androidNativeArm64 Kotlin Native target

Description
We would like to support the androidNativeArm64 Kotlin Native target.
See the targets supported by Kotlin Native for more details about it.
Dependencies
This issue is blocked by the following ones:

[ ] Currently doesn't support running tests in Gradle.

Checklist

[ ] Add the target in our Multiplatform Gradle plugin, add the target in the integration and the delivery workflows, add badge in README and update the unreleased changelog.
[ ] Close this issue as completed and update tracking ones if present.

This target currently doesn't support running tests in Gradle.


Spotify + PulseAudio : No Sound

Issue description
You know the deal :(
This has been happening with a lot of my apps with PulseAudio recently. I'm getting no sound from the app and PulseAudio doesn't even seem to detect Spotify.
Steps to reproduce
# configuration.nix
{
  hardware.pulseaudio.enable = true;
  environment.systemPackages = with pkgs; [spotify];
}

Technical details
 - system: `"x86_64-linux"`
 - host os: `Linux 4.19.57, NixOS, 19.09pre184855.beff2f8d75e (Loris)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.2.2`
 - channels(camus): `"home-manager, nextbookit, nixos-mio"`
 - channels(root): `"home-manager, nixos-19.09pre184855.beff2f8d75e, nixos-hardware, nixos-stable-18.09.2574.a7e559a5504"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

I can not reproduce this. I have the following pulseaudio setup
hardware = {
  pulseaudio = {
    enable = true;
    support32Bit = true;
    package = pkgs.pulseaudioFull;
  };
};

@BadDecisionsAlex I would assume this fix for you would be the same as the other ones.
Adding libpulseaudio to rpath.

@BadDecisionsAlex it's really strange that the PulseAudio ALSA plugin is not working for you. Are you on a Z390 chipset or other recent hardware? Give this a try:
boot.kernelPackages = pkgs.linuxPackages_latest;
I had multiple audio and graphical problems before doing that.
That said, I assume we should fix as before.

I'm getting this as well. Spotify doesn't play anything and the it's just stick on 0:00 and I don't see any device on pavucontrol corresponding to spotify.

The issue persists with the latest kernel unfortunately

The discussion here may be relevant, if anyone has ideas.

Which Spotify version are you running? <IP_ADDRESS> should still work (but since we upgraded it and rolled back two times already...)

I am using <IP_ADDRESS>, it does not work with Pulse. It works fine if I explicitly set hardware.pulseaudio.enable = false (to override Gnome's activation of pulse)

@alexameen can you please re-test the issue on either release-20.03 and/or master? I'm a pretty heavy spotify user and I'm using pulseaudio by default on my laptop, so I'd be happy to debug this if it still exists :)

I'm just got the same issue on my NixOS system today. Spotify stuck at 0:00 and not showing up in pavucontrol. More info:

system: "x86_64-linux"
host os: Linux 5.7.10, NixOS, 20.09pre236091.28fce082c8c (Nightingale)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.4pre20200721_ff314f1
channels(root): "nixos-20.09pre236419.a45f68ccac4, stable-20.03.2668.7c85b915892"
channels(skykanin): ""
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

My pulseaudio setup:
hardware = {
  pulseaudio = {
    enable = true;
    support32Bit = true;
    package = pkgs.pulseaudioFull;
  };
};

@skyanin I think you're issue might be https://github.com/NixOS/nixpkgs/issues/93955

I think it's because spotifyd package doesn't include pulseaudio feature default you should override it
https://github.com/NixOS/nixpkgs/blob/3da1c959408f90cb9299d383e5e48a6b2cf13cb3/pkgs/applications/audio/spotifyd/default.nix#L1-L5

@Riey I thought this is about spotify, not spotifyd?

@Ma27 Oops sorry

Anyways, I can't remember any similar issues in the last year, so I think that this issue is gone now and we can close it.
If I'm wrong, just re-open or file a new bug :)


Add init command

This adds a new init command that initializes an empty CHANGELOG.md file.
Fixes #35.

Pull Request Test Coverage Report for Build 233

42 of 42 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+2.6%) to 74.674%

Totals

Change from base Build 229:
2.6%

Covered Lines:
401

Relevant Lines:
537

💛  - Coveralls


fix: cli help

Thanks for your contribution.
Can you explain your change please?

structopt uses doc strings to create the help messages. If you run the program from master, you'll see
cargo-generate 0.5.0
Ashley Williams<EMAIL_ADDRESS>cargo, make me a project

USAGE:
    cargo generate [FLAGS] [OPTIONS] --git <git>

FLAGS:
    -f, --force      Enforce to create a new project without case conversion of project name
    -h, --help       Prints help information
    -V, --version    Prints version information
    -v, --verbose

OPTIONS:
        --branch <branch>
        --git <git>
    -n, --name <name>

My change produces this output:
cargo-gen 0.5.0
Ashley Williams<EMAIL_ADDRESS>cargo, make me a project

USAGE:
    cargo gen [FLAGS] [OPTIONS] --git <git>

FLAGS:
    -f, --force      Enforce to create a new project without case conversion of project name
    -h, --help       Prints help information
    -V, --version    Prints version information
    -v, --verbose

OPTIONS:
        --branch <branch>    Branch to use when installing from git
        --git <git>
    -n, --name <name>

On that note, the doc string inside of main does produce a quite verbose output when just running cargo run -- --help. The real help page is displayed when running cargo run -- generate --help.
Might be worth fixing in another Pr as well. Not sure if this change was intended or not, so I left it out.

Rha, sorry for that - I compiled another branch and did not found the modification in the output -_-
Thanks for this 🎉


RecSys measures

@asash suggested incorporating RecSys measures into this package. I'm generally supportive and I think it'd be doable, but it'll take a bit of design/thought upfront.
We can use this issue to sketch it out.
Terminology:

like use "user_id" instead of "query_id" and "item_id" instead of "doc_id"
Does it automatically map between these conventions?

Measures:

What new measures need to be supported?

Providers:

What are the standard implementations? How easy will they be to integrate?
We should be mindful of the dependencies introduced (aligned with the larger goal of reducing the number "required" dependencies)

Anything else?

What new measures need to be supported?
In the beginning, we can start with those metrics that are already there. The most popular RecSys metrics are nDCG@K and Recall@K (sometimes Recall@K is named "HIT@K").

Others that aren't there yet include  RMSE, MSE, and AUC, but those could be added later. In any case, it shouldn't be too hard to implement those or use versions from scikit-learn.
Finally, there are beyond-accuracy metrics more specific to Recsys (though IR can also benefit from them). Some of those can include intra-list distance for diversity measurement, Catalogue Coverage, and some versions of popularity bias.
but I think allowing the use of RecSys-specific terminology would be a good start.


cmd/compile: open-coded defers keep pointer arguments alive past the deferred call

It looks like open-coded defers are keeping their arguments alive past the deferred call:
Failing test case using open-coded defer: https://play.golang.org/p/9SEiOeaLmCS
Passing test case using heap-allocated defer: https://play.golang.org/p/BWEQuC5EowK
In these tests, there are two deferred function calls. The first call needs p kept alive, but the second does not. We should be able to collect p (and run its finalizer) as soon as the first deferred function call returns. The heap-allocated defer does this, but the open-coded one does not.
/cc @danscales

We already zero out all defer arg slots that have pointers in them at the beginning of the function.  Those will still be zero if the defer was not actually activated.  So, I don't think you have to depend on the defer bitmask, right?

We already zero out all defer arg slots that have pointers in them at the beginning of the function. Those will still be zero if the defer was not actually activated.

Right, but I don't think that's the issue here.
The issue is if the defer is activated, and then at the end of the function we run it, it returns, some other defer is then run, and at that point we do a GC scan of the stack. Are the arguments for the defer that already completed still alive?


Start tagging releases so we can use versions in Bower

Currently, we can only use "latest" as version, which doesn't help tracking support.

We probably won't publish any further releases to Bower


Expose preminter from package

Current dependencies on/for this PR:

main

PR #161

PR #171

PR #175   👈
PR #173
PR #172

PR #170
PR #168

PR #169

PR #166
PR #164
PR #163
PR #162

This comment was auto-generated by Graphite.


feat(Langchain): BM25 Keyword Search Retriever

Implements a version of BM25 search using the okapi_bm25package.
Similar feature exists in langchain python: https://python.langchain.com/v0.2/docs/integrations/retrievers/bm25/

Ah nice! Will have a look and write up docs.

Thank you!


Load once

Description
Added session storage, adjusted nav display as well as warning modal
Fixes:  #510

Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings

ATTACH SCREEN-SHOTS / DEPLOYMENT LINK

I made changes to a new branch and made sure the prev error is not occurring again, please review and let me know if you are facing it on your browser, thanks! @sk66641 @aditya-bhaumik

Heyy @aditya-bhaumik,
The labels assigned on the PR and issue are not same, can you please update it? thanks.


Update sql-database-elastic-scale-overview-split-and-merge.md

Reflecting the changes from the newest release of split/merge which introduced the metadata retention option.

#sign-off


How to pass argument to the subclass of WebSocketServerProtocol

The document says, "The create_protocol parameter allows customizing the Protocol that manages the connection. It should be a callable or class accepting the same arguments as WebSocketServerProtocol and returning an instance of WebSocketServerProtocol or a subclass. It defaults to WebSocketServerProtocol."
Would you please supply some example on this?
I created the subclass of WebSocketServerPrototocol, and supplied my version of async def handler(self), it works. But when I plan to add extra argument to the subclass, I meet the issue to create the protocol
class MyWSSProtocol(websockets.WebSocketServerProtocol):
 def __init__(self, mgr: ClassA):
     self.m_mgr: ClassA = mgr

 def __call__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)

async def handler(self):
     ......

later on
mycallalbe: MyWSSProtocol = MyWSSProtocol(mgr)
start_server = websockets.serve(hello, '<IP_ADDRESS>', 28766, create_protocol=mycallalbe)
Then I found at proactor_evetns.py
    def loop(f=None):
        try:
            if f is not None:
                conn, addr = f.result()
                if self._debug:
                    logger.debug("%r got a new connection from %r: %r",
                                 server, addr, conn)
                **protocol = protocol_factory()   **# this can not create the protocol****
                if sslcontext is not None:
                    self._make_ssl_transport(
                        conn, protocol, sslcontext, server_side=True,
                        extra={'peername': addr}, server=server,
                        ssl_handshake_timeout=ssl_handshake_timeout)

Would you please supply some example to show how to pass extra argument to subclass of WebSocketServerProtocol?
thanks,
Wei

This should be in the FAQ but it isn't yet!
Using create_protocol=functools.partial(MyWSSProtocol, mgr) would be the simplest solution here.
You don't need to define __call__ in MyWSSProtocol.

Thanks a lot.
the init() has to change a little bit. Now everything works.

class MyWSSProtocol(websockets.WebSocketServerProtocol):
 def __init__(self, mgr: ClassA, *args, **kwargs):
        self.m_mgr: ClassA = mgr
        super().__init__(*args, **kwargs)

create_protocol_my = functools.partial(MyWSSProtocol, mgr)
start_server = websockets.serve(hello, '<IP_ADDRESS>', 28766, create_protocol=create_protocol_my)


Please tell me about "+ dual-gen" and "+ multi-task".

Hello.
Please forgive me because I am not used to reading papers.
I have a question about the description of the Code T5 paper.
Tables 2 and 4 of the CodeT5 paper have the descriptions "CodeT5-base", "+ dual-gen", and "multi-task".
Does this fit the following interpretation?
"CodeT5-base"
"CodeT5-base + dual-gen"
"CodeT5-base + dual-gen + multi-task"
And is only "Code T5-base" published on Hugging Face?

Hi, most of your interpretation are correct except that for "CodeT5-base + multi-task", it does not include the dual-gen pretraining objective.


Fixed to work with the last build of LWJGL

Changed GLCOntext with GLCapabilities
Removed unused inputs
Corrected Error Callback creation
corrected glfwWindowPos with the correct calls to vimode.height() and vimode.width()

Thanks, but the fix is already in the snapshot branch of the tutorial.
The master branch is using LWJGL 3.0.0a, but I'm currently reworking some parts of the tutorial. For more information see Issue #2.
I will merge the snapshot branch into master when 3.0.0b is uploaded to the Maven Central.

Ok, I did not know you were already working on this.
Good to know :)
I can't wait since the new tutorial is released!
Good Luck,
Franco


Updating Sample App to support dev tools

This PR updates the Sample App to allow the React Native dev tools menu to be opened. See https://github.com/hudl/react-native-android-fragment/issues/5

resolves #5

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

Looks good! Thanks @mrbrentkelly


Render ways like roads and waterways as lines on map

It seems that lines like roads or waterways are drawn as polygons instead of lines. Ideally we would render these types of features on the map as lines. Example campaign for roads: https://campaigns.hotosm.org/campaign/be07e6a5a4194d57adf03ff848d80ac1

@smit1678 , could we please prioritize this as per discussions with @jessbeutler? We're in quite urgent need of this for Open Cities

Currently lines are available when you use the YAML config, so we would just need to propogate this function into the UI.

Time estimate to add to ui: 3 hours

Thanks, Tim! Looking forward to the UI option. Just knowing we can edit it in the YAML makes a big difference.


i want to get files which have date after specific date..

i hope image picker shows some special images and videos which have date after specific date.
i mean if specific date is 2017.02.01, then i want to get a files after 2017.02.01.. can u understand..??
is it possible? if yes... how can i do this?
thank u for your project

pickerController.assetFilter = { asset in
    return asset.creationDate...
}


Great tool - would you consider adding a default_output_dir ... or something in that direction for extractvbs ?

Upgraded my cab, and loading vpx files, extracting vbs files is so much slower than it used to be on Win7. This tool has always been blazing fast and I've used it several times outside of the windows platform. Really a cool tool.
I can live with the slow wrapper that I'm using, but, if only we could have a setting to tell what folder the extracted vbs would go to, it would be my new tool for sure.

@sverrewl happy to hear you enjoy using vpxtool
Could you explain your use case? I'm wondering why you would want to extract all vbs files to a single folder as they only are picked up when placed next to the table.

It is because I run through almost every script there is, checking for things that I want to change. Like kickers not having randomness applied to them. Not using vpminit, not having ssf etc. etc. Far from every script will be edited, but, it can be very convenient having a huge archive of scripts laying around. Except for gaming, linux is my main OS, so, I'm quite used to processing text files using perl and vim. Today the process is like ... make a hash map of scripts I've got. Run that against the new table names. If I find a new one it gets extracted to c:\temp where I later move it to my server for further processing. Cleaning + Git etc.
I'm sure you are aware of https://github.com/sverrewl/vpxtable_scripts - that hasn't been updated, except for when there is a table where there is a solution maybe hidden in the forum thread, but, no update. Things like that. My archive is much larger though and contains old folder, more like a deep archive. All these scripts doesn't take up much hard-drive space, so, why not keep them.
A config line or maybe better. A output parameter is what I really would like to see implemented.

Ha yes, I saw that repo. Thank you for feeding the AI bots so they can help writing table scripts :+1:
This would be most natural I think.
vpxtool extractvbs foo.vpx /tmp/test/foo.vbs

Or would you prefer below where you don't have to repeat the filename?
vpxtool extractvbs foo.vpx --dir /tmp/test

Could of course implement both and fail if --dir is used in combination with the first case.

By the way I use your repo to test my vbscript parser: https://github.com/francisdb/vbscript.rs/blob/main/testscripts/populate.sh

I hope 0.18.0 has what you need.

Busy with other tasks, but, now just implemented it and as expected -blazing fast. Thanks again <3


hotfix userscript

created pull request based on the issue

anyone please test this

@davidmann4 works for me on Chrome Windows 10 x64


automate the aws quota request for g4dn instances

Today people cannot start training with default g4dn instances after deploying the base template.
Recommendation is to update the base template to include the AWS quota request for g4dn instance and g4dn spot instance.

I'll work on this.

https://github.com/aws-deepracer-community/deepracer-on-the-spot/pull/81 resolves this issue


connect domain to aws

front to amplify
setup domain redirect

done: https://www.cloud-exam-prepare.com/

workflow: https://romankurnovskii.com/en/posts/cloud-exam-quizz/amplify-custom-domain/


slack: add 'bazel run show_slack' that show slack in 3d

Run bazel run show_slack, and you get an interactive 3d graph of the slack as a function of position for the 1000 WNS paths.
@precisionmoon @maliberty @jeffng-or What I really wanted was CTS skew as a function of x/y position plotted in 3d.
This is based on some old ideas in this discussion

@maliberty How can I get the skew for a timing path from Tcl?


[SPARK-6624][WIP] Draft of another alternative version of CNF normalization

This PR is a draft version of another alternative of CNF normalization based on comment in PR #8200. This PR doesn't include test cases, and is only for further discussion.
In this version, CNF normalization is implemented as a separate function Predicate.toCNF, which accepts an optional expansion threshold to prevent exponential explosion. The motivation behind this design is that, CNF normalization itself can be useful in other use cases (e.g., eliminating common predicate factors). It would be convenient if we can call it from anywhere without involving the optimizer.
Another consideration is that, if no expansion threshold is provided, toCNF should always return a predicate that is really in CNF. That's why a new RuleExecutor strategy FixedPoint.Unlimited is added.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/48235/
Test FAILed.

Test build #48236 has started for PR 10444 at commit 031278f.

cc @nongli @rxin @marmbrus @yjshen

Test build #48236 has finished for PR 10444 at commit 031278f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/48236/
Test PASSed.

Test build #48238 has started for PR 10444 at commit 6e2c052.

Test build #48238 has finished for PR 10444 at commit 6e2c052.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/48238/
Test PASSed.


Add client_buffers reorder strategy for ArbitraryOutputBuffer.

Hi, prestosql community. Recently, we found that Client Buffers in ArbitraryOutputBuffer are selected by requests or a fixed order to load page from Master Buffer, so it may cause input_data skewness in next stage.
And here are some details:
In our case, we do an order by after all aggregations. And we find that after RoundRobin distribution of last aggregation, the input_data rows/bytes on sort nodes have obvious skewness. And it may cause the query fail since one of the nodes exceeds max-(total)-memory-per-node. The data distribution skewness and the memory usage(max/avg/min) in reserved pool shows as following:

After investigating, we find RoundRobin distribution uses ArbitraryOutputBuffer as its task_output_buffer and ArbitraryOutputBuffer uses a for loop to assign pages from master_buffer to all client_buffers, so if there are only very few pages in master_buffer when assignment starts, only the first several client_buffers can get such pages, then skewness comes.
I think data skewness is not good for any distribution system, so we try to change the order of client_buffers when assignment starts. We provide 4 reorder strategies: DEFAULT(same as now), SHUFFLE, ROW_COUNT and PAGE_COUNT in SessionProperties as client_buffers_reorder_strategy.
The data distribution and the memory usage when set to ROW_COUNT shows as following:

I'm not sure if this PR is a good solution, but I think the data skewness after ArbitraryOutputBuffer is not expected.

This might be the same problem I've seen with writer scaling which uses ArbitraryOutputBuffer:

We start with a single writer (consumer). It goes to each of the producers to request data.
The producers all assign / reserve a large amount output data for the consumer.
The consumer now has much more data than it can efficiently handle, and takes a while to process it.
More writers (consumers) are added, but each of them gets a smaller amount of data, since the remaining data in the buffer is assigned to earlier consumers.
After a consumer is done processing, it repeats this process, again ending up with too much data allocated to it, preventing other consumers from getting a fair share.

We've talked about redesigning the buffer / exchange protocol to prevent this, but that's a bigger project. Your solution might be a good intermediate fix. @dain should take a look at this.

The arbitrary output buffer is used for scaled writers, which dynamically adds new  writer tasks as needed to improve throughput.  In the case where a new writer is added, it would start with a rows and pages added of zero, so all data would preferentially go to that writer until it caught up with the other existing writers.  I think that would cause problems for anyone that used the ROW_COUNT or  PAGE_COUNT strategy, so I suggest we don't include them.  That leaves only the current ordinal strategy and random, and I think random is better in every way, so I suggest we change to code to always use random without any session property to change the behavior.

The arbitrary output buffer is used for scaled writers, which dynamically adds new writer tasks as needed to improve throughput. In the case where a new writer is added, it would start with a rows and pages added of zero, so all data would preferentially go to that writer until it caught up with the other existing writers. I think that would cause problems for anyone that used the ROW_COUNT or PAGE_COUNT strategy, so I suggest we don't include them. That leaves only the current ordinal strategy and random, and I think random is better in every way, so I suggest we change to code to always use random without any session property to change the behavior.

Agree. I will change code to meet the requirement soon.

@dain, @zijian-qiao the comments here seem to be implying that the data skew created by current ArbitraryOutputBuffer behavior is only incurred when writer scaling is enabled, but that not quite right based on our observed production behavior with a fixed writer count. It appears that ArbitraryOutputBuffer is used currently used there too and subject to data skew in all cases where the consuming clients are reliably faster than the producing operation.
I’ve opened https://github.com/prestosql/presto/pull/2788 with a simpler change to address the same skewing problem without randomly shuffling each iteration. I can see the benefit of alternative logic to “feed the fastest consumer”, etc- but the my approach was to bias towards approximating the intent of the round robin case. Feedback welcome and appreciated.

@zijian-qiao is this still needed with the changes from @pettyjamesm?

Emm.. I think no, @pettyjamesm 's round robin is also a good solution. Thanks all.

@zijian-qiao thanks for working on this!


Nearby: Refreshing map moves the map to the place I am in physically

Map should not move, as the user has scrolled to that place presumably for a reason.
https://github.com/user-attachments/assets/76cd2cad-4ce3-4048-91d8-83c048e3eb18

What is the purpose of that refresh button? We generally don't have such a button on Maps.

@rohit9625 It clears the cache for the pin colors. Getting pin colors from Wikidata takes a lot of time and server resources. If someone adds a P18 for a pin on desktop, the app will not know and continue to show it red.

I'd like to work on this.

@savsch Thanks! 🙂


The type or namespace name 'SignInManager' could not be found (are you missing a using directive or an assembly reference?)

To address your issues more quickly, please open the issue in the most appropriate repository. These are some of the most common repos:
Common ASP.NET and Entity Framework repos and projects:

Documentation: https://github.com/aspnet/Docs
MVC: https://github.com/aspnet/Mvc
Entity Framework Core: https://github.com/aspnet/EntityFrameworkCore
Entity Framework 6: https://github.com/aspnet/EntityFramework6
SignalR: https://github.com/aspnet/SignalR
Docker with ASP.NET Core: https://github.com/aspnet/aspnet-docker
Microsoft.NET.Sdk.Web: https://github.com/aspnet/websdk
Kestrel HTTP Server: https://github.com/aspnet/KestrelHttpServer
ASP.NET Katana: https://github.com/aspnet/AspNetKatana
and more! See a full list here: https://github.com/aspnet
note: several repositories have migrated their issues tracker to this repo here

Other common projects:

.NET Core CLI and SDK: https://github.com/dotnet/core
.NET Core runtime: https://github.com/dotnet/coreclr
.NET Core libraries: https://github.com/dotnet/corefx
NuGet: https://github.com/NuGet/home
Visual Studio: https://developercommunity.visualstudio.com
Visual Studio Code: https://github.com/microsoft/vscode
Omnisharp (C# support for VS Code): https://github.com/omnisharp/omnisharp-vscode

Hi. We're closing this issue because there is not enough information to reproduce it. If you have more details and are encountering this issue please add a new reply and re-open the issue.


Add function to Civis utils

Use Civis robot user to do a scheduled git add, git commit, git push and overwrite files on GitHub. Can be used to overwrite the CSVs or push to GitHub pages.

We can start by adding the upload function to the new civis utils package. The hard coded repo, branch name, token name, etc can all be made parameters of the function.
I think by using fsspec.open it will automatically work for both local and remote files, but we should verify.

Closing via this and this aqueduct PR


Document the Crossover functions a bit better with examples

For example, https://pkg.go.dev/github.com/MaxHalford/eaopt#CrossERX states

CrossERX (Edge Recombination Crossover).

I don't know what that means. Would be nice with an example or link to somewhere on the Internet that explains this.
The same type of feedback applies to many of the other Cross* functions.

Hey there. I don't have time to devote to this project, sadly.

No worries. Do you think you could share where you learned about the crossover functions? Any book? Course? Something else? I might be able to contribute this myself. I find this project very interesting.

So it's been a while. There was a time where I was doing a lot of evolutionary stuff. I mostly got this knowledge from reading obscure papers. But at the time I was a university student, so I wouldn't as good as now at taking notes. So no sorry I don't have a lot of references. I think you can find a lot of results online if you Google stuff like "Edge Recombination Crossover". I'm sorry I don't have a better answer :(


DEPRECATION warning when installing from repo using pip install -e .

DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621

Quoting @uranusjr from https://github.com/orgs/Homebrew/discussions/1405:

I am one of the maintainers of pip, the Python package installer. We are recently informed that Homebrew is currently using distutils.cfg to configure package installation schemes, and we believe it is best for Homebrew to remove the usage.
Python is currently deprecating distutils, and will remove the module entirely in 3.10 (PEP 632). As a part of the transition, pip is moving all its current distutils usages to the sysconfig module instead, and a user recently reported pip would no longer work correctly with Homebrew-compiled Python after the transision. This is due to Homebrew’s usage of distutils.cfg, which is no longer supported in sysconfig.
The distutils.cfg file (and its various variants) has long been disfavoured by Python core maintainers, and the recommendation, if redistributors wish to provide custom install schemes, has been to directly patch distutils and sysconfig instead. This is the current approach taken by all Linux distributions that we have contact with, and the community is working toward providing better support to the patching process (b.p.o-43976). I’m recommending Homebrew to also migrate away from the distutils.cfg usage, since it is going to break while the community continuously migrate away from distutils, and stop working entirely when Python 3.12 lands, and join the conversation with other Python redistributors to improve sysconfig to support Homebrew’s needs.


[WIP] Add Anaconda

Inspired by #13359, I decided to try to add Anaconda to brew cask.
The first issue is that it's actually packaged as a shell script. (ie. you run bash Anaconda3-2.3.0-MacOSX-x86_64.sh -b to install via command-line silently, and I'm not sure what stanza would do that)
It installs to ~/anaconda3 by default, and I'm not sure that is expected behavior for cask. (Note that we can change the default location by passing `-p {path) to it', but with the upcoming change, should we restrict things to only the Caskroom directory, anyway?
It adds itself to the path (ie. export PATH="/Users/aditya/anaconda3/bin:$PATH") - would this be a caveat?
There is a GUI interface at ~/anaconda3/Launcher.app as well that should be linked.
Help appreciated, thanks!

but with the upcoming change

That change will mimic usual install behaviour, so we’ll do whatever default installation this does.

It adds itself to the path

What does it do that, exactly, does it append a line to shell startup files? If yes, which ones?

There is a GUI interface at ~/anaconda3/Launcher.app as well that should be linked.

Try app, as usual.
To install this, take a look at postflight.
What kind of an idea is it to package your app as a 257MB shell script, anyway?

The path is added into .bashrc, so maybe a caveat like:
caveats do
    <<-EOS.undent
    To use Anaconda, you must add the $ANACONDA_ROOT/bin directory
    to your PATH environment variable.
    For bash shell, add these lines to ~/.bash_profile:

      export ANACONDA_ROOT=~/anaconda3
      export PATH=$ANACONDA_ROOT/bin:"$PATH"

EOS
end

Linking the .app is fine (and makes sense), but how do you run bash Anaconda3-2.3.0-MacOSX-x86_64.sh -b from within brew (is there an exec command).
I came up with
  installer :script => 'Anaconda3-#{version}-MacOSX-x86_64.sh',
            :args => %w{-b},
            :sudo => false

does that seem okay?
The install script is here FYI - everything is packaged as a binary blob after the script.

Oh, right, I forgot about installer :script. Yes, that looks OK.

Still no luck, would you mind taking a look? Thanks

What’s the difficulty you’re having?

I run into this error:
Error: Uh oh, could not identify primary container for '/Library/Caches/Homebrew/anaconda-2.3.0.sh'

It needs to be executed as bash Anaconda-2.3.0-MacOSX-x86_64.sh -b, any thoughts on getting that working?
The app: 'Launcher.app' stanza probably won't work, because the full path is ~/anaconda/Launcher.app (not related to any caskroom directories - that's why I tried using staged_path)
Updated caveats & added uninstall.

Error: Uh oh, could not identify primary container for '/Library/Caches/Homebrew/anaconda-2.3.0.sh'

This line fixes it.

Thank you for the contribution. It needed some fixes, so they were made in a5e7b4345a2c947a198db21448c4e600a7c0a567. Your contribution is still included (and still credited to you), with the appropriate modifications. Please feel free to ask about any of the changes.

Excellent, thanks!


kubectl get multicastgroups requires NetworkPolicyStats feature to be enabled

Describe the bug
A user reported that running kubectl get multicastgroups was always returning an empty list, even when multicast was enabled correctly.
When looking at the code, I saw that this command requires NetworkPolicyStats to be enabled: https://github.com/antrea-io/antrea/blob/e8adb07c7f70ab66bc098b46507b43b317e792c2/pkg/apiserver/registry/stats/multicastgroup/rest.go#L74-L80
This should not be an issue for most users, as NetworkPolicyStats has been enabled by default (Beta) since Antrea v1.2. However, this is still a surprising requirement.
To Reproduce
Deploy Antrea with NetworkPolicyStats disabled and multicast enabled, and follow the guide in https://github.com/antrea-io/antrea/blob/main/docs/multicast-guide.md#use-case-example.
Expected
kubectl get multicastgroups should print multicast groups correctly.
Actual behavior
The output of kubectl get multicastgroups is always empty.
Versions:
Observed with Antrea v1.9, but should be the same with Antrea v1.12
Additional context
I feel like we have 2 options:

"fix" the code so that NetworkPolicyStats is no longer a requirement for kubectl get multicastgroups
document the requirement in the Multicast documentation

If option 1 is a lot of work, option 2 may be enough given that NetworkPolicyStats is stable and enabled by default.

cc @ceclinux

I feel option 1 is more reasonable. Will create a pr to fix this. Thanks.


Create route helpers for Get Involved and Topical Events

The controllers for these routes were removed some time ago, however the routes (and the non-existent controller names) remained in the routes file solely so we could utilise the route helpers automatically created by Rails.
This removes those routes and creates our own custom route helper methods.
I did investigate using direct routes as an alternative.  This would be fine to use if we only wanted fairly static URLs, e.g. /government/get-involved or /government/get-involves/take-part/#{slug}.  It appears the returned string gets passed into url_for, which doesn't apply any of the options (e.g. appending a cachebust string, locale or format) if you pass in a string (it does if you use a model or controller name).  Therefore we'll need to create our own helpers in order to add in these options which are quite extensively baked into Whitehall.
This PR includes a commit that fixes a test (forming atom feed URLs) that will be removed when https://github.com/alphagov/whitehall/pull/6900 is merged, as Whitehall no longer needs to create these URLs for formats that it no longer renders.
Trello card
⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠

I think worth deploying this to integration and having a poke round the pages that will be affected by this just to be double sure?

Yes, I'll definitely do this before merging.  I did test all the possible UIs locally, but a final check on integration would be good too.

I've deployed this to integration, clicked around the relevant pages in Whitehall's admin UI and checked for errors being logged.  All looks ok, so I'm going to merge this into main.


RF connection not working with IEnergyHandler

Issue Description:
EnderIO power interface is making invalid assumption on CoFH Energy blocks
What happens:
When connecting with a tile entity implementing both IEnergyReceiver and IEnergyProvider, EnderIO only check for the latest and doesn't realize that the same tile entity can also receive energy.
As seen here: https://github.com/SleepyTrousers/EnderIO/blob/master/src/main/java/crazypants/enderio/power/PowerHandlerUtil.java#L21
What you expected to happen:
EnderIO should support tile entities with both direction of RF energy.
Steps to reproduce:

place a WarpDrive energy bank
fill the bank with energy by placing a EnderIO creative capacitor next to it
empty the bank with energy by placing an empty EnderIO capacitor next to it

Affected Versions (Do not use "latest"):

EnderIO: EnderIO-1.7.10-<IP_ADDRESS>4_beta-dev
EnderCore: EnderCore-1.7.10-<IP_ADDRESS>_beta-dev
Minecraft: 1.7.10
Forge: <IP_ADDRESS>0

Your most recent log file where the issue was present:
N/A

Umm - I don't know why you think the code is wrong - but it actually checks for IEnergyHandler first, and the EnergyHandlerPI  class is both input and output.

EnergyHandlerPI is missing all the implementations to handle an energy provider.
PowerHandlerUtil assums you can be both IEnergyReceiver and IEnergyProvider which is incorrect as reported in the API comments here: https://github.com/SleepyTrousers/EnderIO/blob/master/src/main/java/cofh/api/energy/IEnergyHandler.java#L15

I've got confused with another bug in my mod, there's indeed no missing in EnergyHanderPI. I've updated the original post accordingly.

but it actually checks for IEnergyHandler first

Didn't that get deprecated as separate interface and is now just a shorthand for receiver+provider?

yes, that's the object of this issue and the related pull request


FIX : EDF+ Annotation Timestamps missing sub-second accuracy

closes #7872

@greydongilmore the onsets are now as you expect them but I am wondering if I should not also update the info['meas_date'] as it can contain miliseconds
wdyt?

This information would be useful to have access to upon heading the EDF+ file header. However, the header block in the EDF+ file will not contain the millisecond value information, and adding it to the info dict would require moving outside the header block to decode the TAL channel. Would this cause an issue for any other EDF methods?
If implemented, a conditional statement could be added based on the EDF type (whether EDF or EDF+). A zero millisecond value could be added to the info['meas_date'] if EDF file is detected, otherwise read the first block of the TAL channel to get the value.
From the EDF spec documentation:

Onset must start with a '+' or a '-' character and specifies the amount of seconds by which the onset of the annotated event follows ('+') or precedes ('-') the startdate/time of the file, that is specified in the header.

So the subsecond part of the starttime must be added to the onset time of the events
at the moment of writing them into the file. The subsecond part of the starttime must be subtracted from the onset time of the events at the moment of reading them from the file.

ok then I guess what I did does what you expect.
with my branch my onsets are now:
[  1.951172   3.492188 290.501953 583.572266]

@agramfort I have tested on a few other files locally and it performs as expected now.

A test would be nice. I've cropped the file linked by @greydongilmore to 5s (and removed most channels as well as downsampled to 256Hz). If @greydongilmore gives us permission to use this cropped file (17kB) I'd upload it to mne-testing-data so that @agramfort can add a test. There are only 2 annotations in it (XLSpike and Clip Note).

@cbrnr ok for you?

Yes, perfect! Now let's wait for permission to use the small test file.

the file shared with me is 30MB
do you have an edf file that makes you pass in the if block with an offset
different from 0?
none of our test files have this.

cool for the tiny file. Can you share it with me?

I cropped the file that @greydongilmore shared with you. It's 17kB and has the sub-second start time.

where is the file?

subsecond_starttime.edf.zip

I am putting this in the testing data. thanks

@cbrnr merge if you're happy

Thanks @agramfort!

@cbrnr @agramfort thanks for quick action on this! 👍

great team effort !


returns error if using wildcard index and using SetHttpClient

Which version of Elastic are you using?
elastic.v6 (for Elasticsearch 6.3)
AWS ES
Please describe the actual behavior
When using wildcard index and using SetHttpClient, it returns error "elastic: Error 403 (Forbidden)".
Any steps to reproduce the behavior?
This is working well.
var url string = os.Getenv("AWS_ELASTICSEARCH_ENDPOINT")
signingClient := aws.NewV4SigningClient(awsauth.Credentials{
	AccessKeyID:     os.Getenv("AWS_ACCESS_KEY_ID"),
	SecretAccessKey: os.Getenv("AWS_SECRET_ACCESS_KEY"),
})

client, err := elastic.NewClient(
	elastic.SetURL(url),
	elastic.SetSniff(false),
	elastic.SetHttpClient(signingClient),
)

ctx := context.Background()
searchResult, err := client.Search().
	Index("test-2018").
	Pretty(true).
	Do(ctx)

if I use wildcard index such as here, returns errror.
searchResult, err := client.Search().
	Index("test-*").
	Pretty(true).
	Do(ctx)

Does it changes request to endpoint if use SetHttpClient?
Thanks.

Maybe solved by #895?!

What is the exact error message of the 403? Can you enable trace logging and send the output? I only see 403 from ES when there's an expired license or you're authenticating via X-Pack and the user is using invalid credentials.

@olivere  Thank you for your reply.
Here is whole error message from aws.
{"message":"The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details."}

Above is returned only using wildcard only.  When I try without wildcard working correctly.
So I try to request searching with wildcard to ES on Aws via postman set Authorization.
=> Response is good.  Oops..
Aws accepts a request with wildcard index  and authorization token.
I'm suspecting around headers too.
thanks.


Thank you!

Hey,
John De Goes tweeted about being grateful to OSS contributors, so I thought it'd be a cool thing to do. You're why I got into functional programming, why I get to go to talks and preach the ways of PureScript/Haskell, and, between you and @joneshf, why I'm getting way too excited about category theory.
I put this on this one because I've been trying to pay attention to that talk you mentioned on denotational design, and I came looking for your F-algebra example. I guess I hoped it would stand out a bit more, too, and not make you feel like you had another problem to deal with :)

I still don't understand the definition of Corecursion, Transducers, F-Algebras and all the morphism jargons appearing in the notes. I have watched the video and read the slides a few times but couldn't find the definition. The definitions on the internet is not easily understood by javascript developers. @i-am-tom Would you please write them up here? Thanks a lot!

@stevemao I can certainly try, + hope @DrBoolean doesn't mind me using his issues space as a note pad! Warning: skip to the end when this stuff gets too dense to interpret.
Corecursion
The dual of recursion. With recursion, we can do things like reduce - take a group of things and combine them into one. For example:
const sum = xs => xs.reduce((acc, x) => acc + x, 0)

sum([1, 2, 3, 4, 5]) // 15

We started with a group of things (the five numbers) and ended up with one thing (15). That "one thing" can be anything - even another array! - but the point is that we combine a group of things. With corecursion, we start with the one thing and build the group:
const countDown = n => n > 0 ? [n, ... countDown(n - 1)] : []

countDown(5) // [5, 4, 3, 2, 1]

We started with one thing (5) and ended up with a group of things (the five numbers). See that it's exactly the opposite concept! In the most general form, we tend to express recursion and corecursion with things similar to fold (which JS calls reduce) and unfold respectively. The code for this talk gives an implementation of unfold, which we can use to rewrite our function above:
const countDown = n => unfold(function (n) {
  return n <= 0 ? undefined : [n, n - 1]
}, n)

Bonus: when Brian makes mention of a hylomorphism, that's an unfold followed by fold! We could use the above two examples to write a hylo to add up all the numbers up to a certain point:
const sumUntil = max => hylo(sum, countDown, max)

sumUntil(5) // 15!

Recursion combines (folds) a group of values into a single value.
Corecursion generates (unfolds) a group of values from a single value.

They're opposites :)
Transducers
The most fully-formed introductory explanation I've seen of these is in @getify's book in the first appendix. I would work through that chapter and see if that helps you. If not, get in touch, and we'll go through it together :)
F-Algebra
You can really just think of this as a term meaning, "thing that we can reduce", and you'll be on the right track. Strictly speaking, the F relates to some container type (array, tree, whatever) that holds some values of type a, and can be "reduced" to a single value of type a. f a -> a. That's all it is.
We can get much fancier by using a Fix structure, but I would recommend getting comfortable with other concepts like co-recursion first, as this is a bit intense, and not something you'll have to worry about. In a nutshell, we can think of this a bit like "factoring out recursion". I do think Brian's talk is as clear as you can make these advanced cases without just playing with them in the wild, but we'll talk about the morphism stuff in a minute and that should help!
For me, the post that cemented by understanding was Understanding F-Algebras by @BartoszMilewski. Of course, the examples are written in Haskell, but I'd be happy to translate the examples into JS if it hasn't already been done somewhere. As I say, though, I'd work through the first two points you mentioned, and come back to this later on. You can achieve everything an F-algebra does without using one - they just make for some really elegant code :)
Morphism Jargon
According to Wikipedia,

In many fields of mathematics, morphism refers to a structure-preserving map from one mathematical structure to another.

Soooo, you can basically read morphisms as a way of turning things of one type into things of another. That's all. Morphisms are, well, functions. However, as you pointed out, there are quite a few something-morphisms in the notes, so let's look at a bunch of them.
Catamorphism: it's a fancy word for reduce (well, technically reduceRight)! We did this back in the first part with sum.  The morphism is from "bunch of things" to "another".
Anamorphism: it's a fancy word for unfold! countDown is an anamorphism. Anamorphisms are morphisms from "another" to "bunch of things", to flip the previous example.
Hylomorphism: the combination of anamorphism and catamorphism!
Isomorphism: a relationship between two types of thing that is losslessly reversible. Consider String and [Char]: "hello".split('').join('') === "hello". In fact, you can replace "hello" with any string and this will be true, because split and join form an isomorphism between those two types.
These are all written out in super general terms in the (perhaps appropriately-named?) Pointless.RecursionPatterns package in case you want some further reading and links to a lot of papers. To spare you, though, we'll go through the other two that got a mention:
Paramorphism: it's like reduceRight. However, there's a difference:

In reduceRight, your reducer's arguments are the current value and the reduction of all previous values.
In para, your reducer's arguments are the current value, the reduction of all previous values, and the list of values that formed that reduction.

As with a lot of things, @pigworker gave a great explanation of why it's useful (again, in Haskell). Pay particular attention to the suff example, though:
// Obviously not safe for lists containing `undefined`,
// but good enough to make the point.
const para = (reducer, accumulator, [x, ... xs]) =>
  x !== undefined
  ? reducer(x, xs, para(reducer, accumulator, xs))
  : accumulator

const suffixes = list => para(
  (x, xs, suffxs) => [xs, ... suffxs],
  [],
  list
)

suffixes([1, 2, 3, 4, 5]) // [[2, 3, 4, 5], [3, 4, 5], [4, 5], [5]]

I like this example because we're folding an array into an array of arrays. It goes to show that the folded type can be anything!

In the reducer for suffixes, we get x (the "next item to reduce", which we're ignoring), xs (the items consumed so far), and suffxs (what we'd call acc in a normal reduce). The magic here is that xs - the last step's reduction - is the suffix we want (because, last time, we ignored the head, and this time, we want to use it). Might take a couple of readthroughs, sorry. In essence, para is kind of like having a history of what got you to your current acc value.
Apomorphism: it's the opposite of para, just as ana is the opposite of cata. Whereas with para, you combine with access to the accumulator and what has been accumulated, apo lets you unfold with the potential to return early. This is cool because it answers the oft-asked question of "how do I early-abort reduce?" However, it's super frightening to a beginner, and I've been getting along just fine without really understanding it, so absolutely do not worry about it. Seriously. It's not something you need in JavaScript as we have other machinery for accomplishing the same thing.

Sorry, I got super carried away. I hope that's useful in some way - I know it gets progressively more complicated, but it also gets progressively less necessary for writing everyday functional code. Corecursion and transducers are useful in ways that are obvious almost immediately. F-algebra promotes really neat ways of doing recursion, as long as your entire team understands what they do. Morphisms are wonderful mathematical ideas, but, at my day job, I'd fail you on code review if I saw apo anywhere in your code. These really aren't topics you want to use in practice unless your surrounding coworkers are equally enthusiastic...
And, of course, no one knows all this stuff. Everyone has foggy areas. I myself have been trying to get through a recursion scheme article for days now, with very limited success. Keep re-reading, keep trying things out, and keep asking questions. If nothing else, it's great practice for others to have to explain their understanding!

Great explanations @i-am-tom!
I should mention there is a JS port of some of these concepts from matryoshka and Haskell's recursion scheme lib here: https://github.com/DrBoolean/excursion
These are extremely powerful concepts that can capture any explicit recursion with composable pieces, but still needs a lot of optimization in JS

Thanks, @DrBoolean! When I'm not busy with Fantasy Land, I'd love to sit down and have a go at coming up with a set of really practical, well-documented examples of each of the schemes in your matryoshka port. Would be great to get it out of the inner circle of academia 🙃

Thanks for you explanation @i-am-tom . I'm planing to add these to https://github.com/hemanth/functional-programming-jargon. There's limited good functional programming resources we can find in js world even people talking about react and redux all the time. I really hope to improve this in the community :)

Awesome! I think we're all on the same mission, hah. If there's anything I can better explain in the above post, do let me know!

@i-am-tom I don't know how you can early-abort reduce in Apomorphism. Looking at the implementation of Paramorphism
// Obviously not safe for lists containing `undefined`,
// but good enough to make the point.
const para = (reducer, accumulator, [x, ... xs]) =>
  x !== undefined

In the x !== undefined bit, if the last accumulation is undefined, does it early abort? Or it's just your simplified implementation?

Ah. para isn't early-abort. The undefined bit was because, in reality, you'd do a proper check to see that the list was empty. This is a much more respectable implementation:
const para = (reducer, accumulator, elements) => {
  if (elements.length === 0)
    return accumulator

  const head = elements[0]
  const tail = elements.slice(1)

  return reducer(head, tail, para(reducer, accumulator, tail))
}

I was just being lazy :flushed:

To see why Apomorphism, we need to write a slightly more formal Anamorphism. To spare us all the recursion scheme boilerplate, we'll just use the basic one from unfoldr:
unfoldr :: (b -> Maybe (a, b)) -> b -> [a]

So, we can, at any stage, return Nothing to indicate that we're done with unfolding. However, sometimes, we might be able to speed up the unfold if we already know the rest. The example in the article I quoted of list concat was a great one: if we have a Nil first list, we can early-abort because
we know the rest of the unfold already - it's the second list! With that in mind, your type signature for a very simple apomorphism could probably look something like this:
simpleApo :: (b -> Either [a] (a, b)) -> b -> [a]

I want to spend a bit more time writing up an example once my Fantasy Land posts are done, but this should be enough intuition for now.
tl;dr "Early abort" in the context of unfolds might seem odd, because "abort" is the end of the unfold, so it's not really early. However, what it means is that, if we have access to exactly what the rest of the fold is going to be, we can say "actually just use this instead" and not loop through it. Hence, "early" abort :)

I got here from a conversation about not using IF/ELSE and instead using a catamorphism. If/else is usually the fastest construct in any language, and has short cutting. What practical advantage is there for using catamorphism?

I got here from a conversation about not using IF/ELSE and instead using a catamorphism.

I'm not sure if I understand you correctly but a sum type (union type) is usually used to replace if/else. You can use a sum type to pattern match different scenarios to branch your code while you can still compose everything.


update packages

:x: Build TheIdServer 6.3.1-fix-dependencies1-0139 failed (commit https://github.com/Aguafrommars/TheIdServer/commit/ca42ecb6b4 by @)

:white_check_mark: Build TheIdServer 6.3.1-fix-dependencies.1+139.build.2617 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/ca42ecb6b4 by @)


[feature request] Any way to control the order of send/recv (host to device data transfer) explicitly?

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
Linux Ubuntu 16.04
TensorFlow installed from (source or binary):
source
TensorFlow version (use command below):
1.2
Python version:
3.5
Bazel version (if compiling from source):
0.5.2
CUDA/cuDNN version:
8.0
GPU model and memory:
GTX 1070

Describe the problem
Describe the problem clearly here. Be sure to convey here why it's a bug in TensorFlow or a feature request.
Overlapping the host to device data transfer with GPU calculation is an important method to improve the performance of inference workload. But I found it very difficult to control the order of data transfers explicitly at this moment. I understand the send/recv operations are added implicitly when the original graph is split/optimized into sub-graphs. I tried to use control dependency + identity/assign operation (as suggested here) to hand control send/recv order. But it seems impossible to achieve this goal.
For example,
In the following code, we'd like to overlap the H2D memcpy of B->B_GPU with the matmul calculation.
import os
import tensorflow as tf
import numpy as np

from tensorflow.python.client import session
from tensorflow.python.framework import ops
from tensorflow.python.ops import variables

os.environ['TF_CPP_MIN_LOG_LEVEL'] = '1'

with ops.Graph().as_default():
  with tf.device('/cpu:0'):
    A = tf.placeholder(tf.float32, shape=(1000, 100), name="A")
    B = tf.placeholder(tf.float32, shape=(1000, 1000), name="B")
  with tf.device('/gpu:0'):
    C = variables.Variable(tf.random_normal([100,1000],stddev=0.1), name="C")
    A_GPU = tf.identity(A)
    with tf.control_dependencies([A_GPU]):
      B_GPU = tf.identity(B)
      D = tf.add(tf.matmul(A_GPU, C), B_GPU, name="D")

  random_A=np.random.rand(1000,100).astype(np.float32)
  random_B=np.random.rand(1000,1000).astype(np.float32)

  sess = session.Session()
  init = tf.global_variables_initializer()
  sess.run(init)

  for x in range(1,50):
    output = sess.run(D,feed_dict={A:random_A,B:random_B})

But it turned out that H2D memcpy A->A_GPU is not ensured to launch first. Actually among the 50 iterations, I noticed the order of transferring A->A_GPU and transferring B->B_GPU is randomly performed if we use multiple threads (because the two transfers are handled in different threads, and no-dependency could be built between them).
If A->A_GPU launches first, the matmul op could be overlapped with B->B-GPU

otherwise, the matmul op has to wait until all H2D memcpys finished.

Only if we can control the order of send node explicitly, the overlap can be ensured.
Please let me know if I didn't use the identity operation correctly.
Thanks.

@poxvoculi can you offer any hints for this use case?

It has been 14 days with no activity and the awaiting tensorflower label was assigned. Please update the label and/or status accordingly.

@poxvoculi  You suggestion is great and it works! I have one more question related to the same topic. Do you have any idea about how to control the dependency of ops in the auto-grad(backpropagation)?


traefik throws 404 intermittently and request is not reaching to server

Do you want to request a feature or report a bug ?--  Bug

Bug

What did you do?
We have a service which runs on ec2 and calls to grpc service which runs on kubernetes. we use traefik as ingress controller for grpc applications on k8s.

What did you expect to see?
Request is fired and appropriate response is returned.
What did you see instead?
We are having issue where traefik intermittently starts to throw 404, even if downstream service is up and it was receiving requests normally. We have seen that requests were not reached to the server, we are not able to see such request in application logs. seems like traefik is not forwarding request to service. Resource utilization also looks fine.

To diagnose this we will need more information. Could you provide your Traefik logs (in debug mode) from the beginning when this is happening?
We will also need your dynamic configuration and ideally a reproducible test case.

I am observing something similar here. When I run multiple Traefik pods (daemonset or deployment with multiple replicas). I get several 404 between some 200. If I reduce the number of replicas to 1, everything works fine. There are also times when everything works well. A parallel installed nginx ingress controller does not show this problem, so I don't see a general problem in the cluster.

Hi! I'm Træfiker :robot: the bot in charge of tidying up the issues.
I have to close this one because of its lack of activity :disappointed:
Feel free to re-open it or join our Community Forum.


StepMarker is not a prop at least on index.d.ts how to add a custom step marker?

import * as React from 'react';
import * as ReactNative from 'react-native';

type Constructor<T> = new (...args: any[]) => T;

type SliderReferenceType =
  | (React.MutableRefObject<SliderRef> & React.LegacyRef<Slider>)
  | undefined;

export interface SliderPropsAndroid extends ReactNative.ViewProps {
  /**
   * Color of the foreground switch grip.
   */
  thumbTintColor?: string;
}

export interface SliderRef {
  updateValue(value: number): void;
}

export interface SliderPropsIOS extends ReactNative.ViewProps {
  /**
   * Assigns a maximum track image. Only static images are supported.
   * The leftmost pixel of the image will be stretched to fill the track.
   */
  maximumTrackImage?: ReactNative.ImageURISource;

  /**
   * Assigns a minimum track image. Only static images are supported.
   * The rightmost pixel of the image will be stretched to fill the track.
   */
  minimumTrackImage?: ReactNative.ImageURISource;

  /**
   * Permits tapping on the slider track to set the thumb position.
   * Defaults to false on iOS. No effect on Android or Windows.
   */
  tapToSeek?: boolean;

  /**
   * Sets an image for the thumb. Only static images are supported.
   */
  thumbImage?: ReactNative.ImageURISource;

  /**
   * Assigns a single image for the track. Only static images
   * are supported. The center pixel of the image will be stretched
   * to fill the track.
   */
  trackImage?: ReactNative.ImageURISource;
}

export interface SliderPropsWindows extends ReactNative.ViewProps {
  /**
   * Controls the orientation of the slider, default value is 'false' (horizontal).
   */
  vertical?: boolean;
}

export interface SliderProps
  extends SliderPropsIOS,
    SliderPropsAndroid,
    SliderPropsWindows {
  /**
   * If true the user won't be able to move the slider.
   * Default value is false.
   */
  disabled?: boolean;

  /**
   * The color used for the track to the right of the button.
   * Overrides the default blue gradient image.
   */
  maximumTrackTintColor?: string;

  /**
   * Initial maximum value of the slider. Default value is 1.
   */
  maximumValue?: number;

  /**
   * The lower limit value of the slider. The user won't be able to slide below this limit.
   */
  lowerLimit?: number;

  /**
   * The upper limit value of the slider. The user won't be able to slide above this limit.
   */
  upperLimit?: number;

  /**
   * The color used for the track to the left of the button.
   * Overrides the default blue gradient image.
   */
  minimumTrackTintColor?: string;

  /**
   * Initial minimum value of the slider. Default value is 0.
   */
  minimumValue?: number;

  /**
   * Callback that is called when the user picks up the slider.
   * The initial value is passed as an argument to the callback handler.
   */
  onSlidingStart?: (value: number) => void;

  /**
   * Callback called when the user finishes changing the value (e.g. when the slider is released).
   */
  onSlidingComplete?: (value: number) => void;

  /**
   * Callback continuously called while the user is dragging the slider.
   */
  onValueChange?: (value: number) => void;

  /**
   * Step value of the slider. The value should be between 0 and (maximumValue - minimumValue). Default value is 0.
   */
  step?: number;

  /**
   * Used to style and layout the Slider. See StyleSheet.js and ViewStylePropTypes.js for more info.
   */
  style?: ReactNative.StyleProp<ReactNative.ViewStyle>;

  /**
   * Used to locate this view in UI automation tests.
   */
  testID?: string;

  /**
   * Write-only property representing the value of the slider.
   * Can be used to programmatically control the position of the thumb.
   * Entered once at the beginning still acts as an initial value.
   * The value should be between minimumValue and maximumValue,
   * which default to 0 and 1 respectively.
   * Default value is 0.
   *
   * This is not a controlled component, you don't need to update the
   * value during dragging.
   */
  value?: number;

  /**
   * Reverses the direction of the slider.
   */
  inverted?: boolean;

  /**
   * A string of one or more words to be announced by the screen reader.
   * Otherwise, it will announce the value as a percentage.
   * Requires passing a value to `accessibilityIncrements` to work correctly.
   * Should be a plural word, as singular units will be handled.
   */
  accessibilityUnits?: string;

  /**
   * An array of values that represent the different increments displayed
   * by the slider. All the values passed into this prop must be strings.
   * Requires passing a value to `accessibilityUnits` to work correctly.
   * The number of elements must be the same as `maximumValue`.
   */
  accessibilityIncrements?: Array<string>;

  /**
   * Reference object.
   */
  ref?: SliderReferenceType;
}

/**
 * A component used to select a single value from a range of values.
 */
declare class SliderComponent extends React.Component<SliderProps> {}
declare const SliderBase: Constructor<ReactNative.NativeMethods> &
  typeof SliderComponent;
export default class Slider extends SliderBase {}
export type SliderIOS = Slider;

<Slider
            style={{ width: '100%', height: 40, position: 'relative' }}
            minimumValue={data.min}
            maximumValue={data.max}
            minimumTrackTintColor={theme.colors.secondary[600]}
            maximumTrackTintColor={theme.colors.primary[600]}
            value={amount}
            onValueChange={handleChange}
            tapToSeek
            thumbTintColor={theme.colors.primary[500]}
            StepMarker={({ stepMarked }) => {
              return stepMarked ? (
                <Svg height={20} width={20}>
                  <Polygon points='0 0 10 10 20 0' fill='#FFA300' />
                </Svg>
              ) : null
            }}
          />

"@react-native-community/slider": "^4.5.0",
"react-native": "0.73.2",
"expo": "^50.0.0",
How to add a custom step marker on slider 4.5.0?

Hello @tgmarinho, thank you for reaching out!
Please be aware that this feature is merged into main branch, but no yet fully released to public.
If you would like to try out the feature before next release you can clone this repo and use example app.
Let me know if this answer your question.

Closing due to lack of author's response, and the issue is most likely outdated with the latest version.

Closing due to lack of author's response, and the issue is most likely outdated with the latest version.

Is this feature still disabled in the release version, as it does not render the custom marker.
    "@react-native-community/slider": "^4.5.2",
    <Slider         StepMarker={({ stepMarked }) => {           return stepMarked ? (             <Svg height={20} width={20}>               <Polygon points="0 0 10 10 20 0" fill="#FFA300" />             </Svg>           ) : null;         }}         className="w-full"         onSlidingComplete={onSlidingComplete}         onValueChange={onValueChange}         step={1}         value={progress}         minimumValue={min}         maximumValue={max}         minimumTrackTintColor={minimumTrackTintColor}         maximumTrackTintColor={maximumTrackTintColor}         tapToSeek       />

Hello @AyoCodess!
No, this feature is "experimental", which means may contain some bugs, or inconveniences, but it is enabled.
For how to utilize these new props please see example app.
Looking at your code, I assume it should work (comparing to how StepMarker should be used), however, I'm unable to provide you with any more suggestions or tips/answers, as I don't know what these Svg and Polygon components are.
If you could provide me with some reusable code I can take a look and verify.

I figured it out, thanks.


[Impeller] Failing GPU compute tests on Intel macOS

@dnfield
[ RUN      ] Compute/ComputeTest.HeartCubicsToStrokeVertices/Metal
../../flutter/impeller/renderer/compute_subgroup_unittests.cc:163: Failure
Expected equality of these values:
  q->count
    Which is: 0
  golden_heart_quads.size()
    Which is: 26
../../flutter/impeller/renderer/compute_subgroup_unittests.cc:177: Failure
Expected equality of these values:
  p->count
    Which is: 0
  golden_heart_points.size()
    Which is: 147
../../flutter/impeller/renderer/compute_subgroup_unittests.cc:187: Failure
Expected equality of these values:
  v_count->count
    Which is: 0
  golden_heart_vertices.size()
    Which is: 586
[  FAILED  ] Compute/ComputeTest.HeartCubicsToStrokeVertices/Metal, where GetParam() = 4-byte object <00-00 00-00> (322 ms)
[ RUN      ] Compute/ComputeTest.QuadsToPolyline/Metal
../../flutter/impeller/renderer/compute_subgroup_unittests.cc:317: Failure
Expected equality of these values:
  p->count
    Which is: 0
  golden_heart_points.size()
    Which is: 147
[  FAILED  ] Compute/ComputeTest.QuadsToPolyline/Metal, where GetParam() = 4-byte object <00-00 00-00> (8 ms)

I'm going to try to get a hold of an Intel Mac mini to test this locally on. Otherwise I may have to SSH into one of the bots after quarantining it.
Our oldest bots are on Intel Iris 5100 GPUs, which should be enough to work with these tests.

I am in position of the machine and waiting for some updates to be able to fully provision it. Hopefully I can reproduce things there once that's done.

There are (at least?) three bugs:

The logic that's guarding the thread pool size is doing truncating division without guarding against truncation to zero. Easy fix.
The shaders are abusing barrier. I didn't think I was following the spec but it just worked on the M1 laptops so I figured maybe I misunderstood the spec. I was, in fact, misundersatnding the spec and getting lucky.
On the Intel IRIS 5100, the threadExecutionWidth is getting cut down to half of what the M1 uses for the same shader, which means the subgroup isn't big enough to handle all the math in one go. I need to fix that.


Having a different width for active slide offsets swiper slides when set to loop: true and centeredSlides: true

Check that this is really a bug

[x] I confirm

Reproduction link
https://codepen.io/jackkemm/pen/YzQZGBw
Bug description
I am creating a carousel which has a different size active slide to the other slides, but need to use the loop and centeredSlides functionality. My issue is the slides are now offset from the centre, but recentre on browser resize. Ideally I don't want to have to run a window resize event each time the slides change.
Expected Behavior
I would expect the carousel to still be centred on load and on slide change.
Actual Behavior
No response
Swiper version
7.0.4
Platform/Target and Browser Versions
macOS Big Sur - All browsers
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
[X] Make sure this is a Swiper issue and not a framework-specific issue

Would you like to open a PR for this bug?

[ ] I'm willing to open a PR

Changing slides sizes during transition is not supported and never will be