ability to call JS functions in yarn. Example <<console.log("Test JS")>> via a new jsEvalResult node

With this pull it is possible to do this in yarn:
<<console.log("Test JS")>>
and use it like this in your app via bondage.js:
	if (result instanceof bondage.jsEvalResult) {
		eval(result.evalString) //--> prints out 'Test JS'
	}

Its not directly triggered by bondage.js, so you still need to register it- but now it is possible at least, without having to register individual commands manually - making bondage.js a bit more flexible with less code
I just implemented it in the least intrusive way I could figure out. Anyways, I hope it helps others who may need it
It also adds some things:

JsEvalNode type that can return the function name,parameters in their right value type and an easy to use evalString that can be passed like this: eval(result.evalString)  in project using bondage.js
ability to pass boolean parameters (was missing in the parser for some reason),
consistent generic path and correct value type on LiteralNodes for easier integration of bondage with other projects (node.value= value is available on all literal nodes)
support for <<test(parameters)>> and <<test()>> in parser.js - so bondage shouldnt crash the application when that is in the body of a Yarn node

Tested and works now, plus updated the description of pull request

Hey thanks for submitting this! I can't look at this more in depth for a few more days, so I'll get back to you next week.
After a quick glance though I would like to ask that you add some tests. 💖

Ah thank you for reviewing this.
The reason I made this new feature was the ability to simply retrieve what is inside <<>> as a string and then do what ever I want to it- and in whichever script I want to in my app- I found that to be the simplest way to manually interpret commands from yarn data and do other interesting things in my  own way.
Having bondage.js do the evaluation and running of js will in my humble opinion make it more complicated to use in the context of being embeded in another app.
Lets say that you have made a number of custom functions in your app, which have nothing to do with bondage.js, but you want to call via yarn. You have like 30-40 of those.
With the current method- you have to manually register each and then manage whatever changes you make. That makes it difficult to mesh and debug.
When you move the execution and evaluation to bondage.js, you are also potentially moving the scope of the code- and end up with the added complexity of dealing with that.
Remember that in yarn itself the user is not going to be eager to write huge blocks of code to evaluate. They just probably would want a simple way to call their own code - without things to set up and manage inbetween -  like me :)

I was actually first trying to get the string that way because the idea of
registering my functions that way wasnt appealing to me :p but then i
quickly found that it wont allow it and also anything outside of
<> or <>  would crash bondage.js.
On Tue, 12 Jun 2018 21:25 j hayley<EMAIL_ADDRESS>wrote:

Oh, I see. I apologize for the confusion. Is runner.setCommandHandler
what you're looking for then? From the readme:
runner.setCommandHandler((command) => {
// Called whenever there is a <>, the parameter being the text inside
});
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jhayley/bondage.js/pull/33#issuecomment-396721799,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGMbVeDJbGxPmKnXxMT0FCWIDUHd8a4Yks5t8CPTgaJpZM4UY98v
.

An alternative and less disruptive approach to this that I can make with another pull request is to at least allow the parser to accept << command command(parameters)>>
I think that would crash it right now

Would you be ok if i scrap this pull and instead just expand the parser a little but to allow more different syntax?

Yeah it seems like that just means this problem is all stemming from #35 rather than needing a full new workaround. A new pull request would be good. I'll go ahead and close this and put some of my thoughts in that issue


sketch

rio stac S-2_20200422_COG.tif | jq
{
  "type": "Feature",
  "stac_version": "1.0.0-beta.2",
  "id": "S-2_20200422_COG.tif",
  "properties": {
    "proj:epsg": 32632,
    "proj:geometry": {
      "type": "Polygon",
      "coordinates": [
        [
          [
            342765,
            5971585
          ],
          [
            342765,
            5682885
          ],
          [
            674215,
            5682885
          ],
          [
            674215,
            5971585
          ],
          [
            342765,
            5971585
          ]
        ]
      ]
    },
    "proj:bbox": [
      342765,
      5682885,
      674215,
      5971585
    ],
    "proj:shape": [
      28870,
      33145
    ],
    "proj:transform": [
      10,
      0,
      342765,
      0,
      -10,
      5971585,
      0,
      0,
      1
    ],
    "datetime": "2021-03-15T22:39:56.257899Z"
  },
  "geometry": {
    "type": "Polygon",
    "coordinates": [
      [
        [
          6.608576517072109,
          53.89267160832536
        ],
        [
          6.608576517072109,
          51.270642883468916
        ],
        [
          11.64938680867944,
          51.270642883468916
        ],
        [
          11.64938680867944,
          53.89267160832536
        ],
        [
          6.608576517072109,
          53.89267160832536
        ]
      ]
    ]
  },
  "links": [],
  "assets": {
    "cog": {
      "href": "S-2_20200422_COG.tif",
      "type": "image/tiff; application=geotiff; profile=cloud-optimized"
    }
  },
  "bbox": [
    6.608576517072109,
    51.270642883468916,
    11.64938680867944,
    53.89267160832536
  ],
  "stac_extensions": [
    "proj"
  ]
}

It would be interesting to create an asset for each subfile when passed a VRT.  I think this would be very helpful for datasets like Landsat8 that have bands as individual files.

@geospatial-jeff

It would be interesting to create an asset for each subfile when passed a VRT. I think this would be very helpful for datasets like Landsat8 that have bands as individual files.

👌 I'll look into it!

Just a quick update on the scope of this project. I don't think we should support all use cases. I see rio-stac as a simple CLI to create a STAC item from a raster. Still we can design the API to be extendable but that's not the highest priority IMO


Why the documents for exception message length are different

According to this document, the exception message length is 10000:
https://docs.microsoft.com/en-us/azure/azure-monitor/app/pricing#limits-summary
But if I click the type schemas for Exception message length, it shows, the length is "Max length: 32768"：
https://github.com/Microsoft/ApplicationInsights-Home/blob/master/EndpointSpecs/Schemas/Docs/ExceptionData.md
Why there are in different length?

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

ID: 93d51fcb-63a2-c622-7df3-27703a171b3a
Version Independent ID: 0e2ed122-08c3-fae2-3b7f-6fde780a9933
Content: Manage usage and costs for Azure Application Insights
Content Source: articles/azure-monitor/app/pricing.md
Service: application-insights
GitHub Login: @mrbullwinkle
Microsoft Alias: mbullwin

@SupporterMan Thanks for the question! We're investigating this and will get back to you shortly.

@SupporterMan thank you for catching that error in the doc. The change to make it match with the endpoint spec is merged internally and will go-live on Monday.

@MicrosoftDocs/azure-cxp-triage #please-close

Thank you Michael.


workflows: disable the daily build on forks

We'll now need to define this repo variable on our clone in order to make this run.
Context
Closes  #1168
Proposed solution
This workflow is now disabled unless you create a repository variable. We'll need to add this one to our own repo.

Related issues
#1168
Has this been tested?
Yes, I tested it on my own fork. The workflow was skipped until I defined the variable.

[x] 👍 yes, I tested on my own fork
[ ] 💭 no, because this PR is a draft and still needs work
[ ] 🙅 no, because this is not relevant here
[ ] 🙋 no, because I need help

Screenshots / Screencasts

LGTM as well


Extend the run command

Adding support for multi dependency support. Also added the option to pick different dependency types with some basic checking.

Interesting, I only now noticed the difference between , and ? in the SBATCH dependencies. We can't reproduce this interface with the current code so maybe we should not mention it in the code?
Alternatively one could define dependencies as a dict e.g.:
depends_complex = [
    # must equals True would mean , as a separator False a ?
    {'how': 'afterok', 'must': True, 'on': ['job_id1', 'job_id2']},
    {'how': 'afterany', 'must': False, 'on': ['job_id3', 'job_id4']}
]

However, this seems to make things more complicated, especially with checking afterwards. So I would either leave this comment out or think about implementing it?
I don't know of many (if anyone really) who has submitted such complicated workflows ... just wanted to throw it into the discussion ... it would also break backwards compatibility so maybe it should be implemented as depends_complex :D
What are your thought @brentp and @CKannas ?

Interesting, I only now noticed the difference between , and ? in the SBATCH dependencies. We can't reproduce this interface with the current code so maybe we should not mention it in the code?
Alternatively one could define dependencies as a dict e.g.:
depends_complex = [
    # must equals True would mean , as a separator False a ?
    {'how': 'afterok', 'must': True, 'on': ['job_id1', 'job_id2']},
    {'how': 'afterany', 'must': False, 'on': ['job_id3', 'job_id4']}
]

However, this seems to make things more complicated, especially with checking afterwards. So I would either leave this comment out or think about implementing it?
I don't know of many (if anyone really) who has submitted such complicated workflows ... just wanted to throw it into the discussion ... it would also break backwards compatibility so maybe it should be implemented as depends_complex :D
What are your thought @brentp and @CKannas ?

Maybe for now we should keep it simple and use only ,.
I would suggest if we are to implement a complex dependency as the one you suggest, to plan it as a future feature, and try not to break backwards compatibility if possible.
Correct me if I'm wrong, I understand that , or ? are used to separate between dependency types not between jobs with the same dependency and : is used to separate job_ids of the same dependency type.

I agree on keep it simple.

Interesting, I only now noticed the difference between , and ? in the SBATCH dependencies. We can't reproduce this interface with the current code so maybe we should not mention it in the code?
Alternatively one could define dependencies as a dict e.g.:
depends_complex = [
    # must equals True would mean , as a separator False a ?
    {'how': 'afterok', 'must': True, 'on': ['job_id1', 'job_id2']},
    {'how': 'afterany', 'must': False, 'on': ['job_id3', 'job_id4']}
]

However, this seems to make things more complicated, especially with checking afterwards. So I would either leave this comment out or think about implementing it?
I don't know of many (if anyone really) who has submitted such complicated workflows ... just wanted to throw it into the discussion ... it would also break backwards compatibility so maybe it should be implemented as depends_complex :D
What are your thought @brentp and @CKannas ?

Maybe for now we should keep it simple and use only ,.
I would suggest if we are to implement a complex dependency as the one you suggest, to plan it as a future feature, and try not to break backwards compatibility if possible.
Correct me if I'm wrong, I understand that , or ? are used to separate between dependency types not between jobs with the same dependency and : is used to separate job_ids of the same dependency type.

Yes that is my understanding too.

ok @brentp I think this is good to go. Best to look it over again on your side and I can either rebase it into a couple of nice commits or you just squash on merge :)

thanks @fdroessler and @CKannas !

I'm glad I could help.
@brentp thanks for developing this package. It's very useful.
On Mon, 5 Apr 2021, 08:01 Brent Pedersen, @.***> wrote:

thanks @fdroessler https://github.com/fdroessler and @CKannas
https://github.com/CKannas !
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/brentp/slurmpy/pull/11#issuecomment-813205924, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AA4P6SWFILZXI2ROFDLJR2DTHFG2ZANCNFSM42FR3TSA
.


Add parseLinkHeaderBS

i.e. parseLinkHeaderBS :: ByteString -> Maybe [Link], the Header type has ByteString as a value, converting to Text in between feels as unnecessary step.

I think Text is the recommended way to parse Unicode strings? Also the Parser ByteString in attoparsec is less convenient, it lacks char (needs Word8 stuff) and skipSpace.
If you mean just adding a function that is the composition of conversion and parsing... I can do that :-)

Headers aren't Unicode strings, In short: Only ASCII is guaranteed to work.. It's good that Link has Text.
Yet for now current parseLinkHeaderBS is enough for me, thanks!


Add a Jenkinsfile so https://ci.jenkins.io/ will build us.

As per advice from #jenkins irc channel, we need a "Jenkinsfile"
in order for the automatic builds to happen on the Jenkins CI.
Until that is done, we don't get automatic builds of pull requests.

@olivergondza Please merge this ASAP.
The cloudbees Jenkins-on-Jenkins facility no longer automatically builds Jenkins plugins.  This facility has been replaced by ci.jenkins.io, but that Jenkins-on-Jenkins facility requires each plugin to have a Jenkinsfile before it will build it.
This commit is identical in content to the one I did for the vSphere plugin, https://github.com/jenkinsci/vsphere-cloud-plugin/pull/76, so I expect it to work the same way.
i.e. A short time after this is merged, we should start getting automatic builds again.

Huh, thanks for pointing that out.


Update documentation-government-services-securityandidentity.md

@rulimone : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


Fix CS.

cleanup

With this we should make a new minor, raising the min level to 3.7+ and using less deprecations.

Thanks.


Uninstalled MVC5.Grid and installed MVC6.Grid

Hi
I uninstalled MV5.Grid and installed MVC6.Grid.
I added to my Bundle the following
        bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
            "~/Scripts/jquery-{version}.js",
            "~/Scripts/MvcGrid/mvc-grid.js"));

        bundles.Add(new StyleBundle("~/Content/css").Include(
                  "~/Content/bootstrap.css",
                  "~/Content/mvc-grid.css",
                  "~/Content/site.css"));

I also added to my "Startup.cs"
    public void Configuration(IAppBuilder app)
    {
        ConfigureAuth(app);
    }

    public void ConfigureServices(IServiceCollection services)
    {
        //services.AddMvc();
        services.AddMvcGrid();
    }
    public void Configure(IApplicationBuilder app)
    {
        app.UseMvcWithDefaultRoute();
        //app.UseStaticFiles();
    }

When I try to use
@(Html
.Grid(Model)
I get the following error message.
HtmlHelper does not contain a definition 'Grid' and the best extension method overload 'MvcGridExtensions.Grid
I am also getting this error message when reviewing the _Grid.cshtml
The type 'IGid' exists in both 'Mvc.Grid.Core, Version=<IP_ADDRESS> culture=neutral, PublicKeyToken=null' and 'NonFactores.Mvc.Grid, Version=<IP_ADDRESS>, culture=neutral, PublicKeyToken=null
I have uninstalled and installed several time cleaned my registry.
Looks like I am having a reference issue.  How do I resolve my problem.
Thanks

Are you upgrading your project from MVC5 to ASP NET Core?
Otherwise you shouldn't be able to just migrate to MVC6 version.

Okay.
So I have to upgrade to MVC6 as well.
When I installed MVC6.Grid.  Looks like I was updated to MVC6.
I think I will go back to MVC5.

Yes, NuGet shouldn't escape into different grid package, if you just do an update with
update-package NonFactors.Grid.Mvc5.

Ok
The reference is there but I am not getting this error message.
The type or namespace name 'NonFactors' could not be found (are you missing a using directive or an assembly reference)

Please disregard my last message.
Its working now.
Thanks for your help


New integration tests for Kafka

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en
For changelog. Remove if this is non-significant change.
Category (leave one):

Build/Testing/Packaging Improvement

Short description (up to few sentences):
New tests of Kafka engine
Detailed description (optional):
New tests of Kafka engine. 3 broker, 3 clickhouse server - allows to test rebalances and due to direct communication with docker compose - more flexible data flow scenarios.
Also it shows some POC for simpler integration tests architecture.

This scheme looks very promising, especially for Kafka scenarios - but first we must get sure, that it works in our current CI with sane timeouts.
The second thought is that using shell-scripted tests is a step-back after using pytest environment - hopefully docker-compose should have some Python bindings.

Now test-stand configuration and test code itself if mixed and tightly coupled.
The main idea of that concept - is untight that, and allow to create new configurations fast and easily.
I.e. split test stand configuration from test code.
When you have such a test-stand configuration described in docker-compose.yml - you can using it for bash tests / python tests / manual tests / whatever else tests.

The second thought is that using shell-scripted tests is a step-back after using pytest environment ...
for me, python APIs for different systems is much more convenient, than CLI utils and bash.

Yes, and that concept doesn't forbid you to use python (or whatever else) to write your tests.
At the same time simplicity of bash tests gives a very bid advantage. Simplicity is one of the most important concept for creating tests. Almost everybody who use clickhouse has quite good command-line skills, at  the same time programming-language stack can differ significantly.
Simplicity & KISS principle says that it should be possibility to create bash tests.

Current python tests are much more consistent. ... Current python tests are much more flexible.

Also I'm not saying that we need to get rid of existing tests, rewrite everything etc.
We just need an option to create new complicated test-stands rapidly, which is not possible now.
So i think that that simple tests can still be created with existing test framework, but it's just too painful to readjust the test framework each time you need more complicated configurations, and for that purposes new and simple approach needed.

it doesn't require any .yml compose files from a developer.

In practice - if you don't need to create new yaml - that means that you're reusing some test stand known and designed before (in that case you can just write new test cases for that test stand, instead of recreating new yam etc)
If you need something more sophisticated, it still require from developer to create yaml files.

You don't need to know, that we have three Kafka servers, first named kafka1, second kafka2, ..., you

Usually you need to use some fixed cluster in tests. Naming things in tests is considered as good practice (allowing to create more human-readable tests)

just use python objects, which knows everything you need to interact with container.

It means you need to create wrapper and accessors for internal state of each container, which will often used only once.

However, I absolutely agree that the introduction of a new system to integration tests framework (Redis, Cassandra, etc) is horrible. You have to write a new .yml file, add options into monstrous cluster.py. If you also need to add a new library, you have to add dependency in README.md and yandex/clickhouse-integration-tests-runner image. I think first of all we have to refactor of cluster.py and make this process simpler.

That's the point. Also reusing / readjusting test framework for each new test type introduces unnecessary dependency between tests. I.e. if tests A,B,C use test framework X, and to add test D you need to modify framework X - there is no guarantees that tests A,B,C still work correctly after change in X.

Very often (most popular case) we need to make different configurations of clickhouse servers. It's impossible to write compose file .yml file for all occasions.

But actually you still create them for one-time usage in cluster.py. If they would exists in repo permanently they would be really helpful - as sample config/documentation, as a base config for 'slightly' different test cases.

The flexibility of cluster configuration is the core feature of integration tests and I can imagine a very small subset of problems, which can be tested with fixed (even huge) configuration.

If you need tiny adjustment to existing cluster config - in docker-compose you can do that modular way, by creating base config and later 'extend' it with adjusting some properties.
See https://docs.docker.com/compose/extends/#extending-services

Also, how we can test network partition (the original purpose of the integration tests) in the proposed system?

There are plenty of tools for simulating different network conditions and for chaos testing in docker.
https://github.com/alexei-led/pumba ( https://codefresh.io/docker-tutorial/chaos_testing_docker/ and https://hackernoon.com/pumba-chaos-testing-for-docker-1b8815c6b61e )
https://github.com/worstcase/blockade
https://github.com/giantswarm/mizaru
https://www.qualimente.com/2016/04/26/introduction-to-failure-testing-with-docker/ ( https://www.gremlin.com/ )

Or configuration updates/runtime changes in config.xml?

As simple as
echo '<yandex>...</yandex>' | docker-compose exec -T clickhouse cat > /etc/clickhouse-server/config.d/runtime_added_conf.xml

docker-compose exec clickhouse rm /etc/clickhouse-server/config.d/runtime_added_conf.xml

Also can be done with volume manipulations, etc

hopefully docker-compose should have some Python bindings.

Actually it's written in python but they don't want to make public API saying that command-line is enough (similar motivation as with ClickHouse not allowing UDP :) ).
https://github.com/docker/compose/issues/4542#issuecomment-283191533

but first we must get sure, that it works in our current CI with sane timeouts.

In general - there is no tools monitor Kafka engine bahaviour from inside clickhouse.
Some feedback in metrics (like KafakMaximumLag )  / events ( KafkaMessagesConsumed ) can be very useful.

@vzakaznikov is working on that in our internal CI.
We will probably sync in back later.
I'm closing that for now, we will either reopen / either create new PR later.


Remove generated file and add /build to panellayout .gitignore

It seems like we forgot to add /build to the .gitignore under :panellayout. This PR adds it and removes the generated file that is accidentally versioned before.

Fixes #13


mkl: wrap with openmp in LD_LIBRARY_PATH

Fixes #48876. We could also fix this in numpy itself, but since any other
package using the multi-threaded portions of mkl needs this, it makes sense to
fix it in the source itself.
As mentioned, the upstream binary is very large, so we create a wrapper package
for the openmp-dependent setup hook to avoid rebuilding mkl itself.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: mkl
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

No attempt on x86_64-linux (full log)
The following builds were skipped because they don't evaluate on x86_64-linux: mkl
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: mkl
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

No attempt on x86_64-linux (full log)
The following builds were skipped because they don't evaluate on x86_64-linux: mkl
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

Ping @FRidh any further comments or suggestions for improvement?

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: mkl
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

No attempt on x86_64-linux (full log)
The following builds were skipped because they don't evaluate on x86_64-linux: mkl
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: mkl
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

No attempt on x86_64-linux (full log)
The following builds were skipped because they don't evaluate on x86_64-linux: mkl
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

Any chance you could take a look, @FRidh?  I'm happy to make further changes if you have suggestions for improvement.

I tried to use these changes to compile Julia with MKL, but I unfortunately I still see
/build/source/usr/bin/julia: symbol lookup error: /nix/store/82brdma6j2yjfx8vi1mkm8v8fyx6h1rv-mkl-2019.0.117/lib/libmkl_intel_thread.so: undefined symbol: omp_get_num_procs

@bhipple any thoughts?
https://github.com/tbenst/nixpkgs/blob/master/pkgs/development/compilers/julia-mkl/shared.nix

Actually, I've found a much better and more robust way to do this, and will open up a follow-up PR this weekend with the details.  The implementation in this PR works -- but only if you're in a builder context where you've sourced the information, which means finished/tested packages may be unusable.


Linux 2.51 electron build error (bug)

Have this in last upgrade
`module.js:545
throw err;
^
Error: Cannot find module '/tmp/.mount_IGdm-2nKGcw2/resources/electron.asar/browser/init.js'
at Function.Module._resolveFilename (module.js:543:15)
at Function.Module._load (module.js:473:25)
at Function.Module.runMain (module.js:683:10)
at startup (bootstrap_node.js:196:16)
at bootstrap_node.js:622:3
`
Maybe related to https://github.com/electron-userland/electron-builder/issues/2958

this seems to be the case indeed. Thank you for the hint

See #369


optimize_projections fails when eagerly selecting from a join with ambigious column names

Describe the bug
When selecting all (*) columns of the result of joining two tables, "not friendly" error message shows up. I believe the message could be better.
Failed due to a difference in schemas, original schema: DFSchema { inner: Schema { fields: [Field { name: "name", data_type: Utf8, nullable: false, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "age", data_type: Int32, nullable: false, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "name", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "job", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }], metadata: {} }, field_qualifiers: [Some(Bare { table: "_0" }), None, Some(Bare { table: "_2" }), None], functional_dependencies: FunctionalDependencies { deps: [] } }, new schema: DFSchema { inner: Schema { fields: [Field { name: "_0.name", data_type: Utf8, nullable: false, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "age", data_type: Int32, nullable: false, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "_2.name", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "job", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }], metadata: {} }, field_qualifiers: [None, None, None, None], functional_dependencies: FunctionalDependencies { deps: [] } }.

To Reproduce
the below SQL fails (see below for definitions of source tables)
SELECT * FROM age LEFT JOIN job ON age.name = job.name

-- age
SELECT 'Alice' AS name, 25 AS age
UNION ALL
SELECT 'Bob', 30
UNION ALL
SELECT 'Charlie', 28

-- job
SELECT 'Alice' AS name,
    'Engineer' AS job
UNION ALL
SELECT 'Bob','Designer'
UNION ALL
SELECT 'Charlie','Manager'

Expected behavior
It would give a better message about ambiguous column names and specifically call out name as the problem
Additional context
I tried to find related, previous issues but couldn't find anything that matched, but I'm also new to datafusion

closing in favor of https://github.com/sdf-labs/sdf-cli/issues/9 as it seems the issue with logical plan resolution within sdf


Copy legacy ocw.mit.edu redirects into the new fastly config

We need to carry forward the table of redirects that was created for the legacy OCW site but we don't want to propagate invalid destinations.
 I wrote a little python script to that and attached the output below.  The second batch (above) is waiting on verification/confirmation on how to proceed as it needs some cleanup and doubt that all redirects are still needed.

Thanks Sar. I'm looking through everything. The first thing that caught my eye was the ones that start with RES-. I think all of these should be directed to /courses/ instead of /resources/, although I've only tested a few.
"/RES-10-001S16": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-10-001-making-science-and-engineering-pictures-a-practical-guide-to-presenting-your-work-spring-2016/",
"/RES-10-S95F20": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-10-s95-physics-of-covid-19-transmission-fall-2020/",
"/RES-11-002F17": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-11-002-intentional-public-disruptions-art-responsibility-and-pedagogy-fall-2017/",
"/RES-15-003S16": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-15-003-shaping-the-future-of-work-15-662x-spring-2016/",
"/RES-15-004IAP20": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-15-004-system-dynamics-systems-thinking-and-modeling-for-a-complex-world-january-iap-2020/",
"/RES-16-001IAP12": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-16-001-lean-enterprise-en-espanol-january-iap-2012/",
"/RES-18-006F10": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-18-006-calculus-revisited-single-variable-calculus-fall-2010/",
"/RES-18-009F15": "301|keep|https://{{AK_HOSTHEADER}}/resources/res-18-009-learn-differential-equations-up-close-with-gilbert-strang-and-cleve-moler-fall-2015/",
"/RES-2-006SU16": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-2-006-girls-who-build-cameras-summer-2016/",
"/RES-21G-001S16": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-21g-001-the-user-friendly-classroom-fall-2020/",
"/RES-21G-001S16d": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-21g-001-the-user-friendly-classroom-spring-2016/",
"/RES-21G-506S21": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-21g-506-kanji-learning-any-time-any-place-for-japanese-vi-spring-2021/",
"/RES-3-002IAP17": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-3-002-collaborative-design-and-creative-expression-with-arduino-microcontrollers-january-iap-2017/",
"/RES-3-003IAP17": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-3-003-learn-to-build-your-own-videogame-with-the-unity-game-engine-and-microsoft-kinect-january-iap-2017/",
"/RES-3-004F17": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-3-004-visualizing-materials-science-fall-2017/",
"/RES-6-005S08": "301|keep|https://{{AK_HOSTHEADER}}/resources/res-6-005-understanding-lasers-and-fiberoptics-spring-2008/",
"/RES-6-006S08": "301|keep|https://{{AK_HOSTHEADER}}/resources/res-6-006-video-demonstrations-in-lasers-and-optics-spring-2008/",
"/RES-6-012S18": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-6-012-introduction-to-probability-spring-2018/",
"/RES-6.007S11": "301|keep|https://{{AK_HOSTHEADER}}/resources/res-6-007-signals-and-systems-spring-2011/",
"/RES-8-004IAP15": "301|keep|https://{{AK_HOSTHEADER}}/resources/res-8-004-reducing-the-danger-of-nuclear-weapons-and-proliferation-january-iap-2015/",
"/RES-8-007F19": "301|keep|https://{{AK_HOSTHEADER}}/resources/res-8-007-cosmic-origin-of-the-chemical-elements-fall-2019/",
"/RES-9-003SU15": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-9-003-brains-minds-and-machines-summer-course-summer-2015/",
"/RES-EC-001S20": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-ec-001-exploring-fairness-in-machine-learning-for-international-development-spring-2020/",
"/RES-ENV-001IAP17": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-env-001-climate-action-hands-on-harnessing-science-with-communities-to-cut-carbon-january-iap-2017/",
"/RES-ENV-003F19": "301|keep|https://{{AK_HOSTHEADER}}/resources/res-env-003-earthdnas-climate-101-fall-2019/",
"/RES-LL-005IAP20": "301|keep|https://{{AK_HOSTHEADER}}/resources/res-ll-005-mathematics-of-big-data-and-machine-learning-january-iap-2020/",
"/RES-TLL-004F13": "301|keep|https://{{AK_HOSTHEADER}}/resources/res-tll-004-stem-concept-videos-fall-2013/",
"/RES.10-001F14": "301|keep|https://{{AK_HOSTHEADER}}/resources/res-10-001-making-science-and-engineering-pictures-a-practical-guide-to-presenting-your-work-spring-2016/",
"/RES.6-008": "301|keep|https://{{AK_HOSTHEADER}}/resources/res-6-008-digital-signal-processing-spring-2011/",
"/RES11-005F12": "301|keep|https://{{AK_HOSTHEADER}}/resources/res-ll-005-d4m-signal-processing-on-databases-fall-2012/",
"/RES18-006F10": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-18-006-calculus-revisited-single-variable-calculus-fall-2010/",
"/RES18-006f10": "302|discard|https://{{AK_HOSTHEADER}}/resources/res-18-006-calculus-revisited-single-variable-calculus-fall-2010/",
"/RES18-007F11": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-18-007-calculus-revisited-multivariable-calculus-fall-2011/",
"/RES18-008F11": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-18-008-calculus-revisited-complex-variables-differential-equations-and-linear-algebra-fall-2011/",
"/RES2-002S10": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-2-002-finite-element-procedures-for-solids-and-structures-spring-2010/",
"/RES6-001S08": "301|keep|https://{{AK_HOSTHEADER}}/resources/res-6-001-electromagnetic-fields-and-energy-spring-2008/",
"/RES6-008S11": "301|keep|https://{{AK_HOSTHEADER}}/resources/res-6-008-digital-signal-processing-spring-2011/",
"/RES6-010S13": "301|keep|https://{{AK_HOSTHEADER}}/resources/res-6-010-electronic-feedback-systems-spring-2013/",
"/RESLL-005F12": "301|keep|https://{{AK_HOSTHEADER}}/resources/res-ll-005-mathematics-of-big-data-and-machine-learning-january-iap-2020/",

These redirects are working for me, and I've been asked to keep them.
"/18065videos": "301|discard|https://www.youtube.com/playlist?list=PLUl4u3cNGP63oMNUHXqIUcrkS2PivhN3k",
"/18065videoslec1": "301|keep|https://www.youtube.com/watch?v=YiqIkSHSmyc&list=PLUl4u3cNGP63oMNUHXqIUcrkS2PivhN3k&index=3",
"/1806scvideos": "301|keep|https://www.youtube.com/playlist?list=PL221E2BBF13BECF6C",
"/1806videos": "301|keep|https://www.youtube.com/playlist?list=PLE7DDD91010BC51F8",
"/1806videoslec7": "301|keep|https://www.youtube.com/watch?v=VqP2tREMvt0&list=PLE7DDD91010BC51F8&index=8",

I used the script below to update the Fastly dict:
with open('../../ocw_redirect_links.csv') as f:
	reader = csv.reader(f, delimiter=':')
	for each_row in reader:
		k = each_row[0]
		v = (str(each_row[1]+":"+each_row[2]).strip(','))
		v = re.sub("[\"\']",'', v)
		v = v.strip()
		subprocess.run(["fastly", "dictionary-item", "update", "--dictionary-id=<dict_id>", "--service-id=<service_id>", "--token=<fastly_token>", f'--key={k}', f'--value={v}'])

The Fastly cli requires the specific dict_id in addition to the service_id and that can be obtained by running:
fastly dictionary describe --version=<version> --name=redirects --service-id=<service_id> --token=<fastly_token>

Added some of the RES ones, with a corrected URL. I'll come back later and finish the rest.
"/RES-10-001S16": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-10-001-making-science-and-engineering-pictures-a-practical-guide-to-presenting-your-work-spring-2016/",
"/RES-10-S95F20": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-10-s95-physics-of-covid-19-transmission-fall-2020/",
"/RES-11-002F17": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-11-002-intentional-public-disruptions-art-responsibility-and-pedagogy-fall-2017/",
"/RES-15-003S16": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-15-003-shaping-the-future-of-work-15-662x-spring-2016/",
"/RES-15-004IAP20": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-15-004-system-dynamics-systems-thinking-and-modeling-for-a-complex-world-january-iap-2020/",
"/RES-16-001IAP12": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-16-001-lean-enterprise-en-espanol-january-iap-2012/",
"/RES-18-006F10": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-18-006-calculus-revisited-single-variable-calculus-fall-2010/",
"/RES-18-009F15": "301|keep|https://{{AK_HOSTHEADER}}/resources/res-18-009-learn-differential-equations-up-close-with-gilbert-strang-and-cleve-moler-fall-2015/",
"/RES-2-006SU16": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-2-006-girls-who-build-cameras-summer-2016/",
"/RES-21G-001S16": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-21g-001-the-user-friendly-classroom-fall-2020/",
"/RES-21G-001S16d": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-21g-001-the-user-friendly-classroom-spring-2016/",
"/RES-21G-506S21": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-21g-506-kanji-learning-any-time-any-place-for-japanese-vi-spring-2021/",
"/RES-3-002IAP17": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-3-002-collaborative-design-and-creative-expression-with-arduino-microcontrollers-january-iap-2017/",
"/RES-3-003IAP17": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-3-003-learn-to-build-your-own-videogame-with-the-unity-game-engine-and-microsoft-kinect-january-iap-2017/",
"/RES-3-004F17": "301|discard|https://{{AK_HOSTHEADER}}/resources/res-3-004-visualizing-materials-science-fall-2017/",

Having done that, I'm left wondering a couple things:

Why do we specify the HTTP code (e.g. 301 above) when the VCL code always returns a 307?
Why does the VCL code always return a 307?
Why are we returning a fully-qualified URL instead of a path?

In the dict on Fastly, it's actually a 307 as well and not a 301. The rules above are from the legacy system and have been changed to 307s. Because we're doing all sorts of redirects, wanted to keep those dict redirects with a different code so that we can filter on them
I believe this was done in legacy and applied here as well because we weren't sure whether all the redirects are going to be to the same hostname or not.


CommonCircuitData serialization

Add support for serializing / deserializing CommonCircuitData to the serialization Buffer.

Gonna circle back and do this a different way.


meshing utilities return types and docstrings

From the internal chat:
"I have been using meshing queries recently for scripts and it worked well, when trying again today I realize that the queries are now utilities.
While the reduction of functions is a good thing, I have trouble to do what I could before.
For instance the get_face_zones function works fine with filter argument giving me a list of zones, but for xyz_coordinates and maximum entity_count I am surprised by the output. For xyz_coordinates I would expect to get a list even if only one value is returned ; otherwise the same command can output multiple types. For maximum_entity_count I could not get any zone, I am wondering if I understand correctly that one (I expected to get zones with less facets than the given number as in Selection Helper). It also does not seem to return a list even though I would expect one. Shouldn't it be an integer and not a float ?
I looked at the help but it does not give much info on the arguments and outputs."
Please could you look into it? It seems that some of the the return types might be varying for a given query, and this is presumably not by design.  It also seems that the return type is missing from the help results. I will create a GitHub issue.

I have a comment/question here though. I understand that the baseline idea is to make python APIs as close as possible to the TUI ones. But here we clearly see a situation where this results in a not very pythonic solution, as a function that can return either a list of integers or a single integer depending on the inputs can lead to crashes when put within a script that relies on the funciton output. Something like:
scenario 1
for zone in meshing_utilities.get_face_zones(maximum_entity_count=500, only_boundary=True):
     print(zone)

Will work, whereas:
scenario 2
for zone in meshing_utilities.get_face_zones(maximum_entity_count=500, xyz_coordinates=[1,2,3]):
      print(zone)

Will crash.
Also, in the specific case that initiated the discussion, if the intention is to sum the two outputs of the two calls to get_face_zones, it is not possible to just do a summation as one would be a list and one an integer.
This means that one would have to write several lines of code with if statements to assess the type of the output and consequently either append or extend lists...
Additionally, it seems that the documentation is not super consistent and lacks of examples. At the moment it does not entirely follow the python documentation convention. Often the method is just shown as member of a class, instead of being followed by the arguments, which makes it difficult to even understand whether it takes arguments or key arguments:

@ddamadori Thanks for your feedback. The variation in return type is a bug and is being addressed. We are also improving the documentation and help information.


[Firestore] Countless observations for single document

done at https://github.com/fummicc1/EasyFirebaseSwift/commit/08fb7d6287236098501957236dd7e5bcd4e968ed


matching entity throwing InvalidCastException when using Custom List Entities in ActionBinding.

Bot Info

SDK Platform: C#
Deployment Environment: local development with Emulator

Issue Description

I'm working on a prototype app bot using the LUIS action binding. I use LUIS list type entity. There was a problem with that. This is very similar to Issue #139. But another solution is needed.
Code Example

LuisActionResolver.cs (line :520~)
    // Prioritize resolution
    if (matchingEntity != null)
    {
        var paramValue = matchingEntity.Resolution != null && matchingEntity.Resolution.Count > 0
                  ? matchingEntity.Resolution.First().Value
                  : matchingEntity.Entity;
       // paramValue is returned type 'System.Collections.Generic.List<object>'
        result &= AssignValue(action, property, paramValue);
     }

paramValue is returned type 'System.Collections.Generic.List'
LuisActionResolver.cs (line:413~)
private static object SanitizeInputValue(Type targetType, object value)
        {
            object result = value;

            // handle case where input is JArray returned from LUIS
           if (value is JArray) // false.  because, it's not 'Newtonsoft.Json.Linq.JArray'
            {
                var arrayOfValues = value as JArray;

                if (targetType.IsArray)
                {
                    result = arrayOfValues.AsEnumerable<object>();
                }
                else
                {
                    if (arrayOfValues.Count > 1)
                    {
                        throw new FormatException("Cannot assign multiple values to single field");
                    }

                    result = arrayOfValues[0];
                }
            }

            return result; // type : '{System.Collections.Generic.List<object>} '
        }

so, if (value is JArray) this code in this section is false. because, value is not 'Newtonsoft.Json.Linq.JArray'. it's System.Collections.Generic.List<object>
LuisActionResolver.cs (line : 356~)
   paramValue = SanitizeInputValue(type, paramValue);

   if (type.IsArray)
   {
        value = BuildArrayOfValues(action, property, type.GetElementType(), paramValue);
   }
   else if (type.IsEnum)
   {
        value = Enum.Parse(type, paramValue.ToString());
   }
   else
   {
        value = Convert.ChangeType(paramValue, type);  //Exception here.
        //Exception message : Object must implement IConvertible.
   }

type is string . paramValue is  '{System.Collections.Generic.List} ' I think this should be type string.
Reproduction Steps

Register the list type entity in LUIS.
Just match the list entity by example.

Actual Results

Exception message : Object must implement IConvertible.

Can you please post the issue in BotBuilder-CognitiveServices, as this is the right repo to get resolved.


Prefer triple to double equals

According to ESLint:

It is considered good practice to use the type-safe equality operators === and !== instead of their regular counterparts == and !=.
The reason for this is that == and != do type coercion which follows the rather obscure Abstract Equality Comparison Algorithm. For instance, the following statements are all considered true:
[] == false
[] == ![]
3 == "03"
If one of those occurs in an innocent-looking statement such as a == b the actual problem is very difficult to spot.

This PR does not apply this principle to all occurrences of == and !=. It leaves those testing against null, where sometimes the use was intentional. I still believe those should be reworked, but for now, this PR just deals with the 'safe' instances.
I confirm I have signed the Contributor License Agreement.

This PR has the potential to break existing code. Are we ok with that?
Every PR has the potential to break existing code. You have to point out where it actually does break code. I believe it doesn't. 😄

Just thinking about it, unease and swapping == with === is a great argument for not using ==! 😆


XmlInputFormat produces ArrayIndexOutOfBounds on compressed files

How to reproduce:

Use large XML file (e.g the protein file from http://www.cs.washington.edu/research/xmldatasets/www/repository.html#pir )
Modify to remove whitespace between the closing and opening row tags (e.g )
Compress with bz2

org.apache.spark.SparkException: Job aborted due to stage failure: Task 1 in stage 123.0 failed 1 times, most recent failure: Lost task 1.0 in stage 123.0 (TID 131, localhost): java.lang.ArrayIndexOutOfBoundsException: 65536
[info] at org.apache.hadoop.io.compress.bzip2.CBZip2InputStream.hbCreateDecodeTables(CBZip2InputStream.java:666)
[info] at org.apache.hadoop.io.compress.bzip2.CBZip2InputStream.createHuffmanDecodingTables(CBZip2InputStream.java:793)
[info] at org.apache.hadoop.io.compress.bzip2.CBZip2InputStream.recvDecodingTables(CBZip2InputStream.java:765)
[info] at org.apache.hadoop.io.compress.bzip2.CBZip2InputStream.getAndMoveToFrontDecode(CBZip2InputStream.java:801)
[info] at org.apache.hadoop.io.compress.bzip2.CBZip2InputStream.initBlock(CBZip2InputStream.java:504)
[info] at org.apache.hadoop.io.compress.bzip2.CBZip2InputStream.changeStateToProcessABlock(CBZip2InputStream.java:333)
[info] at org.apache.hadoop.io.compress.bzip2.CBZip2InputStream.read(CBZip2InputStream.java:399)
[info] at org.apache.hadoop.io.compress.BZip2Codec$BZip2CompressionInputStream.read(BZip2Codec.java:483)
[info] at org.apache.hadoop.io.compress.BZip2Codec$BZip2CompressionInputStream.read(BZip2Codec.java:502)
[info] at com.databricks.spark.xml.XmlRecordReader.readUntilEndElement(XmlInputFormat.scala:194)
[info] at com.databricks.spark.xml.XmlRecordReader.next(XmlInputFormat.scala:143)
[info] at com.databricks.spark.xml.XmlRecordReader.nextKeyValue(XmlInputFormat.scala:128)

Thank you for reporting this. I will try to reproduce this soon.

Using one core works well . I think is related with https://issues.apache.org/jira/browse/HADOOP-10614

Looks like this is indeed a Hadoop issue, that should be fixed from 2.5 onwards.
https://issues.apache.org/jira/browse/SPARK-1861


A resource should be "searchable" by default

When creating a resource, it makes sense that we could instantaneously use this resource in Multi Search input.
Searching properties (like "name", "description"...) should be configurable in resource definition file.

Currently working on that point on https://github.com/case-app/case/tree/feature/auto-search
There is a bit of work with schematics and current resource change to allow search on selected resources with a little config. This has to be documented too.


Future plans

Do you have any plans how do you improve your module?

@gremlinLee I'm not currently using this project in production anywhere, so haven't been doing a ton of work on it. Two things come to mind as improvements I'd love to make however:

adding support for Windows.
removing the need for node-gyp.

Is there anything on your mind specifically?


Bugfix/keymap

On the startup script, I added a little note to clarify the input required by the user.
Typing -fr instead of fr causes localectl to fail with error localectl: invalid option -- 'f'.
+
The localectl isn't persistent upon reboot when the installation is finished + when executed manually after the install it doesn't seem to affect anything because we are running X11.
When setting up a keymap manually it adds a line to /etc/vconsole.conf as well as in /etc/X11/xorg.conf.d/00-keyboard.conf.
My modifications set up those exact modifications to get the keymap setup.
P.S: This approach is working, but really ugly, if someone has a better implementation feel free to let me know!

fixed in #191


DSERV-212-spdi

Previously I also use vrs translator for generate HGVS, which is extremely slow probably due to the hgvs package dependency. I talked to Ben and he suggest that not use the translator for HGVS generation. This way the speed is much faster.  Also use vrs translator can generate the HGVS for the special case duplication and since using insertion for duplication is also valid, I will not check if the insertion is a duplication or not in the code.


How to get packets every 10 minutes in Arkime API?

To get a packet, I request the server where Arkime is installed.
I am trying to get JSON by referring to the manual, but having trouble.
(manual: https://arkime.com/api#sessionsjson)
Can't I get JSON in 10 minutes instead of every 1 hour?
In "/sessions.json", Parameter "date" means seems to be searching for data from 1 hour to the present.
To get data in 10-minute increments, I changed the "date" value from 1 to 0.1, but it seems to work differently.

I tried the method below but failed.

Calling the API every 10 minutes (setting 1 hour)

The maximum number of items is smaller than the amount of data generated per hour.
So, I can't get the data without omissions.
Furthermore, It is not sorted by date. (I do not know what rule is used to select the data.)

Increasing the maximum

20,000 is the maximum number due to lack of computing power.

https://arkime.com/questions
You might want to look at startTime/stopTime

https://arkime.com/questions
You might want to look at startTime/stopTime

I solved it! Thanks to you.
I will use Slack.


fix pull-to-refresh unable to pull if sliding out system control center

Type of PR
Bugfix
Goal of PR
Fix issue: https://github.com/nolimits4web/Framework7/issues/1684

This is the effect of bug fixed

@nolimits4web can you check it? Thank you.

Merged, thanks!


Add Doctrine\ORM\Query::mod()

As suggested in https://github.com/doctrine/doctrine2/issues/6739

This looks OK-ish to me, but where do we draw the line between adding new expressions to the fluent interface?
If this keeps going, we'll soon have a lot of added API... Maybe stop at the Expr?

mmm, I guess I understand this doubt. I would expect all DQL functions to be supported.
What would be the alternative? Create dedicated classes like

Doctrine\ORM\Query\Expr\Math\Mod

?

We could get rid of a lot of methods in this class via generic magic call for Expr\Func. Personally I would get rid of this class completely though.

Encountered this again, any update on the stance on this?

@Ocramius and @ostrolucky maybe it is time to take a decision and accept or close this PR?

Please do not merge, rebase. Please remove merge commit. I'm fine with change otherwise.

@ostrolucky I would be happy though, although I am afraid I have reached the limits of my GIT skills here..  Maybe something we can investigate for an improvement later?

@beberlei Unlike ->fn('mod', ...$args) magic functions can be documented with @method, so you still get IDE auto complete and SA tools inference.

@ostrolucky Technically yes, but then you need to change the code every time we add a new function again, and for custom functions registers by users we can't add them there either.

Well yes we do need to do that, IDE and SA support is important. How else would we get it? My suggestion was only to reduce boilerplate. Otherwise let's just remove the class, because then I don't see what it brings on table compared to just doing new Expr\Func('mod', [$x, $y]); in userspace.

Is there anything I can do to get this PR merged? We are almost reaching its 3 year anniversary... 😄

Indeed. Thanks for ping and patience, let's merge.


docs: Document json, makeSlice, and makeMap template functions

Presumably as part of the PR #2135 three new global template functions
were added: json, makeSlice, and makeMap. However they are not mentioned
nor documented at http://bosun.org/definitions. This commit attempts to
fill in the gap.

Thank you!


Fix 1668 - export def bone only without anim

Fix #1668 - Export def bone only without exporting animation
This move option under skinning instead of animation

Do you know if this will make it to a Blender patch version (like 3.2.1) or is it only for the next minor version (3.3)? Not sure what the policy is (whether patches are only for fixes while this might not qualify as a fix)

@PerplexedPeach
Hello,
Corrective release (3.2.x) is only for crashes and/or regressions.
This PR will be available on 3.3


YII_DEBUG makes a non functional page in live work

What is the expected result?
The page should be either working of when setting YII_DEBUG I should be able to see what is making the app crash.
What do you get instead?
If my env.php file does not have:
defined('YII_DEBUG') or define('YII_DEBUG', true);

the url results to a 200 blank page:

if I add to my env.php file on my live server:
defined('YII_DEBUG') or define('YII_DEBUG', true);

Then the page appears with no errors.
I have currently set:
memory_limit = -1
max_execution_time = -1
max_input_time = -1

I have also tried turning display_startup_errors and display_errors to on
for debugging purposes I have set error_reporting = E_ALL
I have also tried adding the following at the top of web/index.php
error_reporting(-1);
ini_set('display_errors', true);
ini_set('display_startup_errors', TRUE);

and I still get blank screen
Additional info

Q
A

Yii version
<IP_ADDRESS>

PHP version
7.1.17

Operating system
development: macos, deployed: Amazon Linux version 2018.03 is available.

Is it possible to know what YII_DEBUG is impacting on php that could drop the request from processing.

YII_DEBUG itself should not result in blank page. That's something else in the server setup.

@samdark Yii debug actually makes the page display but the live page without yii_debug lands as a 200 blank page.
On that page there is a big list of models loaded in a select. Is it possible that yii_debug lets long execution time but when its not there yii2 forces the request to end?

No.

@samdark any idea why simply adding the line
defined('YII_DEBUG') or define('YII_DEBUG', true);

in the live website in config/env.php
there are no server reboots or changes. Just this line added fixes the blank page.
I will publish a reproducible example later today or tomorrow.
But when I have the blank page on just one view I simply
nano /var/www/html/config/env.php

add the line
defined('YII_DEBUG') or define('YII_DEBUG', true);

save the file and the blank page is gone.
Is there any list of functionalities or changes that YII_DEBUG does apart from changing the trace level for the logger?

No since I'm not aware of your configuration.


dry run

/hold
the same content as main, but squashed and rebased on top of master to run it through presubmits

/retest

/retest

/retest

/test ci/prow/unit-olm

/test unit-olm

Successful e2e run 1/n
/hold
/test all

/retest


allow dynamic settings for D-Stability console

As suggested in the docs, I found it really helpful to set up the path of the DStability console in a dynamic way:
dm.meta.console_folder = Path("other_location")  # has to exist!

However , this is no longer possible because the console path can no longer be set:
print(model.console_path)  # DStabilityConsole\D-Stability Console.exe
model.console_path = Path("other_location")  # crash :(

Note also that the meta attribute no longer exists too.

@MatthiasHauthDeltares Would this PR help your case? https://github.com/Deltares/GEOLib/pull/165

Thanks Carlos! I left a comment in your PR ;)


controller/examples: Send log output to STDERR by default

The previous default was to discard any messages, which will suppress errors.

LGTM


Kartoza Epic 2: User Story 1: Access HS.io via a public API

Expectation
As a system integrator I want to be able to access HS.io via a public API that recently added HS records can be harvested and published to third party platforms.
Acceptance criteria
Given that the API are verified through unit testing to meet the specified requirements, when the API is used then Aether server will be able to harvest recently added records from HS.io
child of #996

To start we would publish data added in the last 24 hours

1 day of work estimated

See #1018 for digest details

Some of API already done
Workable ticket : https://github.com/healthsites/healthsites/issues/1116

Additional ticket : https://github.com/healthsites/healthsites/issues/1257


Improve DNS documentation

This PR reorgs the DNS documentation so that

the concepts page have dnsPolicy and dnsConfig documented
the diagnosis contents moved over to task
the known issues are moved over to admin task as well
docs about old behaviors are moved to the end of the concepts page as reference

This change is

/assign @steveperry-53
This is a rebase of #6441, now aiming release-1.9 as suggested.

This is still on my list.
/assign

cc @bowei

LGTM :+1: :shipit:


The useBreakpointValue hook breaks on screens 1900px+

Description
I expect that the useBreakpointHook will not resize my components to "mobile" sizing on 1900px+ screens.
CodeSandbox/Snack link
No response
Steps to reproduce

Create a custom component using Gluestack-UI themed components.
Import the useBreakpointValue hook and use it to create the boxVariant values.
Start your server and open a browser on a 1900px+ screen.
Observe that the Box will go back to its mobile styling.

gluestack-ui Version
gluestack-ui/config and /themed are on latest
Platform

[ ] Expo
[ ] React Native CLI
[X] Next
[ ] Web
[ ] Android
[ ] iOS

Other Platform
No response
Additional Information
Screenshots of code and screen recording of the behavior.
Player Caption component and useBreakpointHook

My gluestack config.tokens.mediaQueries

Screen recording (sorry for quality, I had to compress it to upload).
https://github.com/gluestack/gluestack-ui/assets/167568561/212c34c0-eca3-4f85-9c6a-1c693d53b6da

Fully understanding what is going on requires knowing what is happening inside PlayerDescription. 'useBreakpointValue ' determines what value is returned based on the object to passed in. As you can see in the example at useBreakpointValue , 'flexDir' determines what value is assigned to 'style.flexDirection' on the View tag. I'm guessing you have a class associated with "playerDescriptionDesktop" in which you are not implementing all the stylings for your desired functionality.

Thanks for the feedback. Here's some more of the code to further explain what's going on. We have a PlayerDescriptionMobile and PlayerDescriptionDesktop component. They both utilize a VStack as their main component, and we create a variant for mobile and desktop.
PlayerDescriptionMobile component

PlayerDescriptionDesktop component

The VStack theme config

I did try to add xlQuery: "playerDescriptionDesktop" into the useBreakpointValue hook and it did not behave as expected.


Documentation: Compatibility Matrix

Add a table with X and Y axis being extensions and ticks and cross emojis to figure out what extension combinations would work for someone. Any subset of a row or column can be a valid combination.

Hey @ChakshuGautam ,
Can you please add more references to this Compatibility Matrix currently being used else where or some demos ?

Should this issue be blocking the other development issues or can I proceed with other issues ?
Also, I suggest we have a different workflow for this complete testing using the matrix and lets keep the smoke-tests workflow simple till the completion of development and once we have all the extensions implemented, we can drop the smoke-tests completely and use the workflow with the compatibility matrix for complete testing which takes much more time compared to smoke tests.

Not a blocker. You can pick up others.

@ChakshuGautam I was just trying to produce this documentation, can you please explain on how can I see the compatibility amongst extension? Am I meant to see the compatibility of current extensions being used and then decide their respective compatibility with each other. If yes then do provide some context on how can I proceed with doing that?

Wr can start with a manual one by just reading the docs. Long term this should be done using building the thing and then running smoke test to judge if it works or not.

Add a table with X and Y axis being extensions and ticks and cross emojis to figure out what extension combinations would work for someone. Any subset of a row or column can be a valid combination.

Which all type of extensions should I be comparing?

#2 is the master list. You can use the ones that are already done for the matrix.

Hey can you assign this to me


fix typo

Coverage remained the same at 99.043% when pulling 034c5e24168e2d28ce8b752fc3d49e75faf242fe on hulkish:patch-1 into fd2cc543c7736174059e64a7daf40902da232d5e on nknapp:master.

Coverage remained the same at 99.043% when pulling 034c5e24168e2d28ce8b752fc3d49e75faf242fe on hulkish:patch-1 into fd2cc543c7736174059e64a7daf40902da232d5e on nknapp:master.

Thanks


Empty Fire Danger Rating results in Unknown state

The RFS seems to be pushing an empty string for the fire danger rating which is resulting in the sensor defaulting to an Unknown state.
Not sure whether this should be set as "No Rating" or something else

Unfortunately it appears that this winter the RFS is not publishing any rating. If it was published as "NONE" then the integration has an option to automatically convert this to "No Rating".
I'd be happy to consider another option here, but I somehow wanted to clearly distinguish "No Rating" (which is a deliberate rating by the RFS you can find on the website) from "Unknown" which simply means that the RFS has not published a rating at all.

seems odd that they're simply publishing nothing as opposed to publishing None

I guess it's comparable to the public road signs not having an indicator mounted at all in winter vs. having the indicator pointed to "No Rating".


FFP 64bit

...px

Renamed and Moved to 3.8 for disscuss.

Direct3D will set the floating-point unit to single-precision, round-to-nearest as part of initialization for the calling thread, unless the D3DCREATE_FPU_PRESERVE flag is used, in which case, the floating-point control word is untouched
Since the control word is a per-thread setting, ensuring that all of your application threads are set to single-precision mode may optimize performance.
x86-64 native code never uses the FPU, and always uses SSE instructions, so the floating-point control word issues are all specific to x86 code,  _control_fp is not valid for x64-native coding, which uses SSE exclusively instead.

this one seems to check out


add some simple/realistic speed tests

As discussed in #15604, it might be useful to add some simple tests (like #15199 and/or #15088) to catch future performance regressions.

we have a separate repo in openssl/tools which contain performance tests that cover this request (with more tests planned)
Marking as inactive, to be closed at the end of 3.4 dev, barring further input


Releases section empty

The releases section stated as having .dll, im assuming there isn't one out yet?

Yep, he hasn't released one yet. The mod's not done yet.

Acknowledged. Would it be ok to do a pull req for changing the description to state that a .dll will be out when the mod is done?

You can do it if you want to.


Correct 2018 Extensions folder

Update the extensions path for 2018 management studio

Thanks!

The wrong path is still there in the instructions on the official webpage. That anything you can fix, @gandarez?

@fspansk the PR is still opened. I messaged Alan to approve that. Thanks.

Fixed, thanks!


Split project  into 2 different projects

Going to create 2 projects one for phones, one for every other device
Phone project will get updates slower then other project due to backward compatibility

Due to no answers to #52  going to keep lowest supported sdk to 15063

This is now the mobile project.
Then non mobile project is at https://github.com/IsaacMorris1980/UWP-App-Launcher-Non-Mobile


Experimental xrefs.CrossReferences API [phab:D504]

Created by schroederc at 2015-09-08 16:44:21:
This change adds a new API call to the xrefs service (see xref.proto) and an associate sub-command to the kythe CLI (see kythe help xrefs).
NOTE: this call is currently implemented using Nodes/Edges calls and does not have an associated serving table.  This means that it can be relatively slow compared to the other APIs.

schroederc wrote at 2015-09-09 18:18:25:
Handle rare case of multiple anchor parents

schroederc wrote at 2015-09-09 22:40:51:
Return anchor text and snippets as strings rather than bytes

schroederc wrote at 2015-09-10 17:57:07:
Further cleanup and tests

schroederc wrote at 2015-09-10 18:05:13:
Update Go proto source

schroederc wrote at 2015-09-10 18:16:29:
Update local commit

schroederc wrote at 2015-09-15 20:41:33:
ping

fromberger accepted this revision at 2015-09-15 21:23:22

schroederc closed via commit e0a5b0d293a8d526afcc8f830b9b9e401af9cb66 at 2015-09-15 21:34:17


Documentation improvement on action=Pass / priority and ANP vs ACNP

According to the documentation, we have:
action: Each ingress or egress rule of a ClusterNetworkPolicy must have the action field set. As of now, the available actions are ["Allow", "Drop", "Reject", "Pass"]. ... A "Pass" rule, on the other hand, skips this packet for further ACNP rule evaluations (all ACNP rules that has lower priority than the current "Pass" rule will be skipped, except for the Baseline Tier rules), and delegates the decision to developer created namespaced NetworkPolicies. If no NetworkPolicy matches this traffic, then the Baseline Tier rules will still be matched against.
priority: The priority field determines the relative priority of the policy among all ClusterNetworkPolicies in the given cluster. This field is mandatory. A lower priority value indicates higher precedence. Priority values can range from 1.0 to 10000.0. Note: Policies with the same priorities will be enforced indeterministically.
Question 1 )  action: Pass appears also to be valid in ANP, not only ACNP. At least it is accepted in the yaml. So can I assume it is really a valid action for ANP?
Question 2) If I have one ANP with action: Pass and higher priority, will it SKIP further ACNP with lower priority? Or Pass is restricted to their own type? ( ACNP vs ANP )
Question 3) If one ANP has same priority as an ACNP ( and same tier ), will that be enforced indeterministically? Or ACNP will be enforced first ?

Hi @jsalatiel, we already have a PR in flight addressing these, namely #3512.
To answer your questions though:

Pass is a valid action in ANP as well
It will skip further ACNP/ANPs with lower priorities
It will cause indeterministic behavior.

Thanks


compiling(?) help

Describe your problem here.

i got this when i ran the "lime test linux -debug" command, i've already checked Song.hx in the place it said but this is what it is:

Are you modding a build from source or with Lua?
Source
What is your build target?
Linux
Did you edit anything in this build? If so, mention or summarize your changes.
no

In case you haven't found out, you need to get the latest version instead of 4.1.5.
https://haxe.org/download/

In case you haven't found out, you need to get the latest version instead of 4.1.5.
https://haxe.org/download/

i did

In case you haven't found out, you need to get the latest version instead of 4.1.5.
https://haxe.org/download/

i did

at least i'm pretty sure i did,??

In case you haven't found out, you need to get the latest version instead of 4.1.5.
https://haxe.org/download/

is it the latest unstable build? if so then i can't install it

huh. then maybe try this.
https://github.com/ShadowMario/FNF-PsychEngine/issues/2724#issuecomment-1001257639


ReferenceError: primordials is not defined at fs.js:51:5 in Node v15.7.0

I have installed Node version v15.7.0.

gulp -v
CLI version: 2.3.0
Local version: 4.0.2
ReferenceError: primordials is not defined
at fs.js:51:5
at req_ (D:\mohan\node_modules\natives\index.js:143:24)
at Object.req [as require] (D:\mohan\node_modules\natives\index.js:55:10)
at Object. (D:\mohan\node_modules\node_modules\graceful-fs\fs.js:1:37)
at Module._compile (node:internal/modules/cjs/loader:1108:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10)
at Module.load (node:internal/modules/cjs/loader:973:32)
at Function.Module._load (node:internal/modules/cjs/loader:813:14)
at Module.require (node:internal/modules/cjs/loader:997:19)
at require (node:internal/modules/cjs/helpers:92:18)

We don't support node 15, it's an unstable release. I have no idea if graceful-fs works with 16

I hit exactly this error on node 14.7.6


Update storage-providers.md

The instructions on the top of the page are correct for pgvector provider and incorrect in the actual pgvector Provider portion of the doc.

Thanks @fourfridays!


Added boilerplate files and structure

testing this now.

@BrendanOswego Will use mocha, as well as SuperTest for endpoints


Add improved developer experience and docs

add modern improved development docs
tidy development files

Thanks for the updates to the docs. As discussed there needs to be enough context so that others like @iiamabby can both know the why and the how.

Thanks for the updates to the docs. As discussed there needs to be enough context so that others like @iiamabby can both know the why and the how.

@heyste, absolutely! This will be helpful going forward.
Please verify that, either yourself and/or @iiamabby, can bring up the bot with following the docs.

The documentation works for both @heyste and @iiamabby. Merging.


[react-form] Dynamic list addition/removal does not change the dirty state of the form

Overview
When combining useDynamicList and useForm, I would expect that calling addItem or removeItem for the dynamic list would result in the form being marked as dirty. Currently, it is only marked dirty if the values within the form fields have been edited.
The linked CodeSandbox from the documentation exhibits this behaviour and would be a good reference: https://codesandbox.io/s/hungry-rubin-exrkz?hidenavigation=1&theme=dark&file=/src/App.tsx:939-943
Load the form in the sandbox and then click the "Remove" button to remove the only card entry in the list. The list is now empty and I would expect the "Save" button to be available (to update the form to no longer have any cards associated). The actual behaviour is that "Save" is still disabled, so there isn't a built-in way to solve this using the dirty state.
Potential solution
To update the dirty state of the form when these changes occur seems like it might be a little tricky, since it only accepts the fields value at the moment, and doesn't have any idea about the addItem or removeItem that are returned by useDynamicList.

Right now fields is a FieldDictionary<Item>[] type, but it could be modified to an object type that extends the array type and also exposes a dirty field that could be set when addItem or removeItem are invoked.
Alternatively, the useDynamicList result could also return a dirty property of its own that could be checked in addition to the dirty property returned by the useForm.
Alternatively, useForm could accept a new argument like "wrap" that would take an object of name->function and then return a wrapped version of each of them, and internally would set the dirty flag if any of those methods are called. This seems like it might be a bit painful to type, but from a developer flexibility standpoint I kinda like it.

Current workaround
Currently to workaround this, I have to keep some additional state in my component that manually wraps addItem and removeItem and keeps state on whether or not they have been called. Looks like this:
import {useState} from 'react';
import {useForm, useDynamicList} from '@shopify/react-form';

function Component() {
  const [listDirty, setListDirty] = useState(false);
  const {fields, addItem, removeItem} = useDynamicList(
    [{name: 'Ryan'}],
    () => ({name: ''})
  );
  const {dirty} = useForm({
    fields: {fields},
    onSubmit: async () => {}
  });
  const add = () => {
    addItem();
    setListDirty(true);
  };
  const remove = (index: number) => {
    removeItem(index);
    setListDirty();
  };
  if (dirty || listDirty) {
    ...
  } else {
    ...
  }
}

Consuming repo
https://github.com/shopify/services-db

@ryanwilsonperkin thanks! Workaround works great.

@ryanwilsonperkin thanks! Workaround works great.

Thanks for sharing the workaround. Could be great if we could find someway to set the dirty state to false when removing the newly added item. I mean if we add a new item(s) and then remove it/them, reset the dirty state to false again.

Thanks for sharing the workaround. Could be great if we could find someway to set the dirty state to false when removing the newly added item. I mean if we add a new item(s) and then remove it/them, reset the dirty state to false again.

I think this should be possible with a small change to the workaround approach, that keeps track of the number of additions/deletions and then uses that as a proxy for whether or not it's dirty (it doesn't work for keeping track of edits to existing elements in the list though)
import {useState} from 'react';
import {useForm, useDynamicList} from '@shopify/react-form';

function Component() {
  const [listAdditions, setListAdditions] = useState(0);
  const listDirty = listAdditions !== 0;
  const {fields, addItem, removeItem} = useDynamicList(
    [{name: 'Ryan'}],
    () => ({name: ''})
  );
  const {dirty} = useForm({
    fields: {fields},
    onSubmit: async () => {}
  });
  const add = () => {
    addItem();
    setListAdditions(additions => additions + 1);
  };
  const remove = (index: number) => {
    removeItem(index);
    setListAdditions(additions => additions - 1);
  };
  if (dirty || listDirty) {
    ...
  } else {
    ...
  }
}

It's a bit tricky. The above approach works fine for newly added/removed rows. Removing an olde item makes the status dirty forever. Keeping the size of initial array and check the index in remove() function can fix it.

Thanks @oluwatimio !


Empty issue

See bz-4567
No change
Now, change bz-8978
This is really good bot

Will ot work with bz-4356?

Please close bz-5000

Check bz-359

Please see bz-567

See bz-786


Create integration test for sidechain block storage

As soon as the sidechain block storage becomes relevant, we should ensure that storage is actually working. It's not yet tested anywhere, except for some unit tests.

Actually, that's a harder Problem than I thought, due to the following reasons:

Trusted Side: we can not access sidechain_db from within the enclave, so integration tests run in the enclave does not work (execpt for the implemented ocall store_sidechain_block - an extra implementation for retrieving a block might work.. but I don't think that's the way to go).
Untrusted Side: writing a mock, that upon a block import skips the ocall but directly calls the sidechain_db does skip a lot of crucial steps, so I'm not really fond of that.
It should be possible though to write a script, like M6, that lets a worker run for some time and checks the db for:
a) should not increase over a specified amount (we're pruning blocks from time to time)
b) should increase with every block.
but that's a tricky one, as if parameter changes, the test should also be adapted..

I did a manual check for now.. this issue should probably be a part of a full sidechain integration test, I guess.

The sidechain demo includes storing and retrieving of blocks in the sidechain block storage due to the peer block fetching that happens in the on-boarding.


Issue getting refresh token

Hi,
Currently trying to setup the plugin and I'm at the part where I try to get the refresh token.

However when I enter that command into a Windows 11 terminal I get the following error

I then tried it in a Git bash terminal and got a different output:

I also tried entering the command in the homebridge terminal and it just outputs this:

None of these match what the website says the output should be. So I'm not sure what I'm doing wrong or where I should be trying to enter this command? Any help would be appreciated greatly

Issue resolved. Tried again and it worked

Hi,
I have the same issue.
Tried Terminal on both Mac and Homebridge (NAS). Same response on both machines.
Can you help or point me to literature that may help me resolve it please?
Thank you.


Importing opencv makes screenshots black

Hi,
I have a problem with the following code
import dxcam
from PIL import Image
import cv2

cam = dxcam.create()
img = cam.grab()
Image.fromarray(img).show()  # Screenshots are blacked out.

If opencv is not imported, it works fine.
import dxcam
from PIL import Image

cam = dxcam.create()
img = cam.grab()
Image.fromarray(img).show() # good

The following code works fine.
import dxcam
import numpy as np
from PIL import Image
import cv2

cam = dxcam.create()

while True :
    img = cam.grab()
    print(img[0][0])
    if img is not None :
        if np.mean(img)!= 0:
            break

Image.fromarray(img).show()

In this case, the console will output the following
[0 0 0]
[60 60 60]

dxdiag
         Operating System: Windows 10 Pro 64-bit (10.0, Build 19044) (19041.vb_release.191206-1406)
                 Language: Japanese (Regional Setting: Japanese)
                Processor: Intel(R) Core(TM) i5-6600 CPU @ 3.30GHz (4 CPUs), ~3.3GHz
                   Memory: 32768MB RAM
          DirectX Version: DirectX 12
      DX Setup Parameters: Not found
          DWM DPI Scaling: Disabled
                 Miracast: Available, with HDCP
Microsoft Graphics Hybrid: Not Supported
 DirectX Database Version: 1.0.8
           DxDiag Version: 10.00.19041.1741 64bit Unicode

           Card name: Radeon RX 570 Series
        Manufacturer: Advanced Micro Devices, Inc.
           Chip type: AMD Radeon Graphics Processor (0x67DF)

python
Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug  1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)] on win32

pip list
Package       Version
------------- --------
comtypes      1.1.13
d3dshot       0.1.5
dxcam         0.0.4
numpy         1.23.1
opencv-python <IP_ADDRESS>
Pillow        9.2.0
pip           22.2.2
setuptools    63.2.0

dxcam
dxcam.device_info()
Device[0]:<Device Name:Radeon RX 570 Series Dedicated VRAM:8171Mb VendorId:4098>

dxcam.output_info()
Device[0] Output[0]: Res:(1920, 1080) Rot:0 Primary:True

Thanks for the cool library. :D

I also encountered the same problem, comment out opencv to restore normal
`import dxcam
import cv2
from PIL import Image
dxcamera = dxcam.create(device_idx=0, output_idx=0, output_color="RGB")
left, top = (2560 - 640) // 2, (1440 - 640) // 2
right, bottom = left + 640, top + 640
dxregion = (left, top, right, bottom)
dxcamera.start(region=dxregion, video_mode=True, target_fps=120)
frame=dxcamera.get_latest_frame()
Image.fromarray(frame).show()`
Windows 11 22000.856
RTX 3090 Driver 516.59

pip list
comtypes           1.1.13 dxcam              0.0.4 numpy              1.21.6 opencv-python      <IP_ADDRESS> Pillow             7.1.2 torch              1.12.1 torchaudio         0.12.1 torchvision        0.13.1

Trying adding time.sleep(0.1) after initializing the camera
Originally posted by @Spexivus in https://github.com/ra1nty/DXcam/issues/7#issuecomment-1186290264

As stated above, the workaround now is to add time.sleep(0.1) after initializing the camera. I have added that in the upcoming release.


Extension doesn't load

System.BadImageFormatException:  Could not load the file or assembled 'Checklocalizations.dll' or one of its dependencies. [...]Attempted with an incorrect format.
File name: 'Checklocalizations.dll'

playnite.log
extensions.log

Can you try this release?
playnite-checklocalizations-plugin_2_0.zip

Working fine 👍👍


OCAPI Reindex new feature

During the CI/CD process if we import new:

Product
Content
Synonym
Suggestion
Inventory
data, it's required to reindex those data types to be able to fully to see the changes on the storefront. At this moment we need manually inform related stakeholders and reindex data on the instance under Merchant Tools >  Search >  Search Indexes.
It would be good to have this process as part of the plugin, which, for example, in the groovy configuration could have to reindex on/off and list of data types that require reindex.

This was addressed by releasing a new plugin https://plugins.jenkins.io/osf-builder-suite-for-sfcc-run-job that allows you to run any custom SFCC job in Jenkins. So you can use that to run reindex, clear cache, etc.


ERR MODULE NOT FOUND

I found an issue, after running yarn build, node .output/server/index.mjs will throw an error.

Originally posted by @lianginx in https://github.com/lianginx/chatgpt-nuxt/issues/13#issuecomment-1549020478

@lianginx
I'm also faced same issue when developping.
I have fixed bellow steps:
rm -rf node-modules
rm yarn.lock
yarn

@lianginx I have tested again with the following commands:
# remove old files
rm -rf node_modules .nuxt .output yarn.lock

# build & production preview
yarn && yarn build && yarn preview

# production
docker-compose up -d # Start and run in the background.
docker-compose down  # Stop and delete

It works fine in my environment.

This method is effective, thank you very much. It seems that a bad influence was caused by the historical file.


Create an aggregatetuple without in model key

Original issue from the substra repository

It is possible to create an aggregatetuple without passing any --in-model-key in the command.

Issue in the backend
The in_models_keys field of an aggregatetuple isn't required and has a minimum length of 0.
As the sole purpose of the aggregatetuple is to aggregate at least 2 models together, the in_models_keys should be required and should have a minimum length of 2.

As said in the backend PR, there is no reason for adding this restriction. Aggregating nothing or aggregating a single model should be possible.


Make initial page look like other example and remove storyboard.

Pull request checklist

[X] All tests pass. Demo project builds and runs.
[X] I have resolved any merge conflicts.
[X] I have followed the coding style, and reviewed the contributing guidelines. Confirmation: 💪😎👊

This fixes issue #___.
What's in this pull request?

Removed the Storyboard all together. Made the Initial view look more like the current example project. Fixed some issues we were having with settings.

[Current coverage][cc-pull] is 60.92%

Merging [#1734][cc-pull] into [develop][cc-base-branch] will not change coverage

@@            develop      #1734   diff @@
==========================================
  Files            62         62
  Lines          2221       2221
  Methods         612        612
  Messages          0          0
  Branches        134        134
==========================================
  Hits           1353       1353
  Misses          793        793
  Partials         75         75

[][cc-pull]

Powered by Codecov. Last updated by [77482d4...0b7fac1][cc-compare]
[cc-base-branch]: https://codecov.io/gh/jessesquires/JSQMessagesViewController/branch/develop?src=pr
[cc-compare]: https://codecov.io/gh/jessesquires/JSQMessagesViewController/compare/77482d4e76824c015611f5c86a6377d62822cebd...0b7fac1e58c981266de3cdd913093c6e05b46727?src=pr
[cc-pull]: https://codecov.io/gh/jessesquires/JSQMessagesViewController/pull/1734?src=pr

Thanks @MacMeDan ! 😄
I'd rather keep Main.storyboard for now, sticking with the default Xcode setup

@MacMeDan -- also, there's a ton of unrelated merge commits:
https://github.com/jessesquires/JSQMessagesViewController/pull/1734/commits
we really need to try to avoid this. it makes it incredibly hard to review, and makes commit history really unclean.
I suggest the following workflow:

Fresh fork of the project
Specify upstream to point to the main repo: https://help.github.com/articles/configuring-a-remote-for-a-fork/
git checkout develop Checkout develop branch
git pull upstream develop Pull main repo develop
git branch my-branch Branch from latest develop
Do work
git commit -am "commit msg" Make 1 single commit and push
Use github to submit PR from my-branch into jessesquires/develop

(this might not be exact, but that's the gist)
You should never have to git merge develop with this flow.
@Lucashuang0802 - Your PRs have been really clean, maybe you can share how you do this if it's any different than what I've described?

@jessesquires Sorry about that it seems that the Settings view has a broken outlet which led me to swapping out that view making the pull request much larger then it should have been. Sorry about that.

And of coarse I separated the code out and made a new pull request and then saw that you want to keep the MainStoryBoard I just thought it would be nicer to have it all programmatically for testing purposes.

I love using git rebase interactive mode to squash commits into one. And git push --force is my friend as well. But, you have to be very clear about where each branch starts and ends. I normally use SourceTree to help me understand how branches and commits look in the repo. So, my normal step will be:

pull origin and fetch upstream (update your fork and remote)
pick your desired working branch, rebase to upstream and solve conflicts if necessary
git push --force, I don't suggest this normally because it will update whatever you have from your local
Do your work, commit and push
submit PRs
modify and squash using git rebase -i HEAD~<# number of commits #> if necessary.

Let me know if that's a better approach. I am not a fan of using merge feature because it will create a lot of merging commits that can be squashed.

so @Lucashuang0802 I also use source tree. From my understanding you are using source tree to see the grand picture but then use the command line to preform these other steps.

@MacMeDan. Yes, I use it for the grand picture. And do all my git operations in CLI. 😃


[WIP] Persist: Add auditing feature

Addresses #138
Description
The goal of this PR is to add an auditing feature which is used while an object is being loaded. Before the actual object is loaded, the state is inspected and some audits are performed. If at least one audit fails, by default, the loading process is interrupted and the user is informed about what went wrong.
Functionally, this does more or less the same as Adrin's work on https://github.com/adrinjalali/skops/tree/audit only with much more code ;)
Implementation
The reason why much more code is used here is that I aimed at making the auditing extensible. This way, it would be possible in the future for each user to add their own auditing functions on top of the ones used in skops if they require additional security.
Also, in contrast to Adrin's branch, this implementation does not traverse the nodes of the state recursively. Instead, each get_instance function is decorated by an auditing object which is responsible for calling each audit function before the respective object (or sub-attribute) is being loaded.
This is better than traversing the nodes because here, we can re-use the node traversing that's already implemented, making absolutely sure that no node is being missed.
At the moment, the actual auditing functions are very rough and do not actually help much with security. This is okay, as this PR should serve to discuss the general implementation. Implementing the actual auditing functions can be done later.
Furthermore, we have "false positives", e.g. certain sklearn functions which are marked as insecure. Therefore, our current test suite would fail with the given auditing functions. However, I configured the tests so as to not raise an error when encountering an insecure node, instead just logging the results.
I will also add more unit tests (there are currently only 2 very rudimentary ones) if and when we decide to go ahead with this implementation.

It seems to me this is calling the same audit method for all state types.
What I was thinking, was to pass a state to load functions and let them to the audit, since the audit is specific to those methods, not something general. This would also significantly reduce the diff.
However, the issue with my approach, or yours, is that we'd fail at the first instance of finding something insecure.
From the users' perspective, it'd be much nicer for us to scan somehow, and tell them what's unsafe, and ask if they're okay with it, instead of failing one by one, which can be frustrating for them.

It seems to me this is calling the same audit method for all state types.

Yes, but of course it's easy to implement an audit function that checks the type and only audits if it is responsible for that type. I see that there is some use in having it inside the get_instance methods for locality reasons, but that also means that those methods could, over time, grow quite big because they do multiple things. In fact, it would already be possible to do checks inside get_instance, right? Do they need any information on top of the state for that?
Regardless of that, I believe that even if we had this, we should also have some general checks which we don't want each get_instance method to repeat.

they're able to pass/modify the "load_state" object we'd be passing the load functions.

I wonder if that could reduce security?

However, the issue with my approach, or yours, is that we'd fail at the first instance of finding something insecure.

I don't think that's the case, unless I misunderstand. Take the test that I added:
    def test_insecure_function(self, audit_logs, tmp_path):
        estimator = FunctionTransformer(dummy)
        save_load_round(estimator, tmp_path / "file.skops")

        expected = (
            "The following 2 security violations have been found: Loading function"
            " 'dummy' of module 'test_persist' is considered insecure. Untrusted"
            " module 'test_persist' found"
        )
        assert len(audit_logs) == 1
        assert audit_logs[0] == expected

If we change this line:
- estimator = FunctionTransformer(dummy)
+ estimator = FunctionTransformer(dummy, inverse_func=dummy)

we get:
- assert len(audit_logs) == 1
+ assert len(audit_logs) == 2

Is that what you mean?
The audit message is the same in both cases. Maybe we can improve it by indicating what attribute exactly causes the issue (func and inverse_func in that case).

I think this approach is over-complicating what we need to do. It might be very extensible, but it reminds me of the comic where the requirement is a bike and engineers deliver a truck 😁
on the auditing part, the issue is in this design we're actually loading objects and creating instances no matter what the result of the audit is. We probably shouldn't be doing that. Let me think more about it.

I think this approach is over-complicating what we need to do. It might be very extensible, but it reminds me of the comic where the requirement is a bike and engineers deliver a truck

I'm a fan of YAGNI but also of "don't dig yourself into a whole you can't get out of". So if I can anticipate a feature requirement, I'll try to make sure it can be accommodated with the existing design. That said, I'm very open to different suggestions, that's why I only did a draft.

on the auditing part, the issue is in this design we're actually loading objects and creating instances no matter what the result of the audit is. We probably shouldn't be doing that. Let me think more about it.

I guess it's half true, we audit each node and load it if auditing is successful. We do not load any node that fails the audit. However, we do not check each node first and only then start loading then, so it could happen that we load 99% of an object and fail on the last 1%.
Probably, if we don't want to do two passes through the tree, this cannot be avoided. If we decide to do two passes, we have to be extra careful that the traversing logic is 100% identical.

Closing in favor of #204


its not dooting the thing

Action performed:
!tapir
Expected action:

Platform:
Tapir bots discord server

Good point


Update git 2.7.1

Sorry for not looking into this sooner - merged #76 and release 2.8.0 with git 2.7.3.


Select log version 0.4

0.* is essentially the same as * since 0.1, 0.2, etc. do not have to have a compatible API. Every other crate using logging depends on 0.4. Do the same here for consistency.
Using 0.* is also incompatible with -Z minimal-versions because it selects 0.1 which does not compile with any post 1.0 rust compiler.

Thanks!