DDEP-0002:datdot-uri-scheme

@todo

[ ] add first draft of uri scheme proposal to include an app handler

inspiration

https://github.com/hypercore-protocol/hyp/blob/master/proposals/0002-hyper-url.md

e.g.
const protocol = `datdot:`
const dhost = `13f94sj9tjw4h40t294hg24h9` // example
const port = `60318` // example port of localhost websocket daemon
const hostname = `${dhost}[:${port}]`
const version_tag = `v123` // example
const hier_path = `foo/bar/baz` // example
const query = `foo=bar&beep=boop` // example
const fragment = `foobarbaz` // example
const uri = `${protocol}//${dhostname}[+${version_tag}][/${hier_path}][?${query}][#${fragment}]`

The structure/protocol behind a certain DHT topic and/or hypercore(s) (e.g. e.g. hypertrie, hyperdrive, cabal, etc...) is solved by DEP-007 and this issue about "related feeds" proposal, so basically, so you don't even need any custom protocol handler at all when it comes to sharing a links

BUT:
Which of the of compatible "apps" to use to open content?

is it a default app?
is it a custom app?

This is maybe a "related" but different problem.

related (sub) proposal:
context
Because it is hard to get new custom protocol handlers into browser, so you can instruct the browser which app to use to show content, i would recommend a different URL scheme, that allows more flexibility, because it only requires a single generic protocol handler for the entire ecosystem.
It is an alternative that does not depend on IANA Or others to:

datprotocol/DEPs#66 Consider IANA registration of URI Scheme for dat?
but would still need at least one handler to support that custom URL format, maybe dweb://

arewedistributedyet/arewedistributedyet#28 Shared stewardship of the "dweb" protocol handler

proposed format:

<querystring> = <param1=arg1&paramN=argN>
<p2p url> = <protocol>://<user>:<pass>@<subprotocol>:<hostname>:<port>/<path>?<querystring>#<fragment>

examples

dat://cabal:87ed2e3b160f261a032af03921a3bd09227d0a4cde73466c17114816cae43336+5
web+dat://cabal:example.chat:8080/channel/lobby?name=joe&status=idle#2020.05.09-13:37

alternative

https://hackmd.io/x4Wb4PifSBOGVO8FMCY-IA

any thouhgts on that and whether that is part of this or a separate spec proposal?
related/other sources of inspiration:

https://en.wikipedia.org/wiki/Magnet_URI_scheme

a reliable standard way to tell what "content" is behind a "dat address"?

* Like if i had a website where you can paste in a dat address (or swarmkey), you would be able to figure out all "types" of data available
* e.g. a `"dat address"` could make available a `hyperdrive` and also serve as a `cabal channel` (where people talk about the hyperdrive)

Next, people could maintain links to `"viewer websites"`
for each of the detectable data or protocol types and it comes with default viewer websites
* Finally, if people click `[open address]` it will open that new website
  (similar to open the correct desktop program for a file extension) and that website will load the content


[Q] What does "stderr: * Warning: regulate: out of sequence PCR, maybe source was cycling, restarting regulation" mean?

we are using tsswitch to play a string of files in sequence. We are getting this warning sometimes when we switch between video files. What does it mean?

You didn't mention the context. This is a regulate plugin message, not a tsswitch message (it only uses input and output plugins). So, I just guess that the message comes from a tsp command either at the output of tsswitch or at one of its inputs.
General cause: the regulate plugin suspends the execution on a regular basis to adapt the processing speed to the playout speed. The regulation is based on the bitrate or PCR's. In your case, the message indicates regulation based on PCR's (option --pcr-synchronous). The PCR are clock timestamps and the regulation is then based on those timestamps. In a regular TS, the PCR's are strictly incremental (wrap-up at 42 bits) and the increment represents a fraction of a second. This message indicates that the difference between two consecutive PCR's is so huge or so bizarre that they cannot come from the same stream. This is a clear symptom that, between these two PCR's, the source TS has changed.
This is just a warning. The regulation restarts on the new PCR reference. It just warns you that the small interval between these two PCR's (a fraction of a second) was not properly regulated.
If the message comes from an input tsp command, it is probably because you used -I file --infinite, meaning looping back the file. The last PCR of the file is followed that its first one, not in sequence of course.
If the message comes from an output tsp command, it is absolutely normal when the input switches from one source to the next one. There is no reason that the last PCR of file N and the first PCR of file N+1 are continuous. There is a leap.
Anyway, in all cases, the reason is normal, this is just a warning, you may safely ignore it.
Note: If your only purpose is to play a string of files in sequence, there is no need to use tsswitch, the file input plugin can do that: tsp -I file file1.ts file2.ts file3.ts .... RTFM as usual. tsswitch is typically used to aggregate different kinds of input, implement input backup, allow remote control.

You didn't mention the context. This is a regulate plugin message, not a tsswitch message (it only uses input and output plugins). So, I just guess that the message comes from a tsp command either at the output of tsswitch or at one of its inputs.
General cause: the regulate plugin suspends the execution on a regular basis to adapt the processing speed to the playout speed. The regulation is based on the bitrate or PCR's. In your case, the message indicates regulation based on PCR's (option --pcr-synchronous). The PCR are clock timestamps and the regulation is then based on those timestamps. In a regular TS, the PCR's are strictly incremental (wrap-up at 42 bits) and the increment represents a fraction of a second. This message indicates that the difference between two consecutive PCR's is so huge or so bizarre that they cannot come from the same stream. This is a clear symptom that, between these two PCR's, the source TS has changed.
This is just a warning. The regulation restarts on the new PCR reference. It just warns you that the small interval between these two PCR's (a fraction of a second) was not properly regulated.
If the message comes from an input tsp command, it is probably because you used -I file --infinite, meaning looping back the file. The last PCR of the file is followed that its first one, not in sequence of course.
If the message comes from an output tsp command, it is absolutely normal when the input switches from one source to the next one. There is no reason that the last PCR of file N and the first PCR of file N+1 are continuous. There is a leap.
Anyway, in all cases, the reason is normal, this is just a warning, you may safely ignore it.
Note: If your only purpose is to play a string of files in sequence, there is no need to use tsswitch, the file input plugin can do that: tsp -I file file1.ts file2.ts file3.ts .... RTFM as usual. tsswitch is typically used to aggregate different kinds of input, implement input backup, allow remote control.

first of all, Thank you for the reply.
I see, you are correct -I file --infinite is the cause of it.
Ok now, what if we fed the output of this tsswitch to ffmpeg to create an HLS stream. Do you think it would cause any packet corruption on ffmpeg part? I know this isnt the right place to ask about ffmpeg but maybe you know something about it?
We are doing this and it is causing Packet corrupt (stream = 0, dts = 46211540). error in ffmpeg side when creating the HLS stream.

If you jump from one stream into another, just like that, in the middle of a stream, you cut a video frame in the middle and restart with probably the middle of another video frame. So, this is quite normal that ffmpeg complains about corruption. The actual question is: is this just a transient error and ffmpeg continues or does it stop?
If the error makes ffmpeg stop, you have to find a way to smoothen the transition. If this is only a matter of time stamps, you may try the plugin pcradjust (please RTFM and try the various options by yourself) but the result is not perfect. If ffmpeg stops because of video corruption, then you have to find a solution using video tools or make sure in advance that file beginning and end are properly cut.

pcradjust

I see, I will try pcradjust. But I think the problem is in recordings, because we are recording from an SDI input. Each recording file starts with black screen, only after 1 secs of black screen it starts recording any content. Do you have suggestions to compensate for this when starting recording with tsp ?
thanks


Improved testing with nox

:x: Build NanoPyx 246 failed (commit https://github.com/HenriquesLab/NanoPyx/commit/79d80df22d by @paxcalpt)

:x: Build NanoPyx 247 failed (commit https://github.com/HenriquesLab/NanoPyx/commit/846f8b5433 by @paxcalpt)

:x: Build NanoPyx 248 failed (commit https://github.com/HenriquesLab/NanoPyx/commit/9b00f01937 by @paxcalpt)

:x: Build NanoPyx 247 failed (commit https://github.com/HenriquesLab/NanoPyx/commit/846f8b5433 by @paxcalpt)

:x: Build NanoPyx 248 failed (commit https://github.com/HenriquesLab/NanoPyx/commit/9b00f01937 by @paxcalpt)


[KARAF-5818] Upgrade to Felix ConfigAdmin 1.9.2

retest this please

retest this please

retest this please


Allow CAS customisation without WAR overlay

We’ve been using CAS for years and we are really happy with it! So we’ve decided to update to 5.1 but there is one serious issue:
proper customisation can be archived with cas-gradle-everlay-template meaning that it extracts WAR into another one, this has some drawbacks:

You cannot relay on Gradle dependency management since you are merging already existing WAR with all its libraries into another one.
No proper IDE support. Overlay it’s a Gradle project, but it has compile dependency to cas-server-webapp and this is a WAR. In this case, it will get copied into WEB-INF/lib as a WAR. This means, that before each deployment a Gradle task needs to be executed.
In order to merge two WAR files together, cas-gradle-overlay-template executes Gradle scripts from dl.bintray.com and raw.githubusercontent.com . What happens when those hosts are down? How about security? Some could modify those scripts and no one would notice.

I would be happy if there would be a standard way to customise CAS and I think that it should be possible with small structural changes. You would have to refactor structure within https://github.com/apereo/cas/tree/master/webapp :

create a new project: webapp/cas-server-webapp-lib as JAR
Move dependencies section from webapp/gradle/webapp.gradle into cas-server-webapp-lib/build.gradle
Move /webapp/resources into cas-server-webapp-lib/src/main
Set cas-server-webapp-lib as dependency in cas-server-webapp

Doing so we've created a new JAR containing web resources and dependencies for web project.
Now it's possible to customise CAS by importing cas-server-webapp-lib into any web-project, simple as that.
Each web resource can be still overwritten because its placed in a JAR (as-server-webapp-lib) and new files will be stored in WEB-INF/classes. This should also apply to Spring Boot executable war.

What you're describing essentially is the foundation of https://github.com/UniconLabs/gradle-cas-plugin in some ways. I recommend you review that repository and see how far it gets you. If that doesn't work, I recommend you look into the cas-server-webapp-init module, add the dependencies you need and create your own overlay project if what is provided is of concern. Once and if you do and you find improvements with a working prototype, please post back and we'd be happy to review, merge, etc.


fix overflow when convert big MyDecimal to BigDecimal

What problem does this PR solve?
This fixes https://github.com/pingcap/tispark/issues/1864.
What is changed and how it works?
Correctly judge whether it's safe to use the toLong() optimization.
Check List
Tests

Unit test

Related changes

Need to cherry-pick to the release branch

Yes, need backport to 2.3.x and 2.4.x.

/run-all-tests tikv=v4.0.5 tidb=v4.0.5 pd=v4.0.5


whiteboard contents are not saved

I was able to setup the server and have my nextcloud instance connect to it. I can create new whiteboards but whatever I draw in them is not saved. If I close the whiteboard, when I go to reopen it, It's empty.

I think it's in the wrong repo


fix chronos container hostname

this fixes HA
chronos server registers itself with zookeeper using its hostname, which
is a random sha if not assigned.  As a result, redirects to the elected
master chronos server fail from both the gui and rest apis.

closing for now; simply setting the hostname has the desired effect of having hot standby masters forward to the active masters but the unfortunate side effect of making chronos not work at all.  For now, the work-around is to determine the active chronos master and only communicate with that directly


Deploy on Heroku

Hi there,
Fantastic tool! Since I want to run this bot continuously, I tried to deploy this to Heroku. When trying to start the app, I'm stuck in this error: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
I created a Procfile (a way to define what Heroku needs to start) with the command in the readme: npm start -- --config config.json, and it looks like Heroku is picking the correct commands, however somehow this isn't booting correctly. Any suggestions on how I can get this running? I assume that 60 seconds should be enough to connect to the servers.

Hey, and thanks! This is because slack-irc never binds to a port (it just connects to Slack's realtime API through websockets). Not sure if a worker dyno would work better, but I haven't tried.
Wrote a bit about Heroku a while back: https://github.com/ekmartin/slack-irc/issues/12#issuecomment-84958867
Might be easier to just fire it up on a DigitalOcean droplet or similar.

Thanks! Yes I tried a worker too, but got many other errors that way. Anyways, moved it to Digital Ocean and it seems to work fine. Thanks again!

Great, glad you got it working :)


fix: patch fetch in the fetch handler instead of global scope

fixes https://github.com/cloudflare/next-on-pages/issues/535
Honestly, this one kind of confuses me a bit, but from what I can tell, patching the fetch in the global scope results in it interacting with the static generation store from the previously run function.
You can see in the below screenshot that for some reason part way through running the function, it skips from the index.func.js to the other.func.js, even though there are no references in either file to use the webpack chunks inlined in the other (i am using disable-chunks-dedup here).

And my console.logs in each function file also indicate that it bizarrely jumps between executing code in one another.

index.func.js

other.func.js

So it really is quite strange that it is behaving like so when you patch the fetch in the global scope... Simply moving the fetch patch inside the fetch handler fixes the issue.

Amazing.
Would a perhaps more permanent fix involve copying Next's internal patches over manually?

Would a perhaps more permanent fix involve copying Next's internal patches over manually?

You can find at least some of these in the link in the original Issue.

Hi @tills13 , could you clarify what you're suggesting? :slightly_smiling_face:
And what's the original issue with the links? (#535 doesn't seem to have any such links... does it?) :slightly_smiling_face:

I was thinking about this last night.
Wouldn't the current solution result in a back-and-forth with Next, constantly patching and re-patching the global fetch since each side destroys the other's markers? Seems to me like it would effectively result in Next never hitting cache, as it would be recreated on every invocation.
I cannot verify any of this, as I'm away from my computer this weekend, but this is based on my understanding of this project and Next.
I'm happy with any solution that lets me use Next on Cloudflare, I'm just suggesting a more optimal outcome.
The link I'm referring to is https://github.com/vercel/next.js/blob/d1fe4d01c42c64154022a3156ea1b2ebe5fc4d54/packages/next/src/server/web/spec-extension/revalidate-tag.ts#L16
But you can see Next's own patches here: https://github.com/vercel/next.js/blob/bd2d8a3b23391b587efd3aeca81e79efa0455381/packages/next/src/server/lib/patch-fetch.ts#L644
Which would be steamrolled by next-of-page's patch.

Hi @tills13, Next.js patches the fetch inside the edge function that it produces, and forwards the fetch calls to the original fetch, aka our patched fetch. It is worth noting that our patched fetch does a few important things; handles requests for bundled assets, ensures the user-agent header is present, and provides support for the suspense cache.
Your proposition to use Next.js patch function would be problematic in another way in that it would require us to import the function from Next.js, which would introduce other concerns and issues around implementation and our skip-build mode. In my view, we should not make the build process depend on being able to import something from Next.js. It just starts to get pretty messy, especially when you consider that it needs to work properly across various different versions of Next.js, which may differ. I would also consider copying the patch code instead of trying to import it to be unacceptable too.
If I understand what you're asking correctly and my thinking of the problem here is correct, that is actually necessary it seems. What appears to be happening is that we patch the fetch, then nextjs patches the fetch, and the next time it runs a function in the same worker instance, the function sees that their patch exists, they leave it and do not patch it again. this seems to cause problems with how it determines the static generation store instance to use, and that doesn't appear to work properly and it seems unable to retrieve the store. So from what I'm observing, to me it seems like repatching from both sides is crucial to enable the static generation store to be retrieved and consumed properly inside each route's edge function.
Anyway, I'm not sure I understand your point about "would effectively result in Next never hitting cache". Can you elaborate on that? In edge runtime functions, Next.js uses the Suspense Cache which involves making fetch calls that interact with remote suspense cache api endpoints. We handle these api calls in our patched fetch and direct them towards our own cache interface instead that interacts with the cache api. re-patching won't stop that from working because it's not an in-memory cache.


Remove unnecessary bounds checks.

This patch removes useless bounds checks enabled by default for read/write operations emitted for AMX lowering. It doesn't improve performance (most checks can be statically removed anyway) but makes the resulting code cleaner.

(The change seems small enough, I just merged it)


Update README

The branch decorator works with an object containing a cursors property.

Hello @AlexKvazos. This is not the case with v2 onwards. The cursors key is not needed as the given object is the cursors key itself. If this doesn't work for you with v2, then we have a bug.

Yeah it doesn't work for me. This is the project I am implementing baobab-react in, and this is where I am defining my root:
https://github.com/AlexKvazos/ReactStarter/blob/master/src/client/components/Container.jsx


[Migration] Keep track of migrated DUs

Background
Related to #806
If a migration process is migrating multiple DUs at the same time, some might fail. When a user goes to the migration wizard again to migrate the remaining it would be helpful to see which ones have been successfully migrated.
Target

Store the result of the migration process per DU.
In the DU list show indication which DUs have already been migrated. The list may be split into two section - Migrated, Not migrated, but you'd be able to select from either subsection
Repeated migration of the same DU should be possible

@vmutafov, @ivanvolkoff I'm moving back this issue to In Progress, as there is no linked PR that closes it.

Implemented in the dirigiblelabs ide-migration repo, to be merged into XSK.


examples don't compile even after having required libraries.

all examples examples in src/shogun wont compile even after having necessary libraries.
command used:
gcc KMeansMiniBatch.cpp -I /usr/include/eigen3 -o kmeans

which gives the following errors+warning messages:
https://pastebin.com/niiS0tKg
I also tried to compile it with c++17:
' g++ -std=c++17 KMeansMiniBatch.cpp -I /usr/include/eigen3 -o kmeans '

but that gives another different set of errors
https://pastebin.com/JatLrVKX

You shouldn't compile the examples manually if you don't know what you are doing. In your second line you haven't added shogun dynamic library, or its path.

see https://github.com/shogun-toolbox/shogun/blob/develop/doc/readme/EXAMPLES.md

Thanks @gf712 for quick reply. I had set that in the LD_LIBRARY_PATH.
I'm sorry I forgot to mention here, but I was getting a different error with adding the shogun library too
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o: In function _start': (.text+0x20): undefined reference to main'
collect2: error: ld returned 1 exit status
I guess I'm making some error in compiling, I'll try to find it.

@aneesh404 use make targets instead of trying to compile it by hand...

Makes more sense to use targets than compile each file, thanks @vigsterkr and @gf712


what is the purpose of scale to 0 instances in the starting dependencies phase?

Hello BK friends,
What is the purpose of --scale "${run_service}=0" in the starting dependencies phase?
https://github.com/buildkite-plugins/docker-compose-buildkite-plugin/blob/1dccf2935514285ef95910372feeb9b05a6995e7/commands/run.sh#L226
@lox committed this a long while back and I havn't seen much issue about it so I am sure there is a good reason for this(I am a docker noob so this might be a dumb question) but I am getting an error saying
no container found for project "buildkite18e15a6103824eb89c747d49151c7eea": not found which makes sense because we set scale to 0
however if I run without the --scale argument locally then the build works.

In case anyone stumbles upon here.
For me the issue showed up in docker-compose version 2.4.1
Upgrading to docker-compose version 2.5 solved the problem.
This is the original PR https://github.com/buildkite-plugins/docker-compose-buildkite-plugin/pull/186 describes why this is useful

@OliverKoo for future reference that line was added to make sure that all dependencies are up and running before starting up the service. As you can see in the line, the only service scaled to 0 is the main service itself. Why? The comment just before that states so:
https://github.com/buildkite-plugins/docker-compose-buildkite-plugin/blob/1dccf2935514285ef95910372feeb9b05a6995e7/commands/run.sh#L220
It is possible that there is another configuration issue with your setup or, as @goromlagche mentioned, a bug in docker compose itself.


Fix: Gemini 1.0 Pro Vision has been official deprecated, switch default model to gemini-1.5-flash

… gemini-1.5-flash
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
I tried every element in GEMINI_MODELS. The default models/gemini-pro-vision has been deprecated, making the default call will result in a 404 error, as well as models/gemini-ultra-vision and models/gemini-ultra. According to official recommendations, the default model is set to models/gemini-1.5-flash  in the code.
New Package?
Did I fill in the tool.llamahub section in the pyproject.toml and provide a detailed README.md for my new integration or package?

[ ] Yes
[x] No

Version Bump?
Did I bump the version in the pyproject.toml file of the package I am updating? (Except for the llama-index-core package)

[ ] Yes
[x] No

Type of Change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Added new unit/integration tests
[ ] Added new notebook (that tests end-to-end)
[x] I stared at the code and made sure it makes sense

Suggested Checklist:

[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
[ ] I have added Google Colab support for the newly added notebooks.
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[x] I ran make format; make lint to appease the lint gods

Sorry, I haven’t use CI/CD before ,hope I don’t do something wrong


Core schema for Water Quality Indices

@pradh - Schema for water quality indices using the properties for Water Resources Information System India (WRIS India).

Senthu,
I am creating classes for common elements and compounds in https://github.com/datacommonsorg/data/pull/573. It is based on your proposal with some changes to terms, such as 'ChemicalCompound' instead of the more generic 'Compound' that could be used for other things in the future.
Would this help simplify your schema?
Regards,
Ajai.

Yes, this is great Ajai. This will be helpful. I will use this in my water
quality schema. Thank you.
On Tue, Nov 30, 2021 at 2:23 PM Ajai @.***> wrote:

Senthu,
I am creating classes for common elements and compounds in
datacommonsorg/data#573 https://github.com/datacommonsorg/data/pull/573.
It is based on your proposal with some changes to terms, such as
'ChemicalCompound' instead of the more generic 'Compound' that could be
used for other things in the future.
Would this help simplify your schema?
Regards,
Ajai.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/datacommonsorg/schema/pull/111#issuecomment-982416017,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHIXPCVGWVORKJNSZRFU2OLUOSGHZANCNFSM5FYMZBCQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Integrate supporting for Redis Cluster?

I would like to work on this.

@YongHaoWu before starting work on this, I would really appreciate a detailed proposal on:

Why this would need to be in Redix and not shipped as a separate library.
What changes would be needed in Redix.
What the API would look like.

Thanks for your contribution! 💟

@whatyouhide Thanks for you detailed reply. : P
I would write a proposal a few days later.
PS, I am reading the code of redix, it's so coollll!
The blog about state helps a lot.
I am writing a blog about analysing code of Redix ;P
Here is the state machine of Redix connection:

Yep, that looks correct :)

@whatyouhide  :P I had another question on https://github.com/whatyouhide/redix/issues/153

Hey @YongHaoWu, any updates on this?

@whatyouhide Hi, sry for the late reply. I just worked in a new country and quite a lot of things.
I have free time from now on.
Will give the proposal before 2020😃

Okay @YongHaoWu, thanks for the update. 🙃

@whatyouhide

Why this would need to be in Redix and not shipped as a separate library.

I think that redis/redis cluster are both Redis thing, and Pipeline, Command have much in common.
Integrating cluster to Redix can make more star/usage, and can be more stable.
Though https://github.com/zhongwencool/redix-cluster warp a simple Cluster support, it lack of select slots function and it has very few stars.
If I were the user of Redis Elixir library, I would not like to chosse a library seems only a toy.

What changes would be needed in Redix.

How about add a boolen is_cluster parameter to Redix creation?

What the API would look like.

Almost like before. We hide the details for users. They just select the right boolean is_cluster  when init Redix.
Like:
{:ok, conn} = Redix.start_link(host: "example.com", port: 5000, is_cluster: true)

How du you think?

Integrating cluster to Redix can make more star/usage

Star and usage are not metrics I am interested in. I am interested in building a reliable and maintainable library, and that is the reason why I'm concerned about adding more functionality to get right and to maintain to Redix :).

How about add a boolen is_cluster parameter to Redix creation?

The API to use Redis Cluster from Redix is only part of the concern here. My main question is: what changes would be needed in the Redix internals and architecture to support Redis Cluster? I have zero experience with Redis Cluster and currently don't have bandwidth to do this research myself 😃

@whatyouhide
Redis Cluster use Hash Slot to distribute data to different nodes, so from driver's perspective,  it just need to calculate  a query key belongs to which hash slot and do the query to that node.
So the changes needed in the Redix internals and architecture to support Redis Cluster are:

Support multiple Reids server(node) connection
Redis / Redis cluster recognize when init
Others seems nothing needs to change, I may read more code and consider about this.

Support multiple Reids server(node) connection

This is not a trivial change. I think one Redis process should stay like this and be a single connection, and not hold multiple connections. I think this essentially needs a pool in front that can route to the right connection based on the key. Does hashing need state? If not, we can build this pool on top of Registry.

Ping @YongHaoWu, has there been any progress on this?

Closing this issue for inactivity. We can reopen this if the discussion will move forward but for now it seems like there is not a huge need for support for Redis Cluster. Thanks everyone!

Hi, I started following this issue a few days ago.  Having this feature would save me from rolling my own sharding solution, and I think most other clients from other languages have it.  Thanks.

@kennethjeremyau thanks for the input! I agree it would nice to have this but currently 1. you can build it on top of Redix itself and 2. I don't have time to work on it, so for now it's not going to happen unless someone wants to contribute it. I'll possibly reopen this issue in case I'll have time to dive into this in the future. Thanks! 💟

@kennethjeremyau you can use this https://hexdocs.pm/eredis_cluster/
We use in our Elixir app in production for years, and Ericsson too.


First card

In this PR, We create the app and install basics dependencies

we create react app
install dependencies
install linters config

Invalid Code Review Request
While you made a great effort in this project, unfortunately, I cannot proceed to review your code. Linters are failing you need to fix them.

Approved 👏
Highlights 🚀 :heavy_check_mark: :heavy_check_mark:

You have descriptive PR:heavy_check_mark:

Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉

Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag @VaneCode  in your question so I can receive the notification.


Review script for paper "2023ApJ...943...80W" made with predictor "DataLinkerWithSupport"

Created by Paper Data Linking Bot
Please review the download script and instrument details for the paper.
bibcode: 2023ApJ...943...80W
predictor: DataLinkerWithSupport
annotated pdf: view here (requires login)
Checklist
Download Script

[ ] Correct time ranges specified

[ ] Correct VSO instruments specified

[ ] Query returns good results or contains warning with reasoning if not

[ ] Physical observables omitted or correct

[ ] Wavelengths omitted or correct

[ ] Cadences omitted or correct

Instrument Details

[ ] Consistent with download_script.py

Metadata

[ ] Contains the bibcode for the relevant paper
[ ] VSO sources consistent with download_script.py

For more details, refer to the Contributing Guide.

This might be a case of the context being a bit too long and this resulting in the LLM struggling to capture everything. Potentially good example of why we need better retrieval system.

another potentially good training, validation example to attempt to find out why the instrumentation form creation omits instruments. Potentially a case of forgetting due to very long context.


My proposed lines of codes for the first Python assignment

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
I added some lines of codes required to execute the anagram checker function for both case-sensitive and non-case-sensitive options
What did you learn from the changes you have made?
I have one more time reviewed and applied the git workflow for cloning and pushing and pulling into my repository
I have used the tricks and methods taught during the Python live sessions so far
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
Probably, another approach could be using the Python dictionaries to map the number of occurrence of each character in each word to itself and compare the values of two dictionaries, one for each word, to see if their characters  count match or not
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
Not really
How were these changes tested?
I have run the code on the provided examples, plus some self-customized examples to make sure the code follows the required rules
For git part, I checked out my commitments on the remote repository to make sure they are reflected properly. Also, I double check those changes in the pull-request process
A reference to a related issue in your repository (if applicable)
Checklist

[ YES] I can confirm that my changes are working as intended

you did a great job here!
Please go ahead and close this pull request now. Thanks!


the website generated is still alive after remove the project on rtd

Hi,
http://blogbee-docs.readthedocs.org/en/latest/ should be down :/  this cause a duplicate content issues on http://blogbee.backbee.com.
Can someone in charge of the platform can take a look ?
Thank you

This is problem that we hope to resolve in #1408. We'll delete the artifacts from our servers manually for now to fix the problem for you.
@agjohnson @ericholscher Can you delete the left over artifacts from the webservers?
The related project was deleted: https://readthedocs.org/projects/blogbee-docs/

thank you @gregmuellegger :+1:

Deleted.


Add symbolize_keys option

If you are used to using symbols as hash keys in your code, you might want to deal with symbols in MailChimp responses too.
This Pull Request adds a symbolize_keys option (default to false), that will be passed to MultiJson.load() function.

Thanks for this. I don't see anything wrong with your code but I'd appreciate it if you updated the README with documentation as well. It's fine if you want to do this in another PR. What do you think?

Thanks for the merge 👍


Modification of README.md file(Design), Contributors mention section & Addition of Team section in README.md.

✨ Feature Request
Description of the Feature

I want to modify the following things in the README.md file:
1) Add animated line separators
Add animated line separators in between sections and also add the GSSoC 2024 Extended accepted image for Contributors to know that this repository is officially accepted for GSSoC contribution
2) Modifiy the Contributors section.
Make the Contributors section look more attractive.
3) Replace the Contact Information by Adding a Team section
The Team section will look more organized and readable.
Problem Statement

1) Add animated line separators
This will make the README.md file more attractive and improve its readability and usability.
2) Modifiy the Contributors section.
This will make the Contributors section look more organized and attractive.
3) Replace the Contact Information by Adding a Team section
This will look professional and will reflect good documentation practices.
Proposed Solution

1) Add animated line separators

2) Modifiy the Contributors section.

Before

After
This is just a template to explain. I will keep the format same as in your repository.

3) Replace the Contact Information by Adding a Team section

Before

After

Alternatives Considered

Additional Context

I would like to work on the issues so that I can contribute to making the repository more accessible and friendly for other Contributors.

[X] Yes
[ ] No

how will you going to add contributors automatically ??

how will you going to add contributors automatically ??

@dhairyagothi First of all thanks for reaching out. Really love Admins who are actively communicating.
So to answer your question, I will be accessing the contributors from your repository from here, which will be updating live:
https://github.com/dhairyagothi/StationGuide/graphs/contributors
And then adding them by changing the UI according to the image provided. This will be a little challenging, but hey, this is the entire point of Open-Source contributions. I came across your project and felt the need to making it more attractive and user-friendly. I would kindly ask you to assign me this task and also add level3.

how will you going to add contributors automatically ??

@dhairyagothi First of all thanks for reaching out. Really love Admins who are actively communicating. So to answer your question, I will be accessing the contributors from your repository from here, which will be updating live: https://github.com/dhairyagothi/StationGuide/graphs/contributors And then adding them by changing the UI according to the image provided. This will be a little challenging, but hey, this is the entire point of Open-Source contributions. I came across your project and felt the need to making it more attractive and user-friendly. I would kindly ask you to assign me this task and also add level3.

no level 3 for documentation changes assigning lv1

Can it not be assigned with level2 at least?

Can it not be assigned with level2 at least? Since I am updating two major changes in the documentation to make it more accessible.

no bro ... readme file is just basic change

Ok thanks for the reply. Will let you know when I raise a PR.

I am working on the issue currently, but had to stop and appreciate the organization of the files. Great work!

Wanted to let you know that I have successfully set up the Contributors section:

And it is up to date with the repo contributor details:

It is looking quite neat and presentable after the change. Do check this and let me know.

@dhairyagothi I am done with the changes. Have a look and let me know if I can open a PR.
https://github.com/user-attachments/assets/91d54be5-ab63-4c13-ac81-8ce07d615f8d

@dhairyagothi wanted to inform you about this:

Please look into this matter.

Let me merge PR then see @rajdeepchakraborty-rc

@dhairyagothi Thanks once again for reviewing my PR.


Refactor examples with list comprehension

Add range functions
Refactor life game

Codecov Report

Merging #657 (1f34206) into main (daea8eb) will decrease coverage by 0.00%.
The diff coverage is n/a.

:exclamation: Current head 1f34206 differs from pull request most recent head 30023c0. Consider uploading reports for the commit 30023c0 to get more accurate results

@@            Coverage Diff             @@
##             main     #657      +/-   ##
==========================================
- Coverage   85.72%   85.72%   -0.01%
==========================================
  Files         312      312
  Lines       29055    29055
==========================================
- Hits        24907    24906       -1
- Misses       4148     4149       +1

Impacted Files
Coverage Δ

lib/ffi/src/closure.rs
96.77% <0.00%> (-3.23%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 21eb68a...30023c0. Read the comment docs.


GEODE-9841: Moving internal packages to conform to newer package structure

For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?

[ ] Has your PR been rebased against the latest commit within the target branch (typically develop)?

[ ] Is your initial contribution a single, squashed commit?

[ ] Does gradlew build run cleanly?

[ ] Have you written or updated unit tests to verify your changes?

[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

this PR appears to be abandoned, can it be closed?


Japanese language extension

Hi. Thank you for the wonderful software!!
I made ext-japanese, and submit packagist :composer require naga0ka/flarum-ext-japanese-beta6
but it's not work...

Sorry... I made a mistake.
Please ignore

@naga0ka Please create a thread in the forums to discuss your issue.


Titlelize returns empty if text contains no known letters

This might be by design, because this is not necessarily appropriate input, but if you try the following, for example:
"Майк".Titleize()
"@@".Titleize()
then it will throw an InvalidOperationException:
System.InvalidOperationException : Sequence contains no elements
   at System.Linq.Enumerable.Aggregate(IEnumerable`1 source, Func`3 func)
   at Humanizer.StringHumanizeExtensions.FromPascalCase(String input) in c:\TeamCity\buildAgent\work\8b6380f423671986\src\Humanizer\StringHumanizeExtensions.cs: line 32
   at Humanizer.StringHumanizeExtensions.Humanize(String input) in c:\TeamCity\buildAgent\work\8b6380f423671986\src\Humanizer\StringHumanizeExtensions.cs: line 64
   at Humanizer.StringHumanizeExtensions.Humanize(String input, LetterCasing casing) in c:\TeamCity\buildAgent\work\8b6380f423671986\src\Humanizer\StringHumanizeExtensions.cs: line 75
   at Humanizer.InflectorExtensions.Titleize(String input) in c:\TeamCity\buildAgent\work\8b6380f423671986\src\Humanizer\InflectorExtensions.cs: line 269

I would expect it to either throw a more relevant exception, or just to return the original input?
(P.S. Humanizer is a great library - thanks for producing and maintaining it!)

Thanks for reporting this Adrian.
This is not by design; it's a bug.
Did you want to send a PR? :)
On 24/02/2015 11:12 PM, "Adrian Lowdon"<EMAIL_ADDRESS>wrote:

This might be by design, because this is not necessarily appropriate
input, but if you try the following, for example:
"Майк".Titleize()
"@@".Titleize()
then it will throw an InvalidOperationException:
System.InvalidOperationException : Sequence contains no elements
at System.Linq.Enumerable.Aggregate(IEnumerable1 source, Func3 func)
at Humanizer.StringHumanizeExtensions.FromPascalCase(String input) in c:\TeamCity\buildAgent\work\8b6380f423671986\src\Humanizer\StringHumanizeExtensions.cs: line 32
at Humanizer.StringHumanizeExtensions.Humanize(String input) in c:\TeamCity\buildAgent\work\8b6380f423671986\src\Humanizer\StringHumanizeExtensions.cs: line 64
at Humanizer.StringHumanizeExtensions.Humanize(String input, LetterCasing casing) in c:\TeamCity\buildAgent\work\8b6380f423671986\src\Humanizer\StringHumanizeExtensions.cs: line 75
at Humanizer.InflectorExtensions.Titleize(String input) in c:\TeamCity\buildAgent\work\8b6380f423671986\src\Humanizer\InflectorExtensions.cs: line 269
I would expect it to throw either a more relevant exception, or just to
return the original input?
(P.S. Humanizer is a great library - thanks for producing and maintaining
it!)
—
Reply to this email directly or view it on GitHub
https://github.com/MehdiK/Humanizer/issues/385.

Thanks Mehdi - if I get chance I'll try to have a look!

Hello, I am unable to reproduce the InvalidOperationException even with the examples given it just returns an empty string. Is this still an issue and if so is returning an empty string the desired behavior?

I've just updated to v1.34.0 - it no longer throws the exception, but I'm not convinced that returning an empty string is the desired behaviour, personally I would expect it to return the original string if it can't process it?

I agree, returning an empty string feels like data lose. I think we should always try to save as much information as we can in a situation like this.

Thanks for double checking this @alowdon. I have changed the title of the issue accordingly.
I agree that this is not desired behavior; but we will have to maintain this behavior for the existing users as what might look like a bug to us might be an expected behavior to them and I don't want to introduce a bug for some users by fixing a bug for others.
I have flagged this to be fixed as part of V2 which will include breaking changes. Until then you could wrap this with your own API and make it behave!

@MehdiK If I were to fix this bug should I just do a pull request and comment it as for V2? Or is there a repo for V2?

@cusmonaut a separate repo would diverge from this one very quickly and so does a PR that stays here for a while.
The only way to have this now would be to add an optional parameter to the method that indicates what should happen to special and non-ascii characters defaulting to the current approach. Something like:
public static class Titlize
{
  public static ITitlizeStrategy DropSpecialChars = new TitlizeDropSpecialChars();
}

string Titlize(this string input, ITitlizeStrategy strategy = Titlize.DropSpecialChars)

Hi,
Titlize have some problems with non standart chars. For example there dotless and dotted i letter and this cause some problems.
Consider a text which contains dotless small i letter in it, like "kadın sesi" (which means "woman voice" in english btw)
So if you titlize it with Humanizer "kadın sesi".Titlize() the result will be like this "Kad N Sesi"
Or if you titlize word "Yönetici", which means manager in english", the result will be like "Netici"

On a second thought, due to this bug, I don't think anyone's using Titlize for non-English words. So it should be safe to fix this as part of V1 with no backward compatibility.

This bug is in StringHumanizeExtensions:FromPascalCase(string input) string
PascalCaseWordPartsRegex causes strings like "Майк" and "@@" to become whitespace.
Did you ever experiment with TextInfo.ToTitleCase?

I don't think anyone's using Titlize for non-English words

I'm using Humanize(LetterCasing.Title) to format the name of our clients and a lot of them have french names with accents (i.e. Stéphanie, François). It's kind of lame that these simple characters with accents disappear when they go trough Humanizer.
I found a workaround by calling Humanizer.To.TitleCase.Transform(""); I get the expected output.

Thanks for the input @chris03. That's actually a perfect use case and proves my assumption completely wrong.
Again I think we should fix the bug. We accept PRs too :)

@jeremysimmons Any chance you could take a stab at fixing that RegEx?

@onovotny I'll take a peek. Thank you for asking. Why aren't we just using http://referencesource.microsoft.com/#mscorlib/system/globalization/textinfo.cs,706 for this?
It works on all the test cases mentioned above.
@@ -> @@
kadın sesi -> Kadın Sesi
yönetici -> Yönetici
stéphanie -> Stéphanie
françois -> François
mайк -> Mайк

@onovotny this is a portable assembly. TextInfo.ToTitleCase isn't available in portable assemblies.

and. wow. that was rather painless.
old and busted.

new hotness.

too bad it breaks other unit tests...

working regex -
PascalCaseWordPartsRegex = new Regex(@"\p{Lu}?\p{Ll}+|[0-9]+|\p{Lu}+(?=\p{Lu}\p{Ll}|[0-9]|\b)",
Does not work with @@ -> @@, still produces @@ -> String.Empty.
This should work for users that have a language that characters outside basic Latin.
I would have done a pull request, but I'm having some issues getting the dev branch working locally.

@MehdiK @onovotny Any opinion on whether the proposed regex above will work? Are we ok not supporting strings that are entirely symbols (@, ?, &, etc) for now?

IMHO any unrecognized characters should be left as is.

I'm with @mexx.


[SPARK-38537][K8S] Unify Statefulset* to StatefulSet*

What changes were proposed in this pull request?
K8s has StatefulSet and Apache Spark is currently using both Statefulset* and StatefulSet*. The worst case is a mixed case like class StatefulSetAllocatorSuite in StatefulsetAllocatorSuite.scala. This PR aims to unify them to a K8s original name, StatefulSet.
https://github.com/apache/spark/blob/c032928515e74367137c668ce692d8fd53696485/resource-managers/kubernetes/core/src/test/scala/org/apache/spark/scheduler/cluster/k8s/StatefulsetAllocatorSuite.scala#L39
To sum up, two files are renamed and five files are changed.
$ git diff master --stat
 resource-managers/kubernetes/core/src/main/scala/org/apache/spark/scheduler/cluster/k8s/AbstractPodsAllocator.scala                                          | 5 ++---
 resource-managers/kubernetes/core/src/main/scala/org/apache/spark/scheduler/cluster/k8s/KubernetesClusterManager.scala                                       | 2 +-
 resource-managers/kubernetes/core/src/main/scala/org/apache/spark/scheduler/cluster/k8s/{StatefulsetPodsAllocator.scala => StatefulSetPodsAllocator.scala}   | 2 +-
 resource-managers/kubernetes/core/src/test/scala/org/apache/spark/scheduler/cluster/k8s/KubernetesClusterManagerSuite.scala                                  | 4 ++--
 resource-managers/kubernetes/core/src/test/scala/org/apache/spark/scheduler/cluster/k8s/{StatefulsetAllocatorSuite.scala => StatefulSetAllocatorSuite.scala} | 4 ++--
 5 files changed, 8 insertions(+), 9 deletions(-)

Why are the changes needed?
To be consistent not only inside Apache Spark, but also with K8s.
Does this PR introduce any user-facing change?
No. This is a new code in Apache Spark 3.3.
How was this patch tested?
Pass the CIs.

Thank you, @huaxingao and @Yikun .
Merged to master.


Add installation document after a release

Once we have #139 completed as well as a possible release, we should add a separate installation document that outlines how to get the binary, etc.

#139 is done, so I have added it to the milestone as well.

Hey @surajssd I've also added this to the README when I did the 0.1.0. I think this can be closed?


DisksAndPorts

Write a short description about your art piece, such as what your artwork represents and your experience drawing it!
A Server Rack, that's randomly filled with servers and switches. The height of the server is also random. The most time was spend on programming the disk and port placement and design.

[X] I have read the steps to getting a blot
[X] I am submitting art that...

[X] is algorithmically generated (will meaningfully change each time the program is run)
[X] is your own work that is not copied from somewhere else
[X] doesn't call Math.random() (See the documentation on randomness)
[X] is drawable on Blot itself (doesn't have lines overlap more than 5 times)

[X] Doesn't overlap lines more than 5 times
[X] Fits in the working area of 125x125mm
[X] Doesn't rely on colour to look good
If you based your art on something else, used a tutorial, or remixed it from something else, please link it here:

Closing this PR due to inactivity! Please create a new PR when you update your art!


Support Dart_TypedDataAcquireData of Unmodifiable TypedData classes

It is useful for embedders to be able to expose read-only memory regions to Dart code as external type data. This will let Flutter avoid expensive copies on the Dart thread of large amounts of image data, for example see here:
https://github.com/flutter/engine/blob/18fee597ab6ec957e6311ba2bc74d4732ad55bd7/lib/ui/painting/image_encoding.cc#L48
for Image.toByteData:
https://github.com/flutter/engine/blob/18fee597ab6ec957e6311ba2bc74d4732ad55bd7/lib/ui/painting.dart#L1610
(The caller of that API could then do a copy to a writable buffer if they need one.)
The best match for this in the Dart SDK appears to be the unmodifiable typed data view classes like UnmodifiableByteDataView.  Unfortunately, when these buffers come back into the embedder for various reasons, a call to Dart_TypedDataAcquireData() will fail by returning an error because the Unmodifiable typed data classes don't pass the tests here:
https://github.com/dart-lang/sdk/blob/f66eb7228af28b319704a5f080b718c8545c68b0/runtime/vm/dart_api_impl.cc#L4065.
This issue is a feature request to integrate the Unmodifiable typed data classes more seamlessly with the VM so that they're a good match for the read-only buffers we can expose from Flutter as an optimization. If there's another approach that would solve the problem, then I'm interested in that, too.
/cc @a-siva @rmacnak-google @dnfield

Since the embedder is creating External TypedData objects it should have direct access to the memory region, why does it need to call Dart_TypedDataAcquireData to access underlying buffer.

With the existing API, it is possible to extract the underlying buffer with Dart_GetField and pass that to Dart_TypedDataAcquireData. Though it does seem reasonable to expect Dart_TypedDataAcquireData to handle all the UnmodifiableX that are defined in dart:typed_data.

Since the embedder is creating External TypedData objects it should have direct access to the memory region, why does it need to call Dart_TypedDataAcquireData to access underlying buffer.

The embedder can generate an external typed data object, and return it to Dart code, then that object can come back into the embedder through a Dart language API. A slightly contrived example would be the return from Image.toByteData() being passed back into Image.memory().

With the existing API, it is possible to extract the underlying buffer with Dart_GetField()

Yeah, it looks like a vm:entry-point annotation would be needed. I would also worry about the implications of reaching into the core libraries and grabbing a private field.

@mkustermann What do you think about giving the unmodifiable views fixed CIDs like the regular typed data views?

@mkustermann What do you think about giving the unmodifiable views fixed CIDs like the regular typed data views?

Right now I can discourage the usage of the unmodifiable views for the following reason:
The canonical representation of bytes in Dart code is Uint8List. All our Dart code uses Uint8List to access bytes (e.g. protobuf encoder/decoder, http parser, ...).  We want to make reading / writing of bytes as fast as possible by hoisting bounds checks out of loops and directly accessing the bytes (i.e. no method calls).
Optimized access: Our AOT compiler does perform those optimizations - accessing Uint8List is around two machine instructions - as long as there are no 3rd party implementations of the Uint8List interface (**). We can do that due to our sound type system. (The JIT has dynamic type feedback and doesn't need to rely on this.)
3rd party implementations: The UnmodifiableUint8ListView class is right now tree-shakable. If Dart code does not use it we get the benefits mentioned above. If Dart code uses it, these optimizations are disabled in AOT. Call sites become polymorphic, any code working with bytes becomes significantly slower.
Short term option: We can turn those unmodifiable view classes to be VM-supported and use our unified typed data layout. That would allow us to have fast read access. BUT: The class would no longer be tree shakable and the Uint8List.[]= write access would always be polymorphic and suffer quite bad performance. To alleviate this bad performance, we could change our AOT optimization to specialize the code conditionally, i.e. if (ClassID.get(obj) is unmodifiable-view) { Call []= method; } else { store bytes directly }. Though it would still be slower and bigger.
Longer term option: I have talked to members of the language/library team about this over the last few months and suggested we could solve it via: a) Introduce a new ReadOnlyUint8List interface that does not implement the writable Uint8List interface. b) add VM-supported read-only class (which flutter could e.g. use) c) disallow 3rd party implementations (similar to int) d) migrate existing code to only . This would allows fast read access, but also fast write access). Though it might require re-writing a lot of library code to use ReadOnlyUint8List instead of Uint8List.
=> If we do the optimizations mentioned in the short term option above and take the performance hit for write-access we could go ahead. @sstrickl or @askeksa-google could take a look at this.
(**) Our internal implementations are _Uint8List, _Uint8ArrayView, _ExternalUint8Array. They have a unified layout that allows accessing bytes directly.

We did just introduce an ImmutableBuffer class for dart:ui.  Perhaps that would help here?

Thanks for looking into this @mkustermann!
@dnfield Currently, the dart:ui ImmutableBuffer is neither readable nor writable ;-). To make it readable, a reference to the buffer would be cached in a field, and the type for that field that seems like the best fit would be an Unmodifiable typed data view. Alternately, if Unmodifiable typed data views had the right properties, we could investigate using them instead of introducing a new class for a somewhat similar purpose.

It would probably help to understand the use cases we'd want to support with this.
If the goal is to avoid unnecessary copies, we'd want to know what we're eventually copying to and from - for example, if it's a file or a socket, users may not ever need to get access to the bytes directly in Dart, right?
If they need to do comparisons, we could probably have interfaces that boil down to doing a memcmp against a Uint8List after we acquire the typed data.
But if Dart could handle Unmodifiable more efficiently and avoid copies that would be a good thing, since you could then more easily compose Dart based APIs for this.

Another use case is in https://github.com/flutter/engine/pull/21153: we currently have to copy the memory mapped bytes of all assets (potentially quite large!) in order to pass them back through the engine. If we could directly convert them to read only buffers, we'd be able to avoid tons of work

To speed up the discussion on this, I've written a proposal (see go/performant-typeddata-in-dart). If we follow this path we would ensure to have always fast access to bytes while safely allowing immutable bytes as well as sharing of such across isolates.


remove stray debug print

does what it says on the tin

goodbye honorable oops, your service was true and you will be missed


Data race detection with a shared slice pattern

https://github.com/wyfo/swap-buffer-queue crate implement a shared slice pattern: distinct parts of a slice can be written concurrently. Of course, it uses UnsafeCell and a lot of unsafe code, but the algorithm use synchronization mechanism to prevent data races.
I've just tried to run tests with miri, and data races were spotted. However, it seems to me that Miri only report concurrent accesses to the UnsafeCell, not concurrent access to the individual bytes of the UnsafeCell – in my case, a thread is accessing the length of the slice while another thread is writing a part of the slice.
Adding UnsafeCell inside the slice seems to be a solution, as it would work for buffers like Box<[MaybeUninit<T>]>, but I have several types of buffer, and one of them is just a Box<[u8]> where I write with copy_from_slice, so I don't really see how I could copy_from_slice with Box<[UnsafeCell<u8>]> ...
Considering that this data race may be a false positive, would there be a way to make miri happy with my use case?
Reformulating: how to make miri accepting concurrent writes on distinct parts of &[u8]?

Why do you think this data race is a false positive? Miri does not have known false positives for data races, so I would expect this to be a true positive. It might be surprising though since data races can arise from aliasing model interactions.
That entire crate is a bit too much code for us to go through; can you extract the most important parts into a small example (ideally one that works on the playground)?

how to make miri accepting concurrent writes on distinct parts of &[u8]?

Note that writing to &[u8] is never allowed! This is a shared reference to a type without interior mutability, it must not be mutated. Concurrency isn't even relevant for that.

Here is a minimal reproducible example: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=8f2b1d1e45328e1b999cb33b7d0da96c
Miri will report a data race for accessing the length of the buffer while writing the last bytes.
If you comment the first thread::spawn and uncomment the second thread::spawn, miri report an other error, while the written bytes don't overlap. Is it a true positive data race when bytes don't overlap?

Note that writing to &[u8] is never allowed! This is a shared reference to a type without interior mutability, it must not be mutated. Concurrency isn't even relevant for that.

I wanted to say UnsafeCell<Box<[u8]>>, or UnsafeCell<Box<[UnsafeCell<u8>]>>, actually I don't know what I can use to call copy_from_slice ...

Is it a true positive data race when bytes don't overlap?

Miri's data race detection, aliasing tracking, and initialization tracking all have byte-level granularity. Miri's checks are precise and there isn't any static reasoning about the program that would normally lead to false positives in other tools.
This data race arises from an aliasing model interaction. This can be made much more clear by modifying the second thread to be this:
    thread::spawn(move || loop {
        unsafe {
            let ouch = &mut *buffer_clone.0.get();
            ouch[1] = 0;
        }
    });

Stacked Borrows will report a data race on the &mut * part, and Tree Borrows delays the UB until the line following.
Our diagnostics should definitely be better here. These aliasing interactions with the data race model are relatively new, and also rather hard to hit, so the diagnostic should probably call them out when they happen and try to educate the user. For the time being, you can try to refer to this issue and the linked Zulip thread: https://github.com/rust-lang/miri/issues/2648.

While Miri doesn't have false positives like some other tools, since all the rules in Unsafe Rust aren't specified yet we tend to default to implementing a more strict prototype version than will eventually be The Rules. So since Rust isn't specified yet, IMO it's best to treat these less as "I found a Miri bug" and more as "Is it possible to make this not be UB, because that is very confusing".

Actually, I've found a way of making Miri happy using Box<Cell<[u8]>> and Cell::as_slice_of_cells: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=99bdf3bc287456a9bb2d7e4143a195de
I had to use UnsafeCell::raw_get because of the lack of Cell::from_slice_of_cells.

it's best to treat these less as "I found a Miri bug" and more as "Is it possible to make this not be UB, because that is very confusing"

Indeed, I did not consider this issue as a Miri bug, what mattered to me was to find a way to express my use case in a Miri-compatible way. Now I'm fine with the solution I've found, if you don't have remarks about it, I think the issue can be closed.

Sure, I'll open a new issue for improving the diagnostic.

That code is intended to be UB: when a function has &[u8], it should be allowed to read from any part of that slice, so concurrent mutation of that slice is UB.
Note that UnsafeCell is entirely a by-value construct: it does not apply recursively below pointer indirections. Thus, UnsafeCell<Box<[u8]>> does not allow shared mutating of the inner slice.

That code is intended to be UB

Do you talk about my first exemple? Is the second one with Box<Cell<[u8]>> also UB?

Box is fine, since it properly reflects the shares mutability where it happens.


Extend the logic symbols

It is possible to extend the symbols including:

A generic symbol (could be a rectangle) with N inputs and N outputs? With customizable internal label? In this way, the user can create its own symbols.
A way to user add new symbols.

It would be also nice to give support for multiples inputs on the standard symbols like in those you are using. For example with a NAND with 2, 3, 4, 5 inputs..
And the possibility to create complex gates like AOI (and-or-inv, without wires between the gates)

All good points.
I like the idea with complex gates. Do you have and idea how they may be described?
Now the following descripion:
{ assign:[
  ["out",
    ["~|",
      ["&", "a", "b"],
      ["&", "c", "d"]
    ]
  ]
]}

Will generate:

Do you think that this should produce complex gate as is, or different description can be given?

Awesome!
I don't know, we could add some keyword indicating a complex gate. But I think you can propose something better since you know the project better than me.
{ assign:[
  ["out",
    ["~|c",   <------- look the c here
      ["&", "a", "b"],
      ["&", "c", "d"]
    ]
  ]
]}

It will be nice to have symbols with multiple outputs.. for example a flip-flop with Q and ~Q output.

How would you describe multi-output gate?

I can't find a good way by now but I am adding some symbols here to consider on the thinking process.

A toggle and a mutex generic box components with a user-defined labels and 2 outputs.
A Muller C-element (could also be a generic circle symbol) with 3 inputs.

I will add some ideas here when I had an idea.

We should probably separate the notion of element shape, number of pins and label.
That will require clear notation and present the challenge. Any thoughts are welcome.

I think a definition system could be great, we define a gate model by it's way to be rendered, it's shape, label and ports (it could have multiple input and output port), then we instantiate the model how many time we want, finally we tell to connect edge to ports. edges could have style and label too. A port could accept many edges
'''
{
models:{
toggle:{
label:"toggle",
shape:"rect",
ports:[
{mode:"input",side:"left",default:true},
{mode:"output",side:"right",name:"q"},
{mode:"output",side:"top",name:"nq", style:"inverse"}
]
}
},
blocks:{
["toggle","toggle"]
},
assign:[
["a","toggle"]
["toggle:q","b"]
["toggle:nq","c"]
]}
'''


sample_compare on sampler2DArray and samplerCubeArray doesn't render correctly (Iris 6100).

I've tried to run some tests which render shadow maps to a CubeArray, and then sample that as samplerCubeArrayShadow, but it renders as garbage.
For sampler2DArray I've narrowed it down to sample_compare vs sample. Without sample_compare, I can sample the depth correctly when the image is a sampler2DArray, but not when the image is samplerCubeArray for some reason. I seem to only observe slice 0 when the view is a cube array view. I've been digging through the MoltenVK implementation and I can't see any obvious reason why it's failing.
It could very well be a driver bug somehow. This is running on OSX 10.14 with a MacbookPro 13" from 2015 (Iris 6100 graphics). The MSL generated seems fine to me. Would be good to see if this happens on other drivers as well.
A repro can be built with:
git clone git://github.com/Themaister/Granite
cd Granite
git submodule update --init
mkdir build
cd build
cmake .. -DGRANITE_VULKAN_FOSSILIZE=OFF -DCMAKE_BUILD_TYPE=Release
make -j8
./tests/cube-array-test

I expect this image:

but I just get a black image instead.

I came across a similar issue. I'm using a sampler2DArrayShadow with 3 layers, and when I'm sampling, the correct data only comes from first layer, while the others produce garbage values. I also tried using a non-shadow sampler, and the same issue persists. Based on my experimentation results, the problem seems to disappear if I use a constant layer index instead of dynamically determining it based on depth. Maybe it's some kind of synchronization error during rendering into the layered depth buffer?

macOS: 13.5 (Ventura)
GPU: Intel Iris Plus Graphics 645


schema

generate a schema so that correctness can be checked based on the serialized metadata only

Closed. New issue required to talk about the future of the schema (and hosting it somewhere stable!)


Merge 1.x -> main

Hm, I don't get those failures locally...

Facter.value[:hostname] turning up nil seems bad... and doesn't happen for me. Linux thing?

This didn't happen on your other PR though, did it? Something racy? Rekick?

I'll try it, though I'm wondering about a Facter change... Not sure what version was pulled in last time this ran.

This is the facter fix https://github.com/puppetlabs/facter/pull/2327 but I don't think we need to block on it. However, I would like to get https://github.com/puppetlabs/facter/pull/2327 into this.

I imagine we'll want to include the facter bump in the 1.x branch and include that in the mergeup?

We don't actually have to bump facter, it's a floating dep.

ah right. I was misled by "I would like to get puppetlabs/facter#2327 into this." ohhh did you mean to link your other PR?

Updated with the contents of that other PR (which I meant to link)


scrollToBottom not scrolling to bottom

What I need
Auto scroll through a table that is in a fixed container
What i've done
I have a fixed height div (700px) containing a table of data. The height of the table is greater than the container and thus is scrollable (as planned). I wanted to auto scroll through the table contents using animateScroll.scrollToBottom(). This is not working 100%. The content of the div is scrolling but only for 700px of the content (so around 1/3). This is obviously something to do with the fixed height of the table but that cannot be changed>
Heres what I have

class LeaderBoard extends React.Component {
    componentDidMount = () => {
        scroll.scrollToBottom({
            containerId: "scrollContainer",
            duration: 3000,
            delay: 2000,
            smooth: "linear"
        });
    };
    render() {
        return (
            <Panel ref={this.tableContainer} id="scrollContainer">

                        {this.renderTableHeaders()} // generates th's
                        {this.renderTableRows()} / / generates tr's

            </Panel>
        );
    }
}

I experienced this issue as well - in my case, I was able to resolve it by wrapping the call to scrollToBottom in a setTimeout with the second argument set to 0. Not sure why that helps, but I've bumped into this sort of thing before in other situations... woo front end!
import React from 'react'
import { connect } from 'react-redux'
import { animateScroll } from 'react-scroll'
import BroadcastMessage from './broadcast-message'
import { mapStateToProps } from 'js/redux/util'
import styles from 'styles/app'

const scrollToBottom = () => {
	animateScroll.scrollToBottom({
		containerId: 'broadcast_message_list_container'
	})
}

const BroadcastMessagesList = ({ state }) => {
	if (state.foo.length) {
		setTimeout(() => {
			scrollToBottom()
		}, 0)
	}

	return (

				{
					state.foo.map((message) => {
						return (

								<BroadcastMessage message={message} />

						)
					})
				}

	)
}

export default connect(mapStateToProps)(BroadcastMessagesList)

Hm, it's funny - the 0 timeout doesn't work consistently for all scenarios - I have two lists on my page that I want to scroll to the bottom when the page loads - the first one scrolls all the way to the bottom, but the second list only scrolls most of the way.
Clearly, this timeout fix is not really solving the problem, it's just a "hack"... but I find that it works reliably with a timeout set somewhere in the range of 0 to 200.  This is probably related to the issue reported in #430 , looks like they might open a PR if they can fix it.

@darrenklein Let me look into it sometime this week and see if it's related.

@fisshy Thanks! And thanks so much for all of your hard work.

@fisshy You know what, I think that my problem is that I'm not using this behavior correctly - I'm calling scrollToBottom() if state.foo.length, but I'm calling it before the list is actually returned and state.foo is mapped into all of the li. I'll mess with this a little more, but I'm pretty confident that this is my bad.  The OP's issue here is still worth investigating, but I would ignore my earlier suggestion.

@darrenklein aha ok! Let me know how it works out! :)

If my guess is correct don't use the garbage scrolling methods from your framework here react, I have the same problem with framework ionic, instead use standard .scrollIntoView() it works nicely...
I set up two dummy hidden divs,  top and bottom around my "content" like so

TOP

... your actual content here

BOTTOM

then fixed my scroll helper methods like so:

finally the actual scroll to id follows:


Live Reload too slow

Sage live reload seems too slow, taking about 5 seconds to inject updated CSS file, can you give me suggestion regarding this?

Hey @asifsaho,
The team use GitHub issues for tracking bugs, you'll be better off asking on https://discourse.roots.io/c/sage

Alright @ptibbetts I'm gonna ask at right place.


Link against embedded libraries in crates

Some crates (e.g., libgit2) ship embedded libraries, which get put into
lib/ under target-dir. Without this patch, linking the bootstrapped
cargo may or may not fail, depending on which versions of those
libraries are installed system-wide. On my OpenBSD -current system,
there's a version mismatch and it fails.

Thanks!


Improve Download Location and Install Heading Visibility

This fix incorporates the changes suggested in #181. I've also added some extra heading levels so the installation methods for each platform are called out in the TOC.

Merged!!


code_gen takes about 4 minutes to generate with even just small change in one query

Heya,
We have a project with gql schema that's already notable and growing (1k+ lines and lots of queries in the code), and every time we run dart run build_runner build it takes about 4 minutes to finish. Which would be less of an issue if we were talking about updates on schema, but we also must run it when adjusting queries, which as you can imagine is quite cumbersome on development.
Are we doing something wrong? Is there something where we can tweak this? Realistically for something we must run at every query change, the time I would expect should be in seconds max, so minor tweaks is not what I am after here, just more hoping we've messed something up badly.

Thanks for raising your issue, what version are you on?

0.13.1

I am very surprised you are seeing such poor performance. If you are able to share your schema and queries, e.g. in private repo, then I can try and run the generator against it and identify any bottlenecks.

Sure, i'll get some examples sorted for you later today, thank you :D


backport 1.10 fixes

0763f2a release: bump kata-containers repository
bf0baf9 release: Tag and fork documentation repo as part of release

/test

/test


dSYM zip file contains folder structure to project

The dSYM.zip file that is generated contains the folder structure to the project that is being built. In my case, the contents of the zip look like this.
Users/craig/work/appname/appname.app.dSYM/

:+1:


Documentation: Scrum Methodology

Description
Scrum is an Agile framework used for managing and delivering complex projects, particularly in software development. Scrum teams adhere to a set of principles and practices that define the framework. Here are key attributes and components of Scrum:
Attributes
Roles:

Attribute
Description

Product Owner
Represents the stakeholders, defines the product backlog, and prioritizes work based on value.

Scrum Master
Facilitates the Scrum process, removes impediments, and ensures the team adheres to Scrum principles.

Development Team
Self-organizing, cross-functional group responsible for delivering increments of work.

Artifacts:

Attribute
Description

Product Backlog
A prioritized list of all desired product features, enhancements, and bug fixes. Managed by the Product Owner.

Sprint Backlog
A subset of the Product Backlog items selected for the current sprint, committed to by the Development Team.

Increment
A potentially shippable product increment created by the Development Team during a sprint.

Events (Meetings):

Attribute
Description

Sprint
A time-boxed period (typically 2-4 weeks) during which a potentially releasable product increment is developed.

Sprint Planning
A meeting at the start of each sprint where the team selects work from the Product Backlog for the sprint backlog.

Daily Scrum
A brief daily meeting where the team discusses progress, plans for the day, and identifies impediments.

Sprint Review
A meeting at the end of a sprint to review and demonstrate the completed increment to stakeholders.

Sprint Retrospective
A meeting at the end of a sprint for the team to reflect on their work and identify areas for improvement.

Other Attributes:

Attribute
Description

Transparency
Scrum emphasizes transparency by making information about work, progress, and challenges visible to all team members and stakeholders

Inspection
- Scrum is an empirical process, and teams regularly inspect the current state of the product, processes, people aspects, practices, and continuous improvements. Inspection can be done by anyone on the Scrum Team or by the stakeholders. Inspection enables feedback and learning, which are essential for innovation and value delivery.   - The Sprint Review and Sprint Retrospective events facilitate inspection.

Adaptation
- Adaptation in scrum means taking action based on the results of inspection. It is about continuous improvement, the ability to adapt based on the changing needs of the customer and the market, which are necessary for discovering new opportunities and solutions.  - The Sprint Review and Sprint Retrospective events facilitate adaptation.

Time-Boxing
- Scrum uses time-boxing to limit the duration of events (e.g., sprints) to ensure regular inspection and adaptation.  - Events have fixed time frames to create a sense of urgency and rhythm.

Self-Organization
Scrum teams are self-organizing, meaning they determine how to complete their work and manage their tasks within the sprint.

Empiricism
Scrum is built on the principles of empiricism, which means decisions are based on observation, experience, and evidence rather than guesswork.

Definition of Done (DoD
Each increment of work must meet a shared Definition of Done, ensuring that it is of sufficient quality and completeness for release.

Continuous Improvement
- Scrum teams regularly seek ways to improve their processes and work together more effectively.  - The Sprint Retrospective is a dedicated event for discussing improvements.

Customer Focus
Scrum prioritizes delivering value to customers and stakeholders through frequent, incremental releases.

Flexibility
Scrum accommodates changing requirements and priorities by allowing the Product Owner to adjust the product backlog.

Roles Collaboration
Collaboration and communication among the Product Owner, Scrum Master, and Development Team are essential to the framework's success.

Scrum is a highly adaptable framework and is used not only in software development but also in various other industries for managing complex projects. Its attributes promote agility, collaboration, and customer-centricity, making it a popular choice for teams and organizations seeking to improve their project management practices.

@wycliffepeart i made some changes to Inspection and adaptation, separated them

@wycliffepeart i made some changes to Inspection and adaptation, separated them

@iamshellyan Perfect 👌

@iamshellyan This story needs to be refined some more, for instance, the grouping is not the best I think we could go with something like:
Current Implementation
Roles:

Attribute
Description

Product Owner
Represents the stakeholders, defines the product backlog, and prioritizes work based on value.

Scrum Master
Facilitates the Scrum process, removes impediments, and ensures the team adheres to Scrum principles.

Development Team
Self-organizing, cross-functional group responsible for delivering increments of work.

Suggested Implementation

Attribute
Description

Roles
- Product Owner, Represents the stakeholders, defines the product backlog, and prioritizes work based on value.  -  Scrum Master, Facilitates the Scrum process, removes impediments, and ensures the team adheres to Scrum principles.  - Development Team, Self-organizing, the cross-functional group responsible for delivering increments of work.

I think the second option utilizes less space and is more consistent with our workflow.

@iamshellyan Hi

@iamshellyan


How to implement mobileNetV2 or other backbone netowork for faster rcnn model?

In config file we have:
model = dict(
type='FasterRCNN',
backbone=dict(
type='ResNet',
depth=50,
num_stages=4,
out_indices=(0, 1, 2, 3),
frozen_stages=1,
norm_cfg=dict(type='BN', requires_grad=True),
norm_eval=True,
style='pytorch',
init_cfg=dict(type='Pretrained', checkpoint='torchvision://resnet50')),
I want to use other backbone network, I manually change the type to MobileNetV2 but get error as I believe there are different paramenters for MobileNetV2 ( for e.g depth is for ResNet). How to implement other backbone netoworks?

There is a model use MobileNetV2 as backbone https://github.com/open-mmlab/mmdetection/blob/7a9bc498d5cc972171ec4f7332afcd70bb50e60e/configs/yolo/yolov3_mobilenetv2_mstrain-416_300e_coco.py#L6
Here is a setting changed from https://github.com/open-mmlab/mmdetection/blob/7a9bc498d5cc972171ec4f7332afcd70bb50e60e/configs/base/models/faster_rcnn_r50_fpn.py#L1.
Please compare the differences between these two configuration files for Faster R-CNN and think about why change those settings.
_base_ = [
    "../_base_/datasets/coco_detection.py",
    "../_base_/schedules/schedule_1x.py",
    "../_base_/default_runtime.py"
]

# model settings
model = dict(
    type='FasterRCNN',
    backbone=dict(
        type='MobileNetV2',
        out_indices=(2, 4, 6),
        act_cfg=dict(type='LeakyReLU', negative_slope=0.1),
        init_cfg=dict(
            type='Pretrained', checkpoint='open-mmlab://mmdet/mobilenet_v2')),
    neck=dict(
        type='FPN',
        in_channels=[32, 96, 320],
        out_channels=256,
        num_outs=3),
    rpn_head=dict(
        type='RPNHead',
        in_channels=256,
        feat_channels=256,
        anchor_generator=dict(
            type='AnchorGenerator',
            scales=[8],
            ratios=[0.5, 1.0, 2.0],
            strides=[4, 8, 16]),
        bbox_coder=dict(
            type='DeltaXYWHBBoxCoder',
            target_means=[.0, .0, .0, .0],
            target_stds=[1.0, 1.0, 1.0, 1.0]),
        loss_cls=dict(
            type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0),
        loss_bbox=dict(type='L1Loss', loss_weight=1.0)),
    roi_head=dict(
        type='StandardRoIHead',
        bbox_roi_extractor=dict(
            type='SingleRoIExtractor',
            roi_layer=dict(type='RoIAlign', output_size=7, sampling_ratio=0),
            out_channels=256,
            featmap_strides=[4, 8, 16]),
        bbox_head=dict(
            type='Shared2FCBBoxHead',
            in_channels=256,
            fc_out_channels=1024,
            roi_feat_size=7,
            num_classes=80,
            bbox_coder=dict(
                type='DeltaXYWHBBoxCoder',
                target_means=[0., 0., 0., 0.],
                target_stds=[0.1, 0.1, 0.2, 0.2]),
            reg_class_agnostic=False,
            loss_cls=dict(
                type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0),
            loss_bbox=dict(type='L1Loss', loss_weight=1.0))),
    # model training and testing settings
    train_cfg=dict(
        rpn=dict(
            assigner=dict(
                type='MaxIoUAssigner',
                pos_iou_thr=0.7,
                neg_iou_thr=0.3,
                min_pos_iou=0.3,
                match_low_quality=True,
                ignore_iof_thr=-1),
            sampler=dict(
                type='RandomSampler',
                num=256,
                pos_fraction=0.5,
                neg_pos_ub=-1,
                add_gt_as_proposals=False),
            allowed_border=-1,
            pos_weight=-1,
            debug=False),
        rpn_proposal=dict(
            nms_pre=2000,
            max_per_img=1000,
            nms=dict(type='nms', iou_threshold=0.7),
            min_bbox_size=0),
        rcnn=dict(
            assigner=dict(
                type='MaxIoUAssigner',
                pos_iou_thr=0.5,
                neg_iou_thr=0.5,
                min_pos_iou=0.5,
                match_low_quality=False,
                ignore_iof_thr=-1),
            sampler=dict(
                type='RandomSampler',
                num=512,
                pos_fraction=0.25,
                neg_pos_ub=-1,
                add_gt_as_proposals=True),
            pos_weight=-1,
            debug=False)),
    test_cfg=dict(
        rpn=dict(
            nms_pre=1000,
            max_per_img=1000,
            nms=dict(type='nms', iou_threshold=0.7),
            min_bbox_size=0),
        rcnn=dict(
            score_thr=0.05,
            nms=dict(type='nms', iou_threshold=0.5),
            max_per_img=100)
        # soft-nms is also supported for rcnn testing
        # e.g., nms=dict(type='soft_nms', iou_threshold=0.5, min_score=0.05)
    ))

use following code, you can get channels of output of stages in MobileNetV2.
from mmdet.models.builder import build_backbone
import torch

if __name__ == "__main__":
    backbone=dict(
        type='MobileNetV2',
        out_indices=(1, 2, 3, 4, 5, 6), # change this,you will get outputs of different stage in MobileNetV2
        act_cfg=dict(type='LeakyReLU', negative_slope=0.1),
        init_cfg=dict(
            type='Pretrained', checkpoint='open-mmlab://mmdet/mobilenet_v2'))
    model = build_backbone(backbone)

    x = torch.rand((1, 3, 100, 200))
    y = model(x)

    print([w.shape for w in y])
    # output: [torch.Size([1, 24, 25, 50]), torch.Size([1, 32, 13, 25]), torch.Size([1, 64, 7, 13]), torch.Size([1, 96, 7, 13]), torch.Size([1, 160, 4, 7]), torch.Size([1, 320, 4, 7])]

Thank you so much!

@chhluo Hi，I used this config file and get the error below. Anything wrong?
RuntimeError: Expected to have finished reduction in the prior iteration before starting a new one. This error indicates that your module has parameters that were not used in producing loss. You can enable unused parameter detection by passing the keyword argument find_unused_parameters=True to torch.nn.parallel.DistributedDataParallel, and by
making sure all forward function outputs participate in calculating loss.
If you already have done the above, then the distributed data parallel module wasn't able to locate the output tensors in the return value of your module's forward function. Please include the loss function and the structure of the return value of forward of your module when reporting this issue (e.g. list, dict, iterable).
Parameter indices which did not receive grad for rank 7: 153 154 155
In addition, you can set the environment variable TORCH_DISTRIBUTED_DEBUG to either INFO or DETAIL to print out information about which particular parameters did not receive gradient on this rank as part of this error

@chhluo Hi, there have some problem in this configs file.

find_unused_parameters=True shoule be added.
feature map stride of 'AnchorGenerator' and 'ROI Align' should be [8, 16, 32].


Add a way to intercept Dart to native platform communication.

I'd like to request the ability to intercept any communication which happens between the Dart/Flutter side and the native platform side.
Use case

The use case is application performance observability in production. I'd like to measure how long the communication takes, e.g. how long it takes from request (Dart side) until the answer from native side (Android, iOS,..) arrives.
Since a lot of the communication isn't under my control, like for example the plus plugins (device_info_plus), I want to be able to have a way which global for all the communication.
Proposal

After looking for some time at existing code, I think one viable solution would be to add some kind of listener to the ChannelBuffers class.
A potential interface for such a listener could look like this:
abstract class ChannelBuffersListener {
  void onMessageSend(String channelName, String methodName, ByteData? data);
  void onMessageReceived(String channelName, String methodName, ByteData? data);
}

Thanks for the info.
Labeling for further input from the team.

See also https://github.com/flutter/flutter/issues/102189


Revert change disabling strong name signing in 92df1ec

As title mentions. Strong name signing was disabled via 92df1ec in a large merge adding zstd support.
Due to this comment from @adamhathcock, I believe this was just a mistake. So here is a PR which resolves the issue.
Accepting this PR will fix #764

Thank you!


mimxrt1050_evk: GPIO button pushed only once

Is your enhancement proposal related to a problem? Please describe.
the GPIO button can only be pushed once. than it fails to push again. this is because in the DTS the up function is missing
gpio_keys {
	compatible = "gpio-keys";
	user_button: button_0 {
		label = "User SW8";
		gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
	};
};

Describe the solution you'd like
change gpios from only GPIO_ACTIVE_LOW to pull GPIO_PULL_UP and GPIO_ACTIVE_LOW.
gpio_keys {
	compatible = "gpio-keys";
	user_button: button_0 {
		label = "User SW8";
		gpios = <&gpio5 0 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
	};
};

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
as alternative it is possible to make a overlay and change it there. but this has to be done by every user itself. and the samples wouldn't work out of the box.

@CarloWM verified this issue also exists on an RT1064- can you test the PR #45214 to ensure it fixes the issue for you?


Video - Options

Feature Description
As an editor utilizing videos, I want to see what options are available for my videos

Do not alter or remove anything below. The following sections will be managed by moderators only.

The editor is presented with a looping option
The editor is able to mute a video (the video will have no sound when played) (Note: Videos are muted in AMP)

QA Instructions

WordPress it's supports added subtitle tracks and alternative version of file ( ogv, webm ).  Should we also support these @swissspidy @pbakaus @jauyong ?

Worth noting that gutenberg itself does not support subtitles ( https://github.com/WordPress/gutenberg/issues/7673 )  or alternate sources ( https://github.com/WordPress/gutenberg/issues/9457 ), at time of writing.

Alternative versions: AMP Stories only support MP4, WEBM, HLS (docs), so this is a bit less relevant. I'd say we should just focus on MP4 for now. Other formats should be handled automatically by the editor in the future (WebAssembly, CDN, etc.)
Subtitles: Perhaps at some point in the future, but not a P0 in my eyes. Even then we should ideally just automate it and hide it from users.
Deferring to @pbakaus for making the decision though.

Alternative versions: AMP Stories only support MP4, WEBM, HLS (docs), so this is a bit less relevant. I'd say we should just focus on MP4 for now. Other formats should be handled automatically by the editor in the future (WebAssembly, CDN, etc.)
Subtitles: Perhaps at some point in the future, but not a P0 in my eyes. Even then we should ideally just automate it and hide it from users.
Deferring to @pbakaus for making the decision though.

I would say let's do MP4 and WEBM for now. Want to find out whether, and how we can support HLS in the future. /cc @newmuis

We're in the midst of reevaluating what the best options are for video, but I don't think HLS makes the cut as a recommendation at this moment.  We'll update the docs once this is finalized, but doing only WEBM/MP4 makes sense for now

Hey @samitron7 is there a design for where the looping option shows? Or is it the same as Jonny's screenshot above?
I looked at the media panel section and the design panel - video section in Figma.

@pbakaus the brief for Media-specific controls is also missing as denoted by the red text in the Product Spec doc.

@jauyong all related spec should be written. Note that there's a red "Panel:Video" in the spec, but we only really need that when we ship subsequent features not in v1.

I couldn't find where looping was covered in the docs but since this is in code review I'd assume Jonny found it

arrgh you're so right. The loop option was missing. Will add now.

Alright, it can be found here: https://docs.google.com/document/d/1EQ12sD4a1plmMeBu7YMWOdUSg0FeegB9qi2_OlV3Tp0/edit#heading=h.h3uoy4bqqh92

Just realized that muting is deprecated in favor of using autoplay (which we already do), so we don't need to implement that.


UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0

Traceback (most recent call last):
  File "d:\python38\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "d:\python38\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "D:\Python38\Scripts\auto-editor.exe\__main__.py", line 7, in <module>
  File "d:\python38\lib\site-packages\auto_editor\__main__.py", line 402, in main
    main_loop(input_list, ffmpeg, args, log)
  File "d:\python38\lib\site-packages\auto_editor\__main__.py", line 379, in main_loop
    inp = FileInfo(input_path, ffmpeg)
  File "d:\python38\lib\site-packages\auto_editor\ffwrapper.py", line 139, in __init__
    info = get_stdout([ffmpeg.path, '-hide_banner', '-i', path])
  File "d:\python38\lib\site-packages\auto_editor\utils\func.py", line 13, in get_stdout
    return stdout.decode()
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 878: invalid continuation byte

Video (10 sec)
https://mega.nz/file/eUdFhSDY#3KmpCpZk6dOZKkByd8LRdPUlEzE4am7iGdHwPJhIgfM

What text format is your terminal in?

What text format is your terminal in?

Don't know but this error appears in:
mpv (media player) console
cmd.exe
powershell.exe

Only in this video, works well with other videos

It looks like the video's description has an invalid unicode character. All that needs to be changed is for auto-editor to throw that character away.

Closing since the commit passed and it fixed the problem on my end. I'll push this to a new release soon.

Thank you, it works


[BUG] MySQL - Generated Unique Key too long

If you try to make many columns as unique key, laravel is writing each column name after each other and is not cutting them after the max length.
For example, first_name, last_name, phone and company_name:
You will get following error message by running the migrate command.
[Exception]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (SQL: alter table customers add unique customers_first_name_last_name_company_name_phone_unique(first_name, last_name, company_name, phone))

Just in case someone stumbles across this: The problem isn't the length of the name of the index but the combined field length of the columns that are indexed.
Solution is to restrict the length of the individual columns, e.g. specify a max length for first_name, last_name etc. in the example above, i.e. $table->string('first_name', 50);
See http://stackoverflow.com/questions/23786359/laravel-migration-unique-key-is-too-long-even-if-specified

I see the same question with use the laravel5.4 and now it's sloved, the first thing make sure you can see the welcome.blade.php,and then ,change the app\AppServiceProvider.php,
use Illuminate\Support\Facades\Schema;
public function boot()
{
Schema::defaultStringLength(191);
}
now ,have a test,good work!


prop assertions

It'd be nice for components to be able to check the props it receives, and this makes reusable components more robust. e.g.
Vue.component('example', {
  props: [
    { name: 'on-something', type: Function },
    { name: 'some-prop', type: Boolean, required: true }
  ]
})

This could be backwards-compatible and totally opt-in.

Wow ReactJS-like !!
Looks pretty good.
I'm prefer that.

Interesting. Could you give some real world use from this? Looks cool to me, but can't think of some way using it :)

Looks good. What if required prop is not provided?

This is mostly intended for shipping standalone, reusable components. These props are essentially the API exposed by the component. If a required prop is not provided or a type mismatches, Vue will throw a warning for you.

Thank you, Evan. I think it is a good addition to current component system.

Shipped in 0.12.1


UVI Request

--- UVI JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from  to before v5.15.5",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=5b8bed6464ad6653586e30df046185fd816ad999"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "5b8bed6464ad6653586e30df046185fd816ad999",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "scsi: scsi_debug: Fix out-of-bound read in resp_readcap16()\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v5.15.5 by commit 5b8bed6464ad6653586e30df046185fd816ad999. For more details please see the references link."
}
--- UVI JSON ---

This issue has been assigned UVI-2021-1002336


[Bug] Can't navigate guest listing on mobile

Noticed this issue both on my site and on arresteddevops.com
If you go to a castanet themed website on mobile and click on the Guests link then scroll to the bottom there will be 3 buttons available to navigate the listing. The "<< <<" button to go to the first page, the "<<" button to go to the previous page (which isn't clickable since you're on the first page) and the ">> >>" button to go to the end of the results.
There is no way to go from the first page to the 2nd page (unless you only have 2 pages). Instead the only way to navigate the guest list on mobile is to skip to the end of the results, then traverse through the pages backwards.
The episode listing pages seem to handle this better

Well that's not great!
I'm going to have to dig into the pagination code to fix #219, so I'll look at this at the same time.

Fixed in #221