Merge test - Don't merge

don't merge

Adding cla: yes label, as the PR author is a googler at the time of this PR was created.


Px4 toc enhancement

Move ToC out from the firmware itself, turn it into more like a firmware header

Looks like a good approach to me


Reproducible script requirements

This is really a great work
I tried changing the parameters in config.yaml, but still can't get any meaningful movements in Humanoid. Can you provide a reproducible script? Thanks a lot!

Thanks! A few people have also privately asked for examples of run cards, so will aim to upload all our run data exports from wandb (which includes the run data / params etc.) over the next few days and link it to the repo.

Now I have a new problem: the results obtained each time I run the script are different, even though the random seed has been determined. How can I solve this problem?

All run data can be found here: https://drive.google.com/drive/folders/1E6PomaFeCOUPSbkTpwmJI1Hz51e_47yM?usp=drive_link
Regarding randomization, you want to make sure you're seeding all sources of entropy, including numpy. Could you provide a reproducible example where you're getting different results on different runs? So that I can provide more input on how to address this.


problem in docker-compose

Problem description
ERROR: In file './docker-compose.yml' service 'version' doesn't have any configuration options. All top level keys in your docker-compose.yml must map to a dictionary of configuration options.
Problem location
everything is int the error message I guess
Project version(s) affected
docker engine 1.13 for the moment

We need more info. It sounds like you were having trouble with a specific compose file. Were you using one from an example in the docs?

Sorry I m traveling for now so I don't get always the time to test correctly. I will provide you with the launch line if you want but a compose file ?
There is only 3 files right? And so which file are you talking about? And what would be the point to combine several files from different container? I'm using the pull command anyway so it s highly doubtful
Get Outlook for iOShttps://aka.ms/o0ukef

From: Misty Stanley-Jones <notifications<EMAIL_ADDRESS>Sent: mercredi, avril 5, 2017 1:18 AM
Subject: Re: [docker/docker.github.iohttp://docker.github.io] problem in docker-compose (#1389)
To: docker/docker.github.iohttp://docker.github.io <docker.github.io<EMAIL_ADDRESS>Cc: boistordu <padawan440<EMAIL_ADDRESS>Author <author<EMAIL_ADDRESS>We need more info. It sounds like you were having trouble with a specific compose file. Were you using one from an example in the docs?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/docker/docker.github.io/issues/1389#issuecomment-291668687, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AJFPg0ySxiBdkxxIocW2HUv__lk5uQ3xks5rss-0gaJpZM4LurcV.

I think the composefile references have been updated to clarify the different possible values for version. Please have a look and let us know if you are still having trouble.


[WIP] Replace ListView with FlatList

[x] Updated example to latest React Native
[x] Added FlatList with manual inversion (until 0.47.0 is released)

Hello,
RN 0.47 had already released. I'm curious if you still use manual inversion or not. Thanks.

Yep, we use fully customized version https://github.com/ptmt/react-native-gifted-chat-flat, but we haven't yet updated to latest RN, only 0.46

Do you have any plan to use RN 0.47?
I already use RN 0.47 and the UI is weird. I get reverse view, and there's margin on top.

Any clue is very welcome. Thank you.


[scss-css] Semicolon auto close & list of CSS property values (missing some atom's features)

VSCode Version: v. 1.16
OS Version: Win 10 x64

I used to code my front-end in atom.io but now I've moved to VS Code and I really like it! I have in VS Code almost all features that atom.io has. But still missing 2 of them and no plugins or configs can help me as I understand.
So, they are: semicolon autoclose & list of CSS property values as it is performed in atom. Some screenshots are below:
First, I type a CSS property some letters, than select one I need and push Enter. And then such list appears:

After I've selected a value I tap Enter and atom places automaticaly a semicolon ;

So I wonder if any plugins which I don't know can help me? Or such features are/will be in future?
Thanks!

The first issue is #31948. The second is a duplicate of https://github.com/Microsoft/vscode/issues/34566 (similar: #34141).

Wait, how do we enable this? Right now after I use emmet to add CSS Property, display: for example, it doesn't suggest me the valid CSS values.


React type errors when replacing SignInPage

React is throwing type-errors when i try to replace the SignInPage with LdapAuthFrontendPage.tsx, i'm on the latest version of backstage as of 2022-11-11 and installed both plugin backend and frontend plugins.
Type '{ provider: string; onSignInSuccess(identityApi: IdentityApi): void; children?: ReactNode; }' is not assignable to type '{ provider: string; children?: ReactElement<any, string | JSXElementConstructor<any>> | undefined; options?: { helperTextPassword?: string | undefined; helperTextUsername?: string | undefined; validateUsername?: ((usr: string) => boolean) | undefined; validatePassword?: ((pass: string) => boolean) | undefined; } | u...'.
  Types of property 'children' are incompatible.
    Type 'ReactNode' is not assignable to type 'ReactElement<any, string | JSXElementConstructor<any>> | undefined'.
      Type 'null' is not assignable to type 'ReactElement<any, string | JSXElementConstructor<any>> | undefined'.ts(2322)

Yes, it is a type bug. You can solve this for now by passing undefined as children to the LdapAuthFrontendPage component.


request_vod_files does not return VOD files

Describe the bug
I am trying to find recorded video files and download them from Reolink Duo 3 PoE camera. Calling request_vod_files on a camera gets me search results indicating that it indeed found some recordings in the searched time period but I does not actually return those recordings (filenames).
The result i get looks something like this:
([<VOD_search_status: year 2024, month 8, days (30,)>], [])
The second list should contain VOD_files.
To Reproduce
This is the code:
host = Host(ip, username, password, port=80)
ret = await host.request_vod_files(channel=0, start=dt.now() - timedelta(days=2), end=dt.now(), status_only=False, stream='sub')
print(ret)
Expected behavior
ret should contain a list of VOD_search_status and VOD_files
Environment:
Reolink Duo 3 PoE

You can not return more files than 1 day at a time, otherwise the camera just does not respond with the file names.

@starkillerOG thank you very much, this works now that I have reduced the search time window!
I have also managed to download the file using the StreamReader in typings.VOD_download.
Could you take a look if I am downloading the file as intended? Is there a function in your library which could do the actual download for me or do i need to use aiohttp.StreamReader myself?
This is the code, download is a bit slow but I am guessing it could be sped up by downloading chunks in parallel:
ret = await host.download_vod(files[0].file_name)
chunk_size = 1024 * 16  # 16 KB
with open(ret.filename, 'wb') as f:
    while True:
        chunk = await ret.stream.read(chunk_size)  # Adjust chunk size if necessary
        if not chunk:
            break
        f.write(chunk)

This would indeed work, but a nicer option is to use get_vod_source with VodRequestType.PLAYBACK:
get_vod_source(channel, files[0]. file_name, request_type = VodRequestType.PLAYBACK)
that will return the URL from which you can directly get the mp4 file.


New Lx/SFR

Addition of a new Lx/SFR based on Davies+in prep.

I've added the code and now I'm launching the inference. I did some small cleanup of the code.


Adding AddressLimitExceeded AWS error notification for EIP addresses

Adding AddressLimitExceeded error that was found during cluster installation. Example:
Error creating EIP: AddressLimitExceeded: The maximum number of addresses has been reached.

/lgtm


minor formatting updates

Additional links and minor formatting updates to the policy mapping and policy enforcement docs.
Checklist

[ ] I have signed the CLA
[ ] I have updated/added any relevant documentation

Description
What's the goal of this PR?
What changes did you make?
What alternative solution should we consider, if any?

@jpelletier1 looks like you've got dead links


Stocks.csv format

I created a Stocks.csv file for the first test code you had on the readme page, but I can't figure out the format required for the script to work. Do you have a template?

This is what your format should look like for a single stock.
Date,Open,High,Low,Close,Volume,SSO,SCC
03/01/2013,27.72,27.98,27.52,27.95,34851872,65.7894736842,-0.121
03/04/2013,27.85,28.15,27.7,28.15,38167504,75.9450171821,0.832
03/05/2013,28.29,28.54,28.16,28.35,41437136,84.9230769231,0.151
03/06/2013,28.21,28.23,27.78,28.09,51448912,80.7799442897,-0.689
03/07/2013,28.11,28.28,28.005,28.14,29197632,73.5368956743,-0.821


Fix dependency badge.

Fix the dependency badge.

Thanks for the answer.
However, I don't want to lock it on a specific version but get the latest badge.
As you can see, this works well with this one: https://github.com/Soullivaneuh/IsoCodesValidator/blob/master/README.md
Regards.

Seems the badge is working now. Cache issue @reiz?
Closing this one.

Might be that it was related to the cache at VersionEye or GitHub.


Make coverage work with Jenkins Github Branch Source plugin

Performance test reportHPX PerformanceComparisonBENCHMARKFORK_JOIN_EXECUTORPARALLEL_EXECUTORSCHEDULER_EXECUTORFor Each(=)??(=)InfoPropertyBeforeAfterHPX Commitdcb541576898d370113946ba15fb58c20c8325b24eb26e7cbd92370ce18b534a9ccc3e946ccaf084HPX Datetime2023-05-10T12:07:53+00:002023-09-17T13:47:17+00:00ClusternamerostamrostamEnvfileDatetime2023-05-10T14:50:18.616050-05:002023-09-17T08:55:04.659701-05:00Compiler/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1Hostnamemedusa08.rostam.cct.lsu.edumedusa08.rostam.cct.lsu.eduComparisonBENCHMARKNO-EXECUTORFuture Overhead - Create Thread Hierarchical - Latch=InfoPropertyBeforeAfterHPX Commitdcb541576898d370113946ba15fb58c20c8325b24eb26e7cbd92370ce18b534a9ccc3e946ccaf084HPX Datetime2023-05-10T12:07:53+00:002023-09-17T13:47:17+00:00ClusternamerostamrostamEnvfileDatetime2023-05-10T14:52:35.047119-05:002023-09-17T08:57:19.615685-05:00Compiler/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1Hostnamemedusa08.rostam.cct.lsu.edumedusa08.rostam.cct.lsu.eduComparisonBENCHMARKFORK_JOIN_EXECUTOR_DEFAULT_FORK_JOIN_POLICY_ALLOCATORPARALLEL_EXECUTOR_DEFAULT_PARALLEL_POLICY_ALLOCATORSCHEDULER_EXECUTOR_DEFAULT_SCHEDULER_EXECUTOR_ALLOCATORStream Benchmark - Add(=)(=)(=)Stream Benchmark - Scale(=)-(=)Stream Benchmark - Triad(=)(=)(=)Stream Benchmark - Copy(=)-(=)InfoPropertyBeforeAfterHPX Commitdcb541576898d370113946ba15fb58c20c8325b24eb26e7cbd92370ce18b534a9ccc3e946ccaf084HPX Datetime2023-05-10T12:07:53+00:002023-09-17T13:47:17+00:00ClusternamerostamrostamEnvfileDatetime2023-05-10T14:52:52.237641-05:002023-09-17T08:57:36.987993-05:00Compiler/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1/opt/apps/llvm/13.0.1/bin/clang++ 13.0.1Hostnamemedusa08.rostam.cct.lsu.edumedusa08.rostam.cct.lsu.eduExplanation of SymbolsSymbolMEANING=No performance change (confidence interval within ±1%)(=)Probably no performance change (confidence interval within ±2%)(+)/(-)Very small performance improvement/degradation (≤1%)+/-Small performance improvement/degradation (≤5%)++/--Large performance improvement/degradation (≤10%)+++/---Very large performance improvement/degradation (>10%)?Probably no change, but quite large uncertainty (confidence interval with ±5%)??Unclear result, very large uncertainty (±10%)???Something unexpected…

@hkaiser Look into getting this merged, it will allow me to setup the coverage properly. Thanks!

bors merge


Remove .fmf/ & ci.fmf to try TF's installation-test

/packit build

/packit build

/packit build

/packit build

/packit build


Pin Diode

ref: #118

i think we already have a diode

Ohh yeah, just checked the list. We have diode, I think this was named pin_diode and not just diode made it a bit confusing. My bad, I shouldn't have created this issue
You can pick something else please @aman1376


[App]: Parallel coordinates average metrics in the Group

Current Behavior
I couldn't find a way to visualize runs in the group separatelly. I am running ray.tune.run with WandbLoggerCallback, setting the group number and for each run, I send extra parameters with wandb.Api() and this works fine. The problem comes when I am trying to visualize all runs in parallel coordinates, that averages all metrics across runs, rather than showing each of them individually.

I was able to show the metric final_performance of each run separately only if I specify some parameters in the configuration that two runs differ. The default behavior was to average these (options are mean, median, min, max).

Expected Behavior
I would expect that there is a way to show each run from the same group separately in parallel coordinates, or in the plot as default.
Steps To Reproduce
Unfortunately, I cannot provide a reproducer.Unfortunately
Screenshots
No response
Environment
OS: MacOS
Browsers: Firefox, Chrome
Version: 0.13.1
Additional Context
No response

Hi @dejangrubisic !
Could you try filtering by the Group parameter instead of Grouping over them? I think that should result in what you are looking for.
Thanks,
Ramit

If I group over Group, it creates Group:PPO, which are all runs together. I was able though to send additional parameter group_id through wandb_run.summary, and group over it, and it works ok that way.
I would say that this is just a workaround, and it would be more convenient for users to have default independent grouping.

Another way is to turn off the grouping in panels completely:

Does that work for you?

Unfortunately that only shows mean +- std and not all runs from the group separatelly

Hey @dejangrubisic,
Could you tell me a little bit more about why the filter by "Group" does not work for you? Seems to do the job for me. I would love to understand some more to help you better.

Thanks,
Ramit

Your example is exactly what I would like to see, but what I can see are averaged values of all runs for parallel coordinates. This surely can be useful sometimes, but it would be nice to see separate lines like in your example, so we can identify the best run.


Cannot read property 'name' of undefined

Hello,
I got one problem when I tried to install this package:
$ ember install ember-cli-htmlbars-inline-precompile
version: 1.13.1
Could not find watchman, falling back to NodeWatcher for file system events.
Visit http://www.ember-cli.com/#watchman for more info.
Installed packages for tooling via npm.
Cannot read property 'name' of undefined
TypeError: Cannot read property 'name' of undefined
    at /Users/danil/Documents/1_nodejs/Penton/Node-FleetSeek-Ember/node_modules/ember-cli/lib/models/project.js:484:53
    at baseFindIndex (/Users/danil/Documents/1_nodejs/Penton/Node-FleetSeek-Ember/node_modules/ember-cli/node_modules/lodash/internal/baseFindIndex.js:16:9)
    at /Users/danil/Documents/1_nodejs/Penton/Node-FleetSeek-Ember/node_modules/ember-cli/node_modules/lodash/internal/createFind.js:18:19
    at Project.findAddonByName (/Users/danil/Documents/1_nodejs/Penton/Node-FleetSeek-Ember/node_modules/ember-cli/lib/models/project.js:483:20)
    at Class.module.exports.Task.extend.findDefaultBlueprintName (/Users/danil/Documents/1_nodejs/Penton/Node-FleetSeek-Ember/node_modules/ember-cli/lib/tasks/addon-install.js:64:30)
    at Class.module.exports.Task.extend.installBlueprint (/Users/danil/Documents/1_nodejs/Penton/Node-FleetSeek-Ember/node_modules/ember-cli/lib/tasks/addon-install.js:53:30)
    at Class.<anonymous> (/Users/danil/Documents/1_nodejs/Penton/Node-FleetSeek-Ember/node_modules/ember-cli/lib/tasks/addon-install.js:43:19)
    at lib$rsvp$$internal$$tryCatch (/Users/danil/Documents/1_nodejs/Penton/Node-FleetSeek-Ember/node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:489:16)
    at lib$rsvp$$internal$$invokeCallback (/Users/danil/Documents/1_nodejs/Penton/Node-FleetSeek-Ember/node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:501:17)
    at lib$rsvp$$internal$$publish (/Users/danil/Documents/1_nodejs/Penton/Node-FleetSeek-Ember/node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:472:11)

ember-cli: 1.13.1
node: 0.12.2
npm: 2.12.1
Can someone help me with that?

What version of ember-cli-htmlbars-inline-precompile are you using? Any chance you can create a repository with a failing setup?

I've tried to install it with new ember-cli project and it works fine. So I think there is some issue in my code. Thanks!

Alright, thanks for the info. I am closing this issue then. Please feel free to reopen if you encounter this issue again ...


Optimize bundle size

Recently there was a huge bump in total bundle size due to introduction of new dependencies in traverse, see https://x.com/himseIf_65/status/1807923912493486182/photo/1
Would you be open to PRs that preserve current functionality, but cut down on the bundle size by either removing, or replacing some of the dependencies that were introduced?

Always, but do note the current functionality includes engine support and robustness (which always applies to modern engines).

@ljharb Based on https://github.com/ljharb/js-traverse/blob/main/.github/workflows/node-tens.yml, it seems that supporting Node 10 as a minimum should be OK. Can you confirm that?

https://github.com/ljharb/js-traverse/blob/main/.github/workflows/node-aught.yml

@ljharb Would you consider having a semver major, that would drop obsolete versions, for those who are willing to upgrade for the sake of more reasonable bundle size? Based on the latest (unfortunately, overly heated at a times) discussion around "supporting Node 0.4 forever", it is very clear where the ecosystem consensus is.

Major releases contribute to much higher bundle sizes, via duplication.

@ljharb I assume what you are saying is that you are against removing support for older Node.js under any circumstances? And that any removal of excessive dependencies needs to be 100% compatible with Node 0.4?

I’m saying that the downsides of breaking changes rarely outweigh the ecosystem cost they impose.
dependencies are not excessive by definition, unless they can be removed without breaking changes - and if they can be, then it’s perfectly fine to do so.

I don't want to get into an argument that is going to end up nowhere, and will only fuel future flame wars and conspiracy theories.
So just so that the rules of a game are clear:

Support for versions as old as Node 0.4 stays no matter what;
Dependencies can be removed, as long as they can be replaced with a native solution, or a smaller library with less dependencies, as long as doing so does not contradict 1

Is that an accurate summary? Am I missing something?

absent sufficient value, I’m not going to make a breaking change.

What would constitute sufficient value?

I don’t have objective criteria in mind, but “bundle size” (when bundlers can change whatever they want without requiring any changes in the ecosystem) isn’t it.

when bundlers can change whatever they want without requiring any changes in the ecosystem

Can you elaborate on that? If an app depends on library A, and library A depends on library B, there is nothing that bundler can do about it, both library A and library B go into the bundle.

Of course there is. There’s npm overrides, and the bundler can rewrite literally any part of the application since it’s producing the bundle. Airbnb was doing this with polyfills (ones it’d already applied in a separately optimized bundle) way back in 2016; it’s not a new technique or capability.

@ljharb Wouldn't doing that require to basically fork traverse and produce a version with less dependencies? Otherwise you can't just remove dependencies and expect things to work. And I'm not sure how is that less disruptive for end users than releasing a semver major.

Sure, that’s one alternative. You can also do rewrites in place, like replacing eg var split = require('string.prototype.split'); with var split = Function.bind.call(String.prototype.split);
It’s less disruptive because the default is safe, and most applications and websites simply don’t have meaningful size constraints they need to worry about.

@ljharb My issue with that recommendation is that it requires a lot of steps from users, which might not be always as experienced to know all the proper techniques to reduce bundle size.
Extra dependencies that are unjustified because they don't  meaningfully contribute to the project I think should be treated as malignant, this package went from being self contained, to a spider web of dependencies.
What happens when the dependencies change their APIs for some reason, they stop actively maintained or worse it ends in a supply chain attack?
And if all this is done with the goal of backwards compatibility, why?, who was asking for it? where ware the issues?

@ottobunge it's totally true that it requires more effort, but most users don't need to worry about bundle sizes, since most applications simply aren't that performance-sensitive.
"dependency count" simply isn't an objectively bad number to have increase; that's just left-pad style small package FUD. If something malicious happens with any dependency, you simply replace it.

Bundle size isn't the only issue. Where the previous version of traverse was a single download, the current one is in the worst case up to about 50 (if I'm visually grepping the new dependency graph correctly).
Fetching those dependencies has an ecological cost too - I don't think we should we burning cycles, bandwidth and capacity unnecessarily.

This isn't a debate worth having yet again. The issue was asking about PRs to reduce dependencies; I've explained the constraints.

Sure, that’s one alternative. You can also do rewrites in place, like replacing eg var split = require('string.prototype.split'); with var split = Function.bind.call(String.prototype.split);

Wow, this is something new! So instead of library shipping minimal amount of custom code and relying on runtime built-ins effectively allowing user IF necessary to polyfill the code with bundler, you are up for vise versa?! Ship the maximum amount of custom code to cover the oldest runtime version and IF user don’t need it, user should upgrade the code with bundler? I don’t even know the correct term for it, is it reverse-polyfill?
And all of it is when we talk about the server, where user fully controls runtime version… like the whole polyfill stuff came up at least partially because devs wanted to use new features, but were forced to support uncontrolled client runtimes, so we came up with bundlers.
Bundlers are meant to be user for client code, not for server. They are meant to increase the code compatibility, not clean up redundant reverse-polyfills that are shipped with 3-rd party libs

most users don't need to worry about bundle sizes, since most applications simply aren't that performance-sensitive.

@ljharb this is a very bold assumption to make. I don't have data to back this but I'd wager that if a survey was conducted the % of developers concerned with this would be significant.
On the other hand I'd also guess that the % of developers requiring Node 0.4 support would be orders of magnitude lower.

@MeLlamoPablo "node 0.4" is a strawman; even if i required node 22, i'd need almost all the same dependencies, because most of them are about robustness, which forever applies.
As for surveys, when I see one whose demo isn't massively skewed from empirical real world usage then I'll make decisions solely based on them :-)

"dependency count" simply isn't an objectively bad number to have increase;

yes, it is. even if it may not affect the experience of the end user (the person who uses software), it still impacts the lib user (the person who writes software):

increased dependency count means increased surface of supply chain attach
increased dependency count means increased amount of nothing-to-do-about npm audit and dependabot warnings[^1]
increased dependency count means increased node_modules size for serverless environments, where there is usually hard limit on the maximum source code size in Mb
increased dependency count means increased node_modules size for serverless environments, where cold start time is directly affected by the amount of code that needs to be loaded into memory
increased dependency count means increased bundle size for client-side environments, which means increased network bandwidth monthly bills
increased dependency count means increased node_modules size on a developer machine hard drive, where he/she can have dozens of different projects

While the whole ecosystem moves towards one direction, where you have more and more stuff built-in into runtimes, you deliberately hold ecosystem being dependent on your 3-rd party stuff even when for users of the latest runtimes. At this point of time I consider you being actively harmful to JS in general. "Just fork it" won't solve the thing for me, because I'm not dependent on your packages, I am depended on packages that are dependent on your packages (good luck forking eslint and all affected plugins, for example)
[^1]: most of them usually aren't about the project deps, but about deps of the deps. so the developers just ignore them until there is eventually an update of the actual project dep. this leads to increased ignorance to those monitoring system warnings in general, which increases the chances of one actual real warning about project dep to be unnoticed and unaddressed because of was of surrounded by 10+ other nothing-to-do-about dep's dep warnings

Surface area of a supply chain attack comes from the number of publishers in your graph, not the number of dependencies. You'll find that the vast majority of the dependencies everyone's so concerned about have a single publisher.
npm audit and dependabot warnings are good - they indicate a potential security issue - and fewer deps actually increases the likelihood of an undiscovered security issue. Code reuse improves security.
For serverless environments, you'd probably want to bundle anyways, because that gives you the fastest cold start time and the smallest disk size.
Increased dep count doesn't necessarily increase bundle size, and in fact, often decreases it - instead of the code being inlined in multiple places, it's deduplicated to one place.
A developer's hard drive is not a resource-constrained environment; storage space is cheap, and both pnpm and yarn have solutions that minimize the disk space impact.

At this point of time I consider you being actively harmful to JS in general.

 I suggest you avoid making them.

Surface area of a supply chain attack comes from the number of publishers in your graph, not the number of dependencies. You'll find that the vast majority of the dependencies everyone's so concerned about have a single publisher.

having 1 lib to be dependent on is having constant 1 publisher to be dependent on. having 10 libs of the same 1 publisher to be dependent on is having a chance of icreasing the number of publishers at any given point of time

npm audit and dependabot warnings are good - they indicate a potential security issue - and fewer deps actually increases the likelihood of an undiscovered security issue. Code reuse improves security.

npm audit and dependabot warnings are good unless they become just a white noise, that is ignored all together, that is how human psychology works

For serverless environments, you'd probably want to bundle anyways, because that gives you the fastest cold start time and the smallest disk size.

making bundling for serverless environments more of a "must" by potentially reaching the size hard limit rather than "should" is a bad developer experience and obviously a deal breaker for less-experienced developers. compare "just works" using latest runtime version with lowest number of deps to "bundle, minify, reverse-polyfill" your code even using latest runtime version with increased number of deps

Increased dep count doesn't necessarily increase bundle size, and in fact, often decreases it - instead of the code being inlined in multiple places, it's deduplicated to one place.

simply not the case, because alternative to var split = require('string.prototype.split'); isn't var split = Function.bind.call(String.prototype.split);. the alternative is to not having any of such at all and just use "foo".split();

A developer's hard drive is not a resource-constrained environment; storage space is cheap, and both pnpm and yarn have solutions that minimize the disk space impact.

its not up to the library author to decide, but to the library consumer, to a developer. a developer that is using the latest runtime version may consider support of older ones to be obsolete as well, but its not up to him to decide, but up to library author. let's not cross the lines

Personal attacks are violations of our CoC, destroy your credibility, and weaken your argument. I suggest you avoid making them.

I didn't say a word about you as a person, only about your work you are doing for the ecosystem. I don't consider this being personal. Maybe the wording was misleading, but the point remains

@ljharb let's lock this issue, I don't think it will bring any additional valuable discussions at this point


Rfc592 453 454

Implements https://github.com/hyperledger/aries-rfcs/pull/607

Codecov Report

Merging #1023 (d54f069) into main (ab72c90) will increase coverage by 0.02%.
The diff coverage is 98.56%.

@@            Coverage Diff             @@
##             main    #1023      +/-   ##
==========================================
+ Coverage   97.07%   97.09%   +0.02%
==========================================
  Files         365      368       +3
  Lines       20887    21258     +371
==========================================
+ Hits        20276    20641     +365
- Misses        611      617       +6

More changes to come, pending resolution of https://github.com/hyperledger/aries-rfcs/pull/607

OK, good to go IMO

I just want to revisit and expand bait-and-switch before I call this done - early this afternoon

OK, good now


Removed os.chroot() and replaced with proper path traversal detection.

Removed the os.chroot() path traversal protection hack, and replaced it with detecting path traversal outside the netboot_directory given.
I've verified that access to files in HTTPD and TFTPD both work, and that I've been unable to escape netboot_directory. I don't have a setup where I'm able to test NBD, but from looking at the code, I'm not sure how it could've worked in the past without having the block_device be inside and relative to netboot_directory.

This looks good to me, I've tested against HTTP and I'm confident this is safe. NBD is server side config only, so it's safe against directory traversal attacks.
@mmattioli any comments before I merge?

I don't have Windows to test, but this likely fixes several points in #72.

I think it was decided that Windows isn't going to be supported in #73, however the use of os agnostic functions would agree with you.

@icb- @psychomario LGTM
As a side note, apologies for the delayed response(s); I was on vacation for the last two weeks.

I think this was ready to merge, So I'm going to do so.


Lackluster domain-space coverage

The current coverage offered by tastes samplers is less than ideal. There's a few problems:

First and last inputs dominate the output range. In other words, there's a lot of inputs that are the same.
Small amount of actual coverage. I haven't measured this, but it can't be that high up there. The amount of coverage should scale inversely with the amount of independent samplers.
Very clear wave pattern in arrays. Any given array doesn't look random. After a few you see a pattern.

The core issue here is the projection from the 1-dimensional unit interval, { x ∈ ℝ | 0 <= x < 1 }, to some higher dimension unit interval.
The current technique is to use independent waves of different octaves. The perfect technique would be to use a space-filling curve, but that is quite computational intensive.
There should be some reasonable middle ground for n-dimensional unit intervals.

This should be solved by #7 #8 and #9


Allow immediate scheduling of an action within the same delta cycle

Description & Motivation
This is a Rohme inspired enhancement to enable things like external IO inside a non Future timer callback.
    // an async* stream generator, consuming actual wall clock time
    var publisher = publish(loops, Duration(milliseconds: 250));

    Simulator simulator = Simulator(clockPeriod: SimDuration(picoseconds: 10));

    simulator.run((simulator) async {
      Future.delayed(tickTime(5), () async {
        expect(simulator.elapsedTicks, 5);

        // subscribe(.) consumes actual wall clock time, needed to receive the entire stream
        // but does not consume simulation time.
        await simulator.immediate(() => subscribe(publisher) );

        expect(simulator.elapsedTicks, 5);
      });

      Future.delayed(tickTime(10), () async {
        expect(simulator.elapsedTicks, 10);
      });
    });

    await simulator.elapse(SimDuration(picoseconds: 1000));

The Rohme call simulator.immediate( action ) is a thinish wrapper around the new Rohd call Simulator.registerImmediateAction( action ). It just wraps a Completer around the underlying action:
import 'package:rohd/rohd.dart' as rohd show Simulator;

typedef _RohdSim = rohd.Simulator;

class Simulator
{
  ...
  Future<void> immediate(dynamic Function() action) async {
    Completer<void> completer = Completer();

    _RohdSim.registerImmediateAction(() async {
      await action();
      completer.complete();
    });

    await completer.future;
  }
}

This preserves the ability to do things like
     simulator.run((simulator) async {
        Future.delayed( tickTime(10) , () async {
          a();
          await Future.delayed( tickTime( 10 ) );
          b();
        });
        Future.delayed( tickTime(11) , () async {
          c();
          await Future.delayed( tickTime( 10 ) );
          d();
        });
      });

in Rohme, but also provides the ability to do "genuinely asynchronous" communication in zero simulation time, as shown above.
Testing
Two new test in test/simulator_test.dart.
Backwards-compatibility
No issues expected. All existing tests pass and API changes are incremental.
Documentation
Documentation is inline.

@AdamRose66 can you help me understand the difference in functionality and use case between this new registerImmediateAction and injectAction?

@AdamRose66 can you help me understand the difference in functionality and use case between this new registerImmediateAction and injectAction?

I tend to think in terms of delta cycles:

An immediate action is implemented in this delta cycle. If we await it, neither time nor delta cycle has advanced.
This gives us the ability to consume ( await ) actual wall clock time without consuming simulation time.
injectAction schedules an action on the boundary between one delta cycle and the next. All the processes scheduled for this delta ( and any immediate actions that they themselves may have scheduled ) have completed before the first injected action starts.
This might be used to tidy up or summarise everything that happened in the previous delta, or otherwise prepare for the next delta knowing for certain that the previous delta has finished. For example, we can trigger "value changed" events in here, confident that no further changes will take place in this delta.
And finally, registerAction( currentTime ) schedules an action for the next delta cycle, ie, at the same time but on the other side of the injectedAction boundary.

The name of this test describes it quite well:
  test(
        'immediate action occurs at same time, before injected'
        ' and before next delta',

The test deliberately registers the events in the opposite order to the one in which they will occur:
        // next delta
        Simulator.registerAction(100, () {
          expect(Simulator.time, 100);
          testLog.add('delta');
        });

        // next microtask ( end of this delta )
        Simulator.injectAction(() {
          expect(Simulator.time, 100);
          testLog.add('injected');
        });

        // immediate
        Simulator.registerImmediateAction(() {
          expect(Simulator.time, 100);
          testLog.add('immediate');
        });

And then the test checks the correct ordering:
     final List<String> expectedLog = [
        'first',
        **'immediate',
        'injected',
        'delta',**
        'second'
      ];

Really only injectAction and registerAction are actual modelling constructs. registerImmediate is a way to await "genuine time consuming functions" without advancing simulation time or the delta cycle. It's a kind of temporary opt out from the simulator.

Doesn't injectAction offer the same capabilities?  A function that does not return a Future passed to injectAction will not block progress on the Simulator, and one that does return a Future will block progress.

Possibly !But after the await, you would be in the shadow land between one delta cycle and the next.I will experiment with that.Sent from my iPhoneOn 5 Mar 2024, at 22:47, Max Korbel @.***> wrote:
Doesn't injectAction offer the same capabilities?  A function that does not return a Future passed to injectAction will not block progress on the Simulator, and one that does return a Future will block progress.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>


Update configuration-common.nix

Description of changes
haskellPackages: jailbreak comfort-fftw for fixed tests
Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

Thanks!

The commit message does not fit the contributors guide.
You write jailbreak but do a dontCheck. I assume you only wanted to do the dontCheck?
For overrides like this, we would like a comment or, better, an assert as to when we can drop it.

We can also just do comfort-fftw = super.comfort-fftw_0_0_0_1; with a corresponding comment drop override when <IP_ADDRESS> in stackage.

On Sat, 22 Apr 2023, maralorn wrote:

We can also just do comfort-fftw = super.comfort-fftw_0_0_0_1; with a
corresponding comment drop override when <IP_ADDRESS> in stackage.

Yes, that's what I wanted.

I Pushed a fix doing that.


Unable to create an allocator

When I try to run tiny I get the following error:
DEBUG:wlroots:[render/allocator/allocator.c:98] Trying to create gbm allocator
MESA-LOADER: failed to open iris: /usr/lib64/dri/iris_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib64/dri, suffix _dri)
failed to load driver: iris
MESA-LOADER: failed to open kms_swrast: /usr/lib64/dri/kms_swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib64/dri, suffix _dri)
failed to load driver: kms_swrast
MESA-LOADER: failed to open swrast: /usr/lib64/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib64/dri, suffix _dri)
failed to load swrast driver
ERROR:wlroots:[render/allocator/gbm.c:198] gbm_create_device failed

When I start a different wlroots-based compositor I get this output:
00:00:00.385 [render/allocator/allocator.c:98] Trying to create gbm allocator
00:00:00.391 [render/allocator/gbm.c:203] Created GBM allocator with backend drm
00:00:00.391 [render/allocator/gbm.c:206] Using DRM node /dev/dri/renderD128

I tired to look through the code to find what pywlroots does differently than the other compositor, but it all looks very similar. Any idea what I am doing wrong? Do I have to re-build the .so files for my system or something? Any help would be appreciated!

wlroots: 0.15.1
pywlroots: 0.15.24 (installed from pypi)

https://github.com/qtile/qtile/issues/4325

Are there any differences in the environment of the tiny compositor vs other wlroots compositors? Anything like GBM_BACKEND=nvidia-drm set, or LD_LIBRARY_PATH?

No, same environment. env | grep GDM and env | grep LD are both empty.


sft with multigpu

sft with multigpu and gradient accumulation, gradient_norm_before_clip undefined error

It seems that there is a bug in the accelerator.is_main_process task and accelerator.distributed_type. Is_main_process has scheduling problems during the training initiation and training stages.
Line 540 also has such a problem.
tracker_name = args.tracker_name or "cogvideox-sft"


min/max aggregations are (and probably have always been) broken

Since maps are 0 initialized it means that the values across all CPUs to start for min/max are 0. This means we don't register a difference between the initial value and a value set by the user e.g.
sudo ./src/bpftrace -e 'BEGIN { @mn = min(1); @mx = max(-10); print((@mn, @mx)); exit(); }'

outputs: (0, 0)
Maybe we can just store another value like we do for avg that is a bool to say if this val has been set by the user on this cpu.

Additionally min_valuein utils is calculating the MAX value lol:
int64_t min_value(const std::vector<uint8_t> &value, int nvalues)
{
  int64_t val, max = 0;
  for (int i = 0; i < nvalues; i++) {
    val = read_data<int64_t>(value.data() + i * sizeof(int64_t));
    if (val > max)
      max = val;
  }

  return max;
}

min/max aggregations appear to be working to me. We can tell the difference between "set to 0" and "unset" from the return value of map_lookup_elem. Taking a look at the IR for this script shows that bpftrace is doing this correctly: BEGIN { @ = min(*(0)); }.
I think this is actually a bug in putting per-cpu values into tuples:
# bpftrace -e 'BEGIN { @mn = min(1); @mx = max(-10); print(@mn); print(@mx); print((@mn, @mx)); exit(); }'
Attaching 1 probe...
@mn: 1
@mx:<PHONE_NUMBER>3709551606
(0, 0)

(18446744073709551606 is -10 as a uint64)

I'm not sure that min/max are actually broken - I haven't been able to trigger any wrong-results except by putting these per-cpu values into tuples (which suggests tuples are the problem):
# bpftrace -e 'BEGIN { @mn = min(1); @mx = max(-10); print(@mn); print(@mx); print((@mn, @mx)); exit(); }'
Attaching 1 probe...
@mn: 1                      [CORRECT]
@mx:<PHONE_NUMBER>3709551606   [CORRECT]
(0, 0)                      [WRONG]

(18446744073709551606 is -10 as a uint64)
I don't suppose there's any documentation on how a per-cpu map works? If a value is inserted on a single CPU, do all CPU buckets then definitely count as "filled"? My experiments are suggesting not.

Additionally min_valuein utils is calculating the MAX value lol

This does look wrong to me, but the only effect it has is in sorting the output for multi-key maps. e.g.:
@[0] = min(1); @[1] = min(2);

Will print:
@[0]: 1
@[1]: 2

When it should probably be printing them in the reverse order (we try to put the "most important" value at the bottom, which would be the smallest for min):
@[1]: 2
@[0]: 1

Sorry, I should have included a more obvious repo. See below (this is on master):
$ sudo BPFTRACE_DEBUG_OUTPUT=1 ./src/bpftrace -e 'hardware:cache-misses:500000 { print((cpu)); @ = min(cpu); }' -v
...
Attaching hardware:cache-misses:500000
29
29
71
5
15
21
68
5
18
13
71
16
72
7
5
15
0
1
55
54
17
50
72
29
44
78
0
76
14
11
^C

@: 29

Final value should be 0 for CPU Id 0.
Here is also the debug output after adding some statements in the codegen:
below-8509    [029] d.Z.. 1794203.097161: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Init min value: 29
   dynoKernelMon-2995537 [029] d.Z.. 1794203.322303: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 29. New Value: 29
          <idle>-0       [071] d.Z.. 1794203.451447: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 71
     fb-oomd-cpp-9774    [005] d.Z.. 1794204.097359: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 5
          <idle>-0       [015] dNZ.. 1794204.346574: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 15
          <idle>-0       [021] d.Z.. 1794204.615215: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 21
 RepeatableThrea-2782112 [068] d.Z.. 1794205.120613: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 68
     fb-oomd-cpp-9774    [005] d.Z.. 1794205.127434: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 5
 ThriftSrv230030-1606927 [018] d.Z.. 1794205.290959: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 18
          <idle>-0       [013] d.Z.. 1794205.296202: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 13
      thrmon_agg-2995577 [071] d.Z.. 1794205.361715: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 71
           <...>-8866    [016] d.Z.. 1794205.895048: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 16
          <idle>-0       [072] d.Z.. 1794205.961568: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 72
           <...>-1609819 [007] d.Z.. 1794206.160271: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 7
     fb-oomd-cpp-9774    [005] d.Z.. 1794206.160830: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 5
           <...>-1609839 [015] d.Z.. 1794206.307716: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 15
           <...>-1609848 [000] d.Z.. 1794206.373688: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 0
          <idle>-0       [001] d.Z.. 1794206.382296: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 1
           <...>-1609883 [055] d.Z.. 1794206.472625: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 55
           <...>-448144  [054] d.Z.. 1794206.483336: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 54
          <idle>-0       [017] dNZ.. 1794206.534232: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 17
          <idle>-0       [050] d.Z.. 1794206.566157: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 50
      ExtWatcher-2374016 [072] d.Z.. 1794206.572548: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 72
  dogpile-ticker-3841240 [029] d.Z.. 1794206.757767: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 29. New Value: 29
           <...>-1609916 [044] d.Z.. 1794206.788715: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 44
           <...>-1609917 [078] d.Z.. 1794206.822894: bpf_trace_printk: [BPFTRACE_DEBUG_OUTPUT] Current Value: 0. New Value: 78

See how the initial value for the map gets set only once (29) and then the rest of the values for the different cpus are 0 and therefore the min never gets updated. The reason we see 29 as the output is because of the bad utils.cpp min_value function - the only value that ever gets set is 29.

Ah I see - indeed it is broken!
I couldn't believe this has been broken for years so undertook a bit of Git archaeology. I think it might have been caused by this PR: #2806
Before that, we essentially stored the negative of the value, so that any positive number would overwrite the default-initialised zero value.
Going back further, that logic was introduced in #265, and the example test cases presented there are also broken now.
Here's a 100% reproducible script based on that example which demonstrates the current issue:
BEGIN
{
  @c = 5;
}

profile:ms:1
/ cpu == @c + 5 /
{
  @ = min(@c);
  @c = @c - 1;
  printf("cpu: %d\n", cpu);
  print(@);
  if (cpu == 0) {
    exit();
  }
}

Yuuup! Looks like I was the one who broke it. Let me look into re-adding this same solution to fix this - get ready for a v3!

What I like about the old solution is that its performance should be pretty much optimal. Could we do something similar but use 64-bit values instead of 32-bit?

Fixed here: https://github.com/bpftrace/bpftrace/pull/3298


Add functionality to skip existing runs, plotting modes, some refactoring

Adding parameter skip_if_exists to runner.run

Default value is set such that the current behavior is maintained
By setting to True, runs that already have a .json output file will not be executed again

Possible extensions

Make skip_if_exists arg-parsable

Adding median and quartiles in statistics and for plotting (e.g. for logarithmic plots)
Refactor aggregation of statisticst, remove calls of eval
Add counter to testproblem for checking the number of pulled batches

@abahde I will submit the features separately


Doesn't respect "match-beginning" gitignore patterns in subdirs

In .gitignore files, ignore patterns can be prefixed with a "/". man gitignore says:
A leading slash matches the beginning of the pathname. For example, "/*.c" matches "cat-file.c"
but not "mozilla-sha1/sha1.c".

ag currently doesn't apply such patterns when they match files in subdirectories. Steps to reproduce:
% mkdir ag-test                                                                                % cd ag-test                                                                                % mkdir ignored
% echo 'hello' > ignored/a
% echo 'hello' > b
% ag hello
b
1:hello

ignored/a
1:hello
% echo '/ignored/*' > .gitignore  ## should ignore "a", but doesn't
% ag hello
b
1:hello

ignored/a
1:hello
% echo 'ignored/*' > .gitignore
% ag hello
b
1:hello

However, the non-subdir case currently works correctly:
% echo '/b' > .gitignore
% ag hello
ignored/a
1:hello

Other than this minor hiccup, it's awesomeness all the way. :-)

I also filed a duplicate of this issue a while back. FWIW, I wrote a patch to the cram tests that illustrates the problem, and could be handy in verifying a future fix: https://github.com/ctrueden/the_silver_searcher/commit/4f1399723ecb6db069af455b2f37ee38b7e3ddab

I can also confirm the issue. And another problem that I think it's still related to the .gitignore file is a case where you ignore a entire folder but some files as exemplified by the following hypothetical .gitigore:
ignored/*
!ignored/not_ignored

If I search for some content the file ignored/not_ignored will not be included in the files for the search.

This fix has still not been merged in, correct?

@bdesham I don't think anyone has actually submitted a patch that fixes this... have they?

@ctrueden After reading through this thread again, I guess you’re right. PR #284 fixed this but @mcphail closed it because it went so long without being merged :neutral_face:

I'm afraid there have been layers of breakage added to the ignore code since I made that patch, so there is no way I could keep it rebased against upstream. You can use my fork if you want to try the code. It isn't perfect, but I'm sure some enterprising soul could fix the edge cases where it breaks.

Can confirm the issue. It's a really painful having ag go through dist assets -- which are commonly exempted from version control via "/dist" in the .gitignore file.


Helper Folder Missing

There is no Helper folder in src
Errors:
1
[ReflectionException]
Class Limesharp\Stockists\Helper\ImageFactory does not exist
2
[ReflectionException]
Class Limesharp\Stockists\Helper\ImageFactory does not exist
3
[RuntimeException]
Source class "\Limesharp\Stockists\Helper\Image" for "Limesharp\Stockists\H
elper\ImageFactory" generation does not exist.
tell me where i can download it or you have any solution for it.

Hi,
How did you install the extension and what version do you have?
Thanks!

Download from GitHub
after run command php bin/magento setup:di:compile and i found below errors
Errors:
1
[ReflectionException]
Class Limesharp\Stockists\Helper\ImageFactory does not exist
2
[ReflectionException]
Class Limesharp\Stockists\Helper\ImageFactory does not exist
3
[RuntimeException]
Source class "\Limesharp\Stockists\Helper\Image" for "Limesharp\Stockists\H
elper\ImageFactory" generation does not exist.
So also in src  GitHub there is no helper folder there.
Class call in Block ImageBuilder.php

What versions did you download? please download the latest version from here https://github.com/ClaudiuCreanga/magento2-store-locator-stockists-extension/releases. It sounds to me that you downloaded the master branch.

ok
Thanks
On Sat, Jan 7, 2017 at 11:52 PM, Claudiu Creanga<EMAIL_ADDRESS>wrote:

What versions did you download? please download the latest version from
here https://github.com/ClaudiuCreanga/magento2-store-
locator-stockists-extension/releases. It sounds to me that you downloaded
the master branch.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ClaudiuCreanga/magento2-store-locator-stockists-extension/issues/8#issuecomment-271100553,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHvx48ibH186-GucGI7Ns8v_k0XBdGNxks5rP9fRgaJpZM4LbmpO
.

the Helper folders is still missing from all the versions on this site: https://github.com/ClaudiuCreanga/magento2-store-locator-stockists-extension/releases

@jimkar the Helper folder shouldn't be there. It was required in some classes in early versions but then I changed those classes and the helper folder has been removed. If you use the latest version then you shouldn't need it.


k4a::transformation occurs error of source not available

Hi,
I am using a new PC to debug a program, before the program works fine.
The build is successful. But when it runs to the code
           transformation = k4a::transformation(calibration);

It will have an exception, details is as follows.
Source not available
Source information is missing from the debug information for this module
Exception thrown at 0x00007FFF009DBB2A (mfcore.dll) in kinectGrabber.exe: 0xC0000005: Access violation reading location 0x0000000000000000.
I have try the following solution, but it doesn't works for me.
https://docs.microsoft.com/en-us/answers/questions/439753/visual-studio-2019-source-information-is-missing-f.html
My IDE is visual studio 2019. Windows SDK is 10.0.18362.0. These are the same as the old PC.
Can anyone help me on the problem?

m_handle(k4a_transformation_create(&calibration))
This is the exactly error. When this code runs, it will occurs the problem "Source not available"


[BUG] RecursionError from response model

Describe the bug
RecursionError from response model

Create a file with:

from __future__ import annotations
from fastapi import FastAPI
from pydantic import BaseModel

class Response(BaseModel):
    children: 'Response'

Response.update_forward_refs()

app = FastAPI()
@app.get("/", response_model=Response)
def read_root():
    return {"Hello": "World"}

start app and it throws a RecursionError

This is a pydantic issue, not fastAPI https://github.com/samuelcolvin/pydantic/issues/1370

@tanyaofei This code runs for me, with Python 3.8.2, Pydantic 1.5.1 and FastAPI 0.54.1.
Is your "children" a single object, or a List of objects? (in this last case is when Pydantic gives the RecursionError).

@David-Lor Well, I can run it with Python 3.7.4, Pydantic 1.5.1 and FastAPI 0.52.0. Well, "children" should be a object of class Response. I will update to 0.54 and try it again.

@David-Lor Well, I can run it with Python 3.7.4, Pydantic 1.5.1 and FastAPI 0.52.0. Well, "children" should be an object of class Response. I will update to 0.54 and try it again.

I find out that it has been fix at 0.53

Thanks for the help here everyone! :clap: :bow:
Thanks for reporting back and closing the issue :+1:


Use new License headers

Switch from
Copyright © Microsoft Open Technologies, Inc.
All Rights Reserved
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
...

to
Copyright (c) Microsoft Open Technologies, Inc.
All rights reserved.

(3-clause BSD License)

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
...

CC @qjhd554 Adalberto

Related PR-3827.

Contribution got merged, closing.


Upgrade crd api version

What this PR does

related to https://github.com/magda-io/magda/issues/3192
also remove nodeSelector from all deployment objects. We will create multi-arch docker images later.
bump version to 5.5.5-magda.1

Checklist

[x] unit tests aren't applicable
[x] I've updated CHANGES.md with what I changed.

tested in local cluster


duck jump and autoback stab bad very bad

Fedoraware Version Date:
latest
Description:
doesnt need a config since it works with any config wit duck jump and autobcak trab
Steps to reproduce:

[x] I am able to consistently reproduce this error

Steps to reproduce the behavior:
1.enable duckjump
2.enable autobackstyaab
3.go on tr_watlkwauy
4.jump on npc head while holding crouc buton or
4. jump on npc head not holding crouc buton
5. it wont stab esepcically with th the first 4th (holind croyuch butotn0

[x] I have included the steps to reproduce to the best I am able to share.

You're taking the piss.

thanks

banned from interacting with the repo just for this ngl


Leverage rechunk for reshape

The current reshape implementation is conservative.  It only runs when reshaping doesn't require any communication.
In contrast rechunk is relatively liberal, and has sufficient logic to make it efficient (at least assuming that you have enough RAM).  There may be some cases where we can leverage rechunk for reshape, especially when we are mostly collapsing or creating dimensions.
In [1]: import dask.array as da

In [2]: x = da.ones((4, 4, 4), chunks=(2, 2, 2))

In [3]: x.reshape((64,))
ValueError: dask.array.reshape requires that reshaped dimensions after the first contain at most one chunk

In [4]: x.rechunk(((1, 1, 1, 1), (4,), (4,))).reshape((64,))
Out[4]: dask.array<reshape..., shape=(64,), dtype=float64, chunksize=(16,)>

cc @shoyer for thoughts and @pitrou for history with rechunk
This is maybe a broader version of https://github.com/dask/dask/issues/2081

More broadly,

What is the class of reshaping operations that we can safely do with a moderate amount of communication?
Do we want to allow this?  It allows single-machine users the ability to hurt themselves.

I've been playing around with paper and a clipboard for a while.  Here are some thoughts.
I think our goal with rechunk is to get to a point where we can perform reshape with a linear mapping between tasks.  I think that we can cover the case where the input and output shapes map to each other by simple splits and merges of existing dimensions.  So we could handle (8, 2, 2, 2) -> (2, 4, 4), but not (8, 8) -> (4, 4, 4) (though we could do this in two steps).  In this context there are two requirements on the chunks:

When merging, as in (2, 2) -> (4,) or (4, 4, 4) -> (64,) it is important that all but the first input dimension is a single chunk
When splitting, as in (8,) -> (4, 2) or (64,) -> (4, 4, 4) it is important that the chunks are all divisible by the product of all but the first output dimension (so chunks of (64,) must all be divisible by 16).

I plan to work on this in two stages:

Given an input shape, output shape, and input chunks, determine matching input and output chunks
Do an embarrassingly parallel reshape operation

Work started in https://github.com/dask/dask/pull/2089


Error: File is larger than 5242880 bytes

Clicked to upload a file that is a pretty standard size (9.3M), but received the error Error: File is larger than 5242880 bytes. I suppose the fix is an environment variable in Django to allow for larger files.

Should be fixed with https://github.com/lxaw/Delta/commit/6ffc6867bbf74eccccb0b743bdb1df5d85bc64c0


READY : Raycaster

Simple raycasting demo

Cool. An idea, what if you build a triangle fan from rays and draw that instead? So that the visible space will be uniform in color. Or maybe you know a better way to color the visible space, instead of drawing a lot of ray separately

Cool. An idea, what if you build a triangle fan from rays and draw that instead? So that the visible space will be uniform in color. Or maybe you know a better way to color the visible space, instead of drawing a lot of ray separately

Although, probably you don't need it for this example. Maybe would be better to just draw less lines to better see the result of ray casting, because the map is small. Right now it looks like you are trying to paint the vision field of the player with those lines

Yeah, it is easy to adjust amount of rays ( you can try change ray_count variable ), I just picked a little too big amount of rays in order to increase resolution of rendering. Probably I should reduce it :)


[CWA-Docu] MIT License is not customised

Avoid duplicates

[x] Bug is not mentioned in the FAQ
[x] Bug is specific for iOS only, for general issues / questions that apply to iOS and Android please raise them in the documentation repository
[x] Bug is not already reported in another issue

Technical details

Device name:
iOS version:
App version:

Describe the bug

The mit license is not customised. (Year and contributors are only placeholders)
Steps to reproduce the issue

Expected behaviour

Possible Fix

Additional context

Internal Tracking ID: EXPOSUREAPP-6343

Link to file: https://github.com/corona-warn-app/cwa-app-ios/blob/release/2.1.x/LICENSES/MIT.txt

@jucktnich @Ein-Tim Thanks. Internal Tracking ID: EXPOSUREAPP-6343

@Ein-Tim, @jucktnich regarding this issue: "... Adding RKI or SAP as copyright holder would be wrong as the MIT license is only for the external copyright holders of copied and integrated source code."
This file is a template being used by another tool.

@dsarkar @jucktnich
I suggest to close this issue now.

@jucktnich Thanks for all the contributions in general. We will close this issue now. Thanks again.

Corona-Warn-App Open Source Team


Spelunker only works while underwater.

When I have the spelunker effect, I am only able to see ores highlighted when I am in water.

I have added the ores from MythicMetals, BetterEnd, and BetterNether to the list of ores to be highlighted, but otherwise I changed nothing since I last tested the mod yesterday.

Okay, so it seems to work if it's not an air block.

3rd person view of the above picture

I think it is somehow reading air blocks as an ore.

thx for your report!
Can you attach the config file and if possible, send me the list of mods you are using?

Here's the config file
Spelunker Config.txt
I'll try to attach the modlist in a second. I'll be honest, I'm new to this, and don't know if there is an easy way to find the list.

I think I have an explanation for this.
As soon you add a block id that doesn't exist in the config the mod will recognize it as an air block
make sure you haven't typed any id wrong that should fix this issue

Thank you for looking into it! I did have two ores misspelt. After fixing the typos, air blocks aren't being read as ores anymore. Thank you once again for your time.

I don't wanna open a new issue, because this looks similar to my problem I'm having right now. For some reason, the mod isn't recognising the block IDs I'm trying to add, and I've tried all sorts of combinations but nothing seems to work. I'm trying to add Sulfur and Potassium ores from the Sulfur And Potassium - More Gunpowder, but this is what happens instead...

The IDs SHOULD be matching, I'm 99.9% sure.

What am I missing?

It might be the problem that the spelunker mod loads before the sulfur and potassium mod loads
that would be a good explanation for this issue
I will try to fix it soon

Really? I didn't know mod load order could be an issue in MC modding.
For the sake of experimentation, I tried making Spelunker work with Basic Nether Ores (namespace: "bnu"), which did work as expected. Then I tried again with Universal Ores (namespace: "universal_ores") and, lo and behold, the issue occurs... Looking back at OP's problem, the namespaces for all their mods started with a letter before S in the alphabet. Interesting!

Just want to chime in and say that I am also having the same issue of any block that is loaded after the spelunker mod does not work in the config file. Notable mods:
-Unearthed (Adds vanilla ore variants for all the stones that the mod adds)
-Valleycraft


Add support for parsing globals in WAT

Besides parsing globals I had to make a couple of changes to get this to work:

Had to make InitExpr public so that the switch allowed to initialize a new InitExpr.
Had to make the Next union a tagged one. This was needed so I could detect if the 'next' item was a List (in case of a mutable global) or simply an Atom (immutable global).
List.next() seemed to check incorrectly if we were at the end or not, causing it to always return null

The only use case that does not yet work is mutable globals that can be exported like so:
(module (global (export "a") (mut f32) (f32.const 0)))

Thanks!


please make a audio/sound extention that separates speed and pitch

I dont understand why the pitch effect also changes speed, it would been very useful to change speed while also keeping the original pitch, i would also like to see more effects for sound like distortion, acapella, instrumental, ect. i hope someone makes it or add it in their extentions. this is a suggestion/idea btw

I'm working on an extension called Audio Engine at the moment. It'll have an option for you to preserve the pitch of sounds, add filters, etc etc.

@LilyMakesThings
I have an idea for your extension.
Is it possible to add reporters for treble/bass in audio being played?

Try this, It has everything youre looking for, and more!
Tune Shark V3
You can find it here:
https://sharkpools-extensions.vercel.app/
or
https://github.com/TurboWarp/extensions/pull/1489
Load it unsandboxed

It doesnt have speed and pitch separation... yet 🤫

it does now, totally forgot to say


Support for Arabic

Hi @bowbowbow, thanks a lot for putting this together. Was wondering if it will be easy to extend the content in main.py to support Arabic.
In my initial trials, I tried the following:

Created data_list_arabic.csv file to include train/dev/test splits. An example of the first few lines of the file looks like the following:

type,path
train,nw/adj/ALH20001201.1900.0126
train,nw/adj/ALH20001201.1300.0071
dev,nw/adj/ALH20001128.1300.0081
test,nw/adj/ALH20001125.0700.0024
test,nw/adj/ALH20001124.1900.0127

Built Arabic properties following the info in https://github.com/stanfordnlp/CoreNLP/blob/master/src/edu/stanford/nlp/pipeline/StanfordCoreNLP-arabic.properties:

arabic_properties = {'annotators': 'tokenize,ssplit,pos,lemma,parse',
                         'tokenize.language': 'ar',
                         'segment.model': 'edu/stanford/nlp/models/segmenter/arabic/arabic-segmenter-atb+bn+arztrain.ser.gz',
                         'ssplit.boundaryTokenRegex': '[.]|[!?]+|[!\u061F]+',
                         'pos.model': 'edu/stanford/nlp/models/pos-tagger/arabic/arabic.tagger',
                         'parse.model': 'edu/stanford/nlp/models/lexparser/arabicFactored.ser.gz'}

Created the nlp_res_raw object as:

nlp_res_raw = nlp.annotate(item['sentence'], properties=arabic_properties)

Downloaded the Arabic models:

cd stanford-corenlp-full-2018-10-05
wget http://nlp.stanford.edu/software/stanford-arabic-corenlp-2018-02-27-models.jar

Now when I run the script, I keep getting the following error: Failed to load segmenter edu/stanford/nlp/models/segmenter/arabic/arabic-segmenter-atb+bn+arztrain.ser.gz.
I must be making a mistake somewhere of not downloading the correct package or pointing an env_variable to the correct location. Any help to add support for Arabic is greatly appreciated.

Sorry for the late reply. @spookyQubit
Thank you for giving me the details of your approach.
I'll implement it and make it possible to pre-process the Arabic data.
I think the error you mentioned is from the Python library (https://github.com/Lynten/stanford-corenlp). Why don't you try another interface library (https://github.com/stanfordnlp/python-stanford-corenlp) for the StandfordCoreNLP model?

Hi @bowbowbow, I was finally able to get rid of the Failed to load segmenter error mentioned above. Instead of passing the properties to nlp.annotator as a string, I passed it the StanfordCoreNLP-arabic.properties file directly which did the trick. I had to make some changes to main.py to support Arabic. The diff is shown below:
diff --git a/main.py b/main.py
index f3ddd9e..f19c022 100644
--- a/main.py
+++ b/main.py
@@ -8,9 +8,20 @@ import argparse
 from tqdm import tqdm

-def get_data_paths(ace2005_path):
+def get_arabic_properties():
+
+    arabic_properties = {'annotators': 'tokenize,ssplit,pos,lemma,parse',
+                         'tokenize.language': 'ar',
+                         'segment.model': 'edu/stanford/nlp/models/segmenter/arabic/arabic-segmenter-atb+bn+arztrain.ser.gz',
+                         'ssplit.boundaryTokenRegex': '[.]|[!?]+|[!\u061F]+',
+                         'pos.model': 'edu/stanford/nlp/models/pos-tagger/arabic/arabic.tagger',
+                         'parse.model': 'edu/stanford/nlp/models/lexparser/arabicFactored.ser.gz'}
+    return arabic_properties
+
+
+def get_data_paths(ace2005_path, mode_split_list='./data_list.csv'):
     test_files, dev_files, train_files = [], [], []
-    with open('./data_list.csv', mode='r') as csv_file:
+    with open(mode_split_list, mode='r') as csv_file:
         rows = csv_file.readlines()
         for row in rows[1:]:
             items = row.replace('\n', '').split(',')
@@ -89,7 +100,7 @@ def verify_result(data):
     print('Complete verification')

-def preprocessing(data_type, files):
+def preprocessing(data_type, files, lang='en'):
     result = []
     event_count, entity_count, sent_count, argument_count = 0, 0, 0, 0

@@ -109,7 +120,15 @@ def preprocessing(data_type, files):
             data['golden-event-mentions'] = []

             try:
-                nlp_res_raw = nlp.annotate(item['sentence'], properties={'annotators': 'tokenize,ssplit,pos,lemma,parse'})
+                if lang == 'en':
+                    nlp_res_raw = nlp.annotate(item['sentence'], properties={'annotators': 'tokenize,ssplit,pos,lemma,parse'})
+                elif lang == 'ar':
+                    properties_ar = get_arabic_properties()
+                    print(item['sentence'])
+                    nlp_res_raw = nlp.annotate(item['sentence'], properties='./stanford-corenlp-full-2018-10-05/StanfordCoreNLP-arabic.properties')
+                    print('done')
+                else:
+                    raise NotImplementedError(f'Only en/ar supported. Got lang={lang}')
                 nlp_res = json.loads(nlp_res_raw)
             except Exception as e:
                 print('[Warning] StanfordCore Exception: ', nlp_res_raw, 'This sentence will be ignored.')
@@ -131,7 +150,6 @@ def preprocessing(data_type, files):
             data['pos-tags'] = list(map(lambda x: x['pos'], tokens))
             data['lemma'] = list(map(lambda x: x['lemma'], tokens))
             data['parse'] = nlp_res['sentences'][0]['parse']
-
             sent_start_pos = item['position'][0]

             for entity_mention in item['golden-entity-mentions']:
@@ -195,19 +213,23 @@ def preprocessing(data_type, files):
     print('argument:', argument_count)

     verify_result(result)
-    with open('output/{}.json'.format(data_type), 'w') as f:
+    with open('output/{}.json'.format(data_type), 'w', encoding='utf-8') as f:
         json.dump(result, f, indent=2)

 if __name__ == '__main__':
     parser = argparse.ArgumentParser()
     parser.add_argument('--data', help="Path of ACE2005 English data", default='./data/ace_2005_td_v7/data/English')
+    parser.add_argument('--mode_split_list', help="csv containing train/dev/test spilts", default='./data_list.csv')
+    parser.add_argument('--lang', help="language, en/ar", default='en')
     args = parser.parse_args()
-    test_files, dev_files, train_files = get_data_paths(args.data)
+    test_files, dev_files, train_files = get_data_paths(args.data, args.mode_split_list)
+
+    print(get_arabic_properties())

-    with StanfordCoreNLP('./stanford-corenlp-full-2018-10-05', memory='8g', timeout=60000) as nlp:
+    with StanfordCoreNLP('./stanford-corenlp-full-2018-10-05', memory='8g', timeout=600000000) as nlp:
         # res = nlp.annotate('Donald John Trump is current president of the United States.', properties={'annotators': 'tokenize,ssplit,pos,lemma,parse'})
         # print(res)
-        preprocessing('dev', dev_files)
-        preprocessing('test', test_files)
-        preprocessing('train', train_files)
+        preprocessing('train', train_files, args.lang)
+        preprocessing('dev', dev_files, args.lang)
+        preprocessing('test', test_files, args.lang)

The problem now is that for Arabic, I keep getting CoreNLP request timed out. This is after I increased the timeout to 600000000! So, most of the Arabic sentences get dropped.
On the other hand, the preprocessor works beautifully for English.


Unable to format any Dockerfiles

When trying to format Dockerfile using dockfmt, the following error gets thrown in *format-all-errors* buffer

Please pass in Dockerfile(s)

Running dockfmt fmt <file> from terminal works without issues.

You probably have an old version of dockfmt. Stdin support was added in this PR.

Thanks. I was using the aur bundled one (https://aur.archlinux.org/packages/dockfmt). switching to git build resolved this.


Update demo.html

Could you please change the name of the PR to something descriptive? E.g. Add viewport meta tag

Add viewport meta tag

At the top right of this page, there's an edit button which you can click to change the title of this pull request. There you change that to the text mentioned. What you are doing now is adding a comment.


document required postgresql extensions

I think you need to take this into account: http://typeorm-doc.exceptionfound.com/interfaces/postgresconnectionoptions.html#uuidextension
example: http://typeorm-doc.exceptionfound.com/interfaces/postgresconnectionoptions.html#uuidextension

👍🏼 ad516c644de16f018516c880d337045552ec84a0
And thanks to your comment, TIL that TypeORM would use this when a @Column() is decorated with @Generated('uuid') (but not for columns annotated as  @PrimaryGeneratedColumn('uuid') or @PrimaryColumn('uuid'), apparently - here the generated SQL uses the DEFAULT value), except that it doesn't even work like that, in practice... but well, I have given up with TypeORM's documentation a long time ago 😢


ViewModels

Untitled
@OptIn(ExperimentalLazyDsl::class)
@Composable
fun PodcastCategory(
    categoryId: Long,
    modifier: Modifier = Modifier
) {
    /**
     * CategoryEpisodeListViewModel requires the category as part of it's constructor, therefore
     * we need to assist with it's instantiation with a custom factory and custom key.
     */
    val viewModel: PodcastCategoryViewModel = viewModel(
        // We use a custom key, using the category parameter
        key = "category_list_$categoryId",
        factory = viewModelProviderFactoryOf { PodcastCategoryViewModel(categoryId) }
    )

    val viewState by viewModel.state.collectAsState()

I think this use is dangerous. ViewModels were created for each category and added ViewModelStore. As far as I know , this ViewModelStore is a Static Ambient. And that will never removed (If Didn't start activity etc.). So how correct is this approach?

Agreed, this isn't optimal, but it's not dangerous imo. The viewModel() function currently scopes all of it's ViewModels to the host fragment if available, else Activity. This does mean that the ViewModels are currently only cleared once the Activity has been destroyed.
Once we have a better way to scope ViewModels we will use it in Jetcaster, but at the moment this as good as we can get.
See #237 which adds similar support to Crane.

Thank you for information.


Fatal error: Uncaught Runtime Exception

Fatal error: Uncaught RuntimeException: Opening file for writing failed on error fopen(/var/www/html/music/grav/user/config/security.yaml): failed to open stream: Permission denied in /var/www/html/music/grav/vendor/rockettheme/toolbox/File/src/File.php:202 Stack trace: #0 /var/www/html/music/grav/vendor/rockettheme/toolbox/File/src/File.php(316): RocketTheme\Toolbox\File\File->lock() #1 /var/www/html/music/grav/system/src/Grav/Common/Config/Setup.php(250): RocketTheme\Toolbox\File\File->save(Array) #2 /var/www/html/music/grav/system/src/Grav/Common/Config/Setup.php(175): Grav\Common\Config\Setup->check(Object(RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator)) #3 /var/www/html/music/grav/system/src/Grav/Common/Grav.php(213): Grav\Common\Config\Setup->init() #4 /var/www/html/music/grav/index.php(38): Grav\Common\Grav->process() #5 {main} thrown in /var/www/html/music/grav/vendor/rockettheme/toolbox/File/src/File.php on line 202
Apache Server
Server version: Apache/2.4.6 (Red Hat Enterprise Linux)
Server built:   Mar 21 2016 02:33:00
PHP Version
$ php -v
PHP 7.0.7 (cli) (built: May 28 2016 07:53:22) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
Permissions
sudo chown -R apache:apache music/
tried all into https://learn.getgrav.org/troubleshooting/permissions
Grav version
You are already running the latest version of Grav (v1.0.10) released on Thu Feb 11 22:37:50 2016
Main Folder
var/www/html/music
Install intents

Zip + Composer install
Composer install
Git + Composer Install

Any Help Please??

Grav cannot write to the /var/www/html/music/grav/user/config/ folder, so as you already guessed it's a permission issue.
Your permissions settings seem ok, if PHP is run as apache:apache

yes it does;
<?php echo exec('whoami');
throws: apache
Extra info:
music folder
drwxrwxr-x. 3 apache   apache     33 Jun 21 08:10 music
music/user/config
drwxrwxr-x. 2 apache apache 40 Jun 21 08:10 config

I'm afraid I don't have an answer for this then. Searching on the Grav forum didn't bring up past occurrences of this problem

FIXED !! 💃
The problem was SELinux, I ran this command
chcon -Rv --type=httpd_sys_rw_content_t . Into my Grav Folder.
references:

http://stopdisablingselinux.com/
http://stackoverflow.com/questions/28786047/failed-to-open-stream-on-file-put-contents-in-php-on-centos-7
http://www.serverlab.ca/tutorials/linux/web-servers-linux/configuring-selinux-policies-for-apache-web-servers/

I love GRAV 🍡  PS. I´m on EC2 Instance 👍

Nice, I never knew about the chcon command until now.

@elporfirio care to add a line to https://learn.getgrav.org/troubleshooting/permissions about this? So others on SELinux with this same issue will find a quick answer

Somebody please document it. It was really frustrating solving this issue.

Added https://github.com/getgrav/grav-learn/commit/62cc6f798168db74ed4bec6fb245676af5cdcb4c

Thank you, I was banging my head against a wall trying to figure this one out. I  wonder why chmod and chown did not work.

Me too facing same issue .. not able to find a solution.

I get this
chcon: invalid context: ‘system_u:object_r:httpd_sys_rw_content_t:s0’: No such file or directory
``` When running the command? Any ideas Ubuntu 20.04 LTS and PHP 8.0.8


enhancements for notification logic

fix: consider processing time in daysRegistered to send the reminder always after same repetition period e.g. 7 days (not 7 days + 1 hour every cycle)
feat: only update tstamp every time and update addedOn only the first time in order to see since when the user has received notifications

@markocupic What to you think about those enhancements? Do you agree or disagree?
Is everything properly implemented (I can't run it...)?
Is it possible to test it first on your test environment?
Thank you.

Is everything properly implemented (I can't run it...)?

I think everything should work as it should. I've just created a fake tour, where you get the role "main-instructor".  Then I subscribed to the event and turned the dateAdded value 10 or 15 d back.
You should have been notified. ;-)

Thank you. That's fine.
I just sent you an email with more details to the small issue after the second reminder email... I discovered it some weeks ago (lots of reminders were sent at 3:25, 4:25
etc. during night).

"lastReminderSent" or better "previousReminderSent".

This would probably be the best solution, but I didn't want to change too much, that we don't have to migrate table data, we don't create new problems and we only have small effort for it.


Added ADSB to SpecPipe

Reverts ml4wireless/specpipe#39

see https://github.com/ml4wireless/specpipe/pull/41


feat(init/meta/name): make name non-meta

Everything in name.lean was implemented except name.cmp, which depends on hashing the pointer to the name, which is not type-safe.

It is not clear to me that this is a good idea right now, and in general I am wary of overriding non-meta definitions & constants with implementations in native code.
For numeric types the case is clear cut as the performance of using model implementations is horrific, and there are clear unchanging semantics for all machine operations.
For meta programming objects like name, we need all the optimizations from the native code, and often tweak the implementation for performance or behavioral issues. Adding these as non-meta definitions, and then giving them definitions in native code increases the maintenance burden, requiring us to faithfully reflect the behavior of C++ when changes are made.
It is also easy to introduce confusing behavior if we update one and not the other, which as the number increases is more and more likely to happen in my opinion, especially since we are lacking any safe guard ensuring the implementations are kept in sync.
I think we should devise a mechanism for making this maintenance easier before heavily using refinement by native code.
Leo and I have also been talking about rewriting the entire VM & native compiler compilation path to enable more optimizations, our current design plan would require an keeping 3 versions in sync, which is even more painful, and we still don't provide a way to ensure they stay in sync.
There isn't a ton of value of having name by itself be non-meta imo, for it to be useful expr would have to be non-meta as well, and I don't see that happening any time soon, since we will have many of the same problems I listed above in greater quantity with expr.
cc @leodemoura

Also, I only intend to add these sorts of definitions for reflecting bits of the kernel, because I am trying to make theoretical claims about Lean's foundational system, and I assume that the kernel is not the subject of any planned changes.

Also, I only intend to add these sorts of definitions for reflecting bits of the kernel, because I am trying to make theoretical claims about Lean's foundational system, and I assume that the kernel is not the subject of any planned changes.

@digama0 Yes, the kernel is not the subject of any planned changes.
However, we are planning to change the VM and the code generator (they are not part of the kernel).
The kernel is also immune to the specific total order implement by name.lex_cmp, but the code generator is. The code generator replaces name.lex_cmp with the builtin implementation in C++. I didn't check whether your implementation precisely implements the one in C++, nor I found any test to increase our confidence (e.g., #reduce t and #eval t produce the same result for several name primitives). #reduce uses the kernel reduction engine, and #eval the VM.
It is not clear to me why we need this PR to investigate Lean's foundational system.
In principle, we can create a namespace semantics and define non-meta types: name, expr, etc.
This development would be completely independent of the meta objects we use for meta-programming.

@leodemoura You are absolutely correct that we could just make a semantics.* version of all these types, which don't have any of this VM overriding stuff, and indeed this is the direction I am heading. I just think that we can reduce the duplication in some places when the real thing doesn't actually need that meta label. I actually expanded this PR to level locally, but I scaled back due to the earlier reported problems with non-injectivity of the the level constructors. The stuff in this PR is all I would reliably be able to claim as non-meta without changing the implementations of anything.
name.lex_cmp is in fact a replica of the C++ code, and name.cmp cannot be implemented in lean because it uses pointer comparison.

I'm not disputing that, I don't even remember the semantics of the C++ version.
Unfortunately, I don't have time to check. This is why I suggested the #reduce vs #eval tests.
Another concern is that even if it is correct, we would have to make sure that any change in the C++ version is reflected in the Lean version. I think this is an unlikely change.

This brings up an important and general point: We currently have no mechanism for checking if a lean function matches its VM implementation, and I think this will only become more important as the number of custom VM implemented methods increases. One simple solution is to have test cases, and it would be good to automate this to a degree. I don't want to use #reduce because it's not always feasible, but I wonder if we can have #eval not use a specific VM override function (just use the lean function instead) for testing purposes? This could be used within the test harness framework.

@gebner didn't manifest themselves.

TLDR: I wouldn't want to formalize Lean's metatheory using expr.  The name type should be meta to prevent accidental use.
Why am I against using expr for formalization?

level is completely inconsistent
expr.macro is as meta as it gets
expr.local_const is unergonomic.  With LN as a binding strategy, I'd use expr.local_const : nat -> expr and pass around a local context / upper bound for the local constants instead of using mk_fresh_name.

The name type is enough to re-implement if you want exactly the same syntax.  You can even use tactics to derive decidable equality.  Performance should also be comparable (at least once we have efficient strings).  For most object languages, you probably don't want Lean's name.

What's LN?
On Tue, Jun 20, 2017 at 8:24 AM, Gabriel Ebner<EMAIL_ADDRESS>wrote:

@gebner https://github.com/gebner didn't manifest themselves.
TLDR: I wouldn't want to formalize Lean's metatheory using expr. The name
type should be meta to prevent accidental use.
Why am I against using expr for formalization?

level is completely inconsistent
expr.macro is as meta as it gets
expr.local_const is unergonomic. With LN as a binding strategy, I'd
use expr.local_const : nat -> expr and pass around a local context /
upper bound for the local constants instead of using mk_fresh_name.

The name type is enough to re-implement if you want exactly the same
syntax. You can even use tactics to derive decidable equality. Performance
should also be comparable (at least once we have efficient strings). For
most object languages, you probably don't want Lean's name.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/leanprover/lean/pull/1633#issuecomment-309736836, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA1A7LjqNO7qiHi0w3Ux71C099-IUMg1ks5sF7n3gaJpZM4NttI8
.

Sorry, LN is locally nameless.  That is, the binding strategy used in Lean, where bound variables are identified using de Bruijn indices and free variables (local constants) are identified by names that are invariant under context additions.

One simple solution is to have test cases, and it would be good to automate this to a degree.

I agree, we should definitely have automated tests for this.  Even without a dedicated testing framework, we can still do some basic testing fairly easily right now:
run_cmd sequence $ do i ← list.range 100, j ← list.range 100, return $ do
unify (let res := i + j in reflect res) `(%%(reflect i) + %%(reflect j) : ℕ)

I don't want to use #reduce because it's not always feasible, but I wonder if we can have #eval not use a specific VM override function

If I see this correctly, you're mainly referring to the fast operations on natural numbers, right?  One hacky way to do this is to copy the definitions onto a new environment.  So if we want to test nat.gcd, we could copy nat.div to _under_test.nat.div.  The VM doesn't replace the renamed version.

The name type is easy enough to re-implement if you want exactly the same syntax.

I agree.
The effort to make name non meta and making sure it can remain non meta is higher than having two copies.
I'm closing this PR


Actual UI Upload

The other one only uploaded one file pls look it over and merge

I don't think we need the node_modules directory in the repo so could you remove that in the pr and add it to the .gitignore?

I agree with Harris and Matt. Also the readme with the correct information is called README copy.md maybe that should replace the real read me.


Temp / Variable memory scope

I use Composer in a modular way as much as possible. This means that api calls etc are in one dialog with error handling and error messaging all within that dialog. Also regular conversation style conversations are modular and within a turn multiple dialogs could be called through events. This makes working with Composer much easier and managing dialogs becomes easier as well.
As a result of that I rather not use the turn memory scope within these dialogs as they can easily overlap with other dialogs within the same turn. When a dialog is short lived - within one turn - I tend to use the dialog memory scope for this to avoid variable overlap.
Here lies the problem, dialog variables are stored in Cosmos DB, as the Set Properties use the standard Get and Set properties for Bot State. This is no what I want, I do not want to clean up properties etc, just to ensure they are not stored in the DB uselessly.
One of the bots crashed throwing a Cosmos DB size error, since one of the api calls returned a big result, which was aggregated in the bot to just a single response back to the customer.
Within Bot Framework you can obviously just use local variables that get disposed after the function / dialog is disposed. This should be possible in Composer as well, using Set Property / Properties (not sure why Set Property exists, but that's another one... :) ) to set properties that gets disposed after each turn and are scoped to a dialog. This could be done maybe by having a different memory scope like variable.xxx or temp.xxx or maybe a separate Set Variables action

@cxbuilders we want to model these types of scenarios by allowing you to define custom memory scopes and behavior declaratively like we do the dialog system. assigning @darrenj

@EricDahlvang @mrivera-ms Marking this one as a P2 (nice to have) for R12.  Minimally it would be good to understand what is needed to allow customers to define a custom memory scope so that we can document the process.

@cxbuilders  Thank you for raising this issue.
@garypretty  I think you have a sample demonstrating a custom memory scope?

@boydc2014, could you please comment on this?

@boydc2014, could you please comment on this?

@boydc2014, could you please comment on this?

Sure, this is really a nice to have feature, a top-level scope can help make it more clear. But, there is some considerations if we want to implement that, given the scope in our dialog memory system is not only a prefix. It has certain implications on how it is saved to and recovered from storage.
For example, user scope like user.xx, will be persisted with userId, convesration scope will be saved with convID, and dialog, turn scopes are more like a short-term things, which won't be even saved to storage.
If we are to implement a customized top-level scope, we will to clarify what's the expectation of the persistence policy, and do we allow user to customized that as well, and if so, how?
All the above considerations makes me more lean to guiding user to do what they want under our pre-defined top-level scope as a work around, like you can do conversation.temp.xxx, or dialog.temp.xxx, etc, unless it's blocking certain scenarios.

@boydc2014, could you please comment on this?

Sure, this is really a nice to have feature, a top-level scope can help make it more clear. But, there is some considerations if we want to implement that, given the scope in our dialog memory system is not only a prefix. It has certain implications on how it is saved to and recovered from storage.
For example, user scope like user.xx, will be persisted with userId, convesration scope will be saved with convID, and dialog, turn scopes are more like a short-term things, which won't be even saved to storage.
If we are to implement a customized top-level scope, we will to clarify what's the expectation of the persistence policy, and do we allow user to customized that as well, and if so, how?
All the above considerations makes me more lean to guiding user to do what they want under our pre-defined top-level scope as a work around, like you can do conversation.temp.xxx, or dialog.temp.xxx, etc, unless it's blocking certain scenarios.

@boydc2014, could you please comment on this?

Sure, this is really a nice to have feature, a top-level scope can help make it more clear. But, there is some considerations have to be thought through, if we want to implement that, given the scope in our dialog memory system is not only a prefix. It has certain implications on how it is saved to and recovered from storage.
For example, user scope like user.xx, will be persisted with userId, convesration scope will be saved with convID, and dialog, turn scopes are more like a short-term thing, which won't be even saved to storage. (i'm not 100% accurate on the different treatment, just to illustrate they are treated differently because we have certain assumption on them)
If we are to implement a customized top-level scope, we will to clarify what's the expectation of the persistence policy, and do we allow user to customized that policy as well, and if so, how?
All the above considerations makes me more lean to guiding user to do what they want under our pre-defined top-level scope as a work around, like you can do conversation.temp.xxx, or dialog.temp.xxx, etc, unless it's blocking certain scenarios.

@boydc2014, could you please comment on this?

Sure, this is really a nice to have feature, a top-level scope can help make it more clear. But, there is some considerations have to be thought through, if we want to implement that, given the scope in our dialog memory system is not only a prefix. It has certain implications on how it is saved to and recovered from storage.
For example, user scope like user.xx, will be persisted with userId, convesration scope will be saved with convID, and dialog, turn scopes are more like a short-term thing, which won't be even saved to storage. (i'm not 100% accurate on the different treatment, just to illustrate they are treated differently because we have certain assumption on them)
If we are to implement a customized top-level scope, we will to clarify what's the expectation of the persistence policy, and do we allow user to customized that policy as well, and if so, how?
All the above considerations makes me more lean to guiding user to do what they want under our pre-defined top-level scope as a work around, like you can do conversation.temp.xxx, or dialog.temp.xxx, etc, unless it's blocking certain scenarios.

Assigning this one to me.  We don't plan to undertake any work to add additional scopes such as this to the SDK at this time, however, I will be able to shortly share a sample of adding your own custom scope to achieve what you need and you will potentially be able to also add these to a Composer bot using the package capability.

Assigning this one to me.  We don't plan to undertake any work to add additional scopes such as this to the SDK at this time, however, I will be able to shortly share a sample of adding your own custom scope to achieve what you need and you will potentially be able to also add these to a Composer bot using the package capability.

@garypretty, since we are not taking this work for now, I am removing it from the current milestone. It can be re-assigned later when we start the work.

@garypretty, since we are not taking this work for now, I am removing it from the current milestone. It can be re-assigned later when we start the work.

Hi! Where can we see the example?
I need a place to store an API M2M token that will be used by the bot for all users. The most top level scope I have is the user level but that means I have to request a token for every user which is costly. What I need is a scope to store a token in memory that would live for as long the bot is running.


How to open jar?

I downloaded the zip but there is no create.jar! how do I put this in my mods folder!

You probably downloaded the source code please download the mod from
https://www.curseforge.com/minecraft/mc-mods/create-fabric
or
https://modrinth.com/mod/create-fabric

But the only 1.20 version is the source code! I need 1.20! What do I do with the source code? how do I make it into a jar!

Wait for the release