Add benchmarks

Measure microbenchmarks across various libraries and create throughput and latency graphs for comparisons. The logic of the benchmark program will roughly follow xxHash's C implementation by Yann Collet.

The implementation of this feature has been done in version 5.0.0.


⚠ Bofrost.fr has degraded performance

In d6fedd5, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1386 ms

Resolved: Bofrost.fr performance has improved in e2625ef after 9 minutes.


Need to provide image's size controlling function.

I think there should be a way to control how an image fit in the editor. For now, if the image is too large, it will go out of the editor.

Why not just control this with CSS?


Project.GetItemProvenance(ProjectItem) does not return Operation.Update results

Have a project file with:
<Compile Include="**\*.cs" />
<Compile Update="foo.cs">
  <Visible>false</Visible>
</Compile>

GetItemProvenance returns the following:
var item = project.GetItemsByEvaluatedInclude("foo.cs").First(); // Has DirectMetadata of "Visible=false"
var provenance1 = project.GetItemProvenance(item); // Contains only Glob entry
var provenance2 = project.GetItemProvenance("foo.cs", "Compile") // Contains both Glob and Update
bool provenance1.Count == provenance2.Count // false!

I would expect those two results to be the same.

The Project.GetItemProvenance(ProjectItem item) overload only looks from its location (the ProjectItemElement that produced the ProjectItem) upwards. Project.GetItemProvenance(string item, string itemType) looks over all.
That's why provenance1 does not include the update but provenance2 does.
This behaviour is as defined in #732. Would you want to change the behaviour of the ProjectItem overload?

Flow sensitive behavior is fine, but I would think the Update tag would be included in that flow since it does affect the production of the ProjectItem. Is it possible to change the behavior to include the Update tag?

So basically make it flow insensitive, with GetItemProvenance(item) just calling into GetItemProvenance(item.EvaluatedInclude, item.ItemType)?

After an offline discussion we decided to change the Project.GetItemProvenance(ProjectItem) overload to only collect project item elements that would affect that project item.


Deprecate -c cli short variant flag in docker run

-c seems like a --config opt
I think this short opt should be deprecated in favor of just its long variant.
Signed-off-by: Antonio Murdaca<EMAIL_ADDRESS>

A bit hesitant if we should deprecate -m; we advise people to set a memory limit on their containers (which would make it a "frequently used option")

@thaJeztah I was not thrilled for -m as well. I can remove it if it feels wrong depreciating it

LGTM

LGTM

This change is pretty bad for swarm, for 2 reasons:

It was nice and simple to be able to do -c and -m
We were using -c as "number of cpus" now we have to use --cpu-shares, it doesn't really makes sense anymore...

Agreed with @vieux, we just stumbled upon this issue.
Using --cpu-shares to specify a fixed numbers of CPU does not really makes sense on our side and feels inconsistent. The reason we use -c to specify a fixed number of CPUs is for the scheduler to find a machine with a chunk of resource available, using plain cpu-shares for that is not possible. See this comment for more details.
Again, it's not a deal breaker, but it will feel really inconsistent on our side now :confused:

I don't know, in docker it really doesn't mean numbers of cpus so it's not related to having pretty -m and -c. -c seems really related to some config option to me.
I guess I can revert this patch if others agree this change isn't ok for swarm


Teach ComparerEngine to not choke on native binaries

Fix #47
Some additional proposals have been added. Feel free to tell me if you'd prefer me to drop them. I'll be happy to comply :wink:

Still a WIP. I'll work on the fix per se tomorrow

@andreasohlund @SimonCropp No longer a WIP, ready for review.

A different approach would be to actually move this IsManagedAssembly() call in NuGetDownloader.DownloadAndExtractVersion(). Would you prefer this one?

Since we also support , use the .exe, comparing local files as well I think the current solution is the best one

@andreasohlund Duh. I didn't notice your comment earlier and just pushed a fixup to showcase the alternative approach. Still preferring the first one?

I'm going to rollback the fixup as indeed this wouldn't help wouldn't we rely on the NuGetDownloader types. BTW, why do we have two of them?

Yea, I prefer the first version
Regarding the duplication, I think they will diverge soon so we kept them separate for now
Copy paste reuse ftw!;)

On 05 Sep 2015, at 14:43, nulltoken<EMAIL_ADDRESS>wrote:
I'm going to rollback the fixup as indeed this wouldn't help wouldn't we rely on the NuGetDownloader types. BTW, why do we have two of them?
—
Reply to this email directly or view it on GitHub.


I'm looking forward your implementation code soon

I really want to see your hyperparameter on callbacks, layers

Hi, it will have to wait until our paper is accepted.


docs(setup): moves type=distributed command to step 1 to make it hard…

…er to miss

#797 A (somewhat) oldie. Decided your suggestion couldn't hurt :)


Issue #348

That's been fun rebasing... So, if someone cares to complain, it'd be appreciated if it happens ... soon ;)
Big thanks to @palmanojkumar & @lorban for their participation in this

Added fix from @lorban comments, plus actually made Ehcache's now re-init() 'able, not removing Store instances from the Map until they are actually GC'ed

always run tests... however small the change!


Rename "sumneko_lua" to "lua_ls"

as per https://github.com/neovim/nvim-lspconfig/pull/2439

This looks great! Thank you for the changes!


parallel interactive session

is it possible to either attach lymp to a running ipython process or to spawn an ipython process from lymp such that i can interact with it in another shell?

i tried the following: start an ipython kernel with jupyter console then from within lymp, try to initialize with "ipython console --existing /Users/nbecker/Library/Jupyter/runtime/kernel-61547.json". however, this did not work as expected

I there,
I will look into it, it would be great to be able to interact with ipython, thanks for suggesting. I will let you know how it goes.

Could one get the parallel processes by changing the python 'return' statements to 'yield' statements?

Hi @LucasMembrane. You could write a small wrapper around it I guess, do you have a specific use case in mind ?

I've just first looked at this, and it appears that lymp facilitates calling python from ocaml  much easier than any way of calling ocaml from python, which is what I have thought would be a good way to go for GUI apps, web apps, etc, with the UI in python and the hard-core algorithms in OCaml.  It is possible to invert control through an A calls B type interface so that B is actually in control, where each call from A asks for the next command from B.  Having python yield a series of commands (perhaps from within a loop) might make that even a little more attractive.

There would be ugly ways to do it using lymp, but I don't think this package would be appropriate for what you have in mind I'm afraid. One ugly way I can think of : you could launch a Python process from OCaml (Lymp.init), and call some Python function that would start your application in a separate thread, doing your actual business. Then OCaml would ask Python for some work to do, and the Python process would only return when there is something to do. It might look something like (kind of pseudocode) :
open Lymp

let ml_sum = (+)

let () =
  let interpreter = "python3"
  let py = init ~exec:interpreter "."
  let py_to_ml = get_module py "py_to_ml"
  call py_to_ml "init" [] ;
  while true do
    let instruction = get_list py_to_ml "what_to_do" [] in
    let instruction_name = List.nth instruction 0 in
    match instruction_name with
    | Pystr "ml_sum" -> (
      let arg1 = match (List.nth instruction 1) with | Pyint i -> i | _ -> 0
      let arg2 = match (List.nth instruction 2) with | Pyint i -> i | _ -> 0
      call py_to_ml "here_is_the_result" [Pyint (ml_sum arg1 arg2)]
    )
  done

py_to_ml.py
ml_mutex = None
to_send_to_ml = None
res_from_ml = None

def init():
  # launch application in separate thread
  # lock ml_mutex
  return

def what_to_do():
  # wait for mutex to be unlocked and take the lock
  return to_send_to_ml

def here_is_the_result(*res)
  res_from_ml = res
  # unlock ml_mutex
  return

def call_ml_function(function_name, args)
  to_send_to_ml = [function_name] + args
  # unlock ml_mutex
  # wait for mutex to be unlocked and take the lock
  return res_from_ml

There you go, you can now call call_ml_function like so from your Python application : call_ml_function("ml_sum", [20, 22]), and receive [42] back :)
I would advice against doing something like that in a production environment though.


Enable iter8 k log for CronJob based experiments

Is your feature request related to a problem? Please describe.
We have intoduced use of CronJob as well as Job for experiments. iter8 k log needs to be enhanced.

recommending use of kubectl logs instead of iter8 k log


Re-arrange flex.rs file to match format of other widgets

For what it's worth I did strict cut-and paste, there really shouldn't be behavior changes.


shorting by date is on category page not working

Hi All
I am facing one issue as below
if you go on the second page of category then article or post doesn't short by the date it gives the random post on the second page.
I have already tried this configuration  in my config file
pagination:
enabled: true
per_page: 12
limit: 0
sort_field: 'date'
trail:
before: 5
after: 5
Help me how to fix this

Hi @damieng
Thank you for the reply.
I have configured my configuration as per your suggestion but still, I am getting the same issue
Here is my repo URL
https://github.com/KirtiVasani/pagination2_sortbydate.git


Rename content/github/getting-started-with-github/access-permissions-…

…on-github.md to contenu/github/commencer-avec-github/access-permissions-on-github.md
Continuenature.org.

Why:

What's being changed:

Check off the following:

[x] I have reviewed my changes in staging. (look for the deploy-to-heroku link in your pull request, then click View deployment)
[x] For content changes, I have reviewed the localization checklist
[x] For content changes, I have reviewed the Content style guide for GitHub Docs.

Platform Enterprise Contributing.


Error while saving files and tab size

Hey there! Thanks for a great project.
I just pulled down the latest from here (was about 15 commits behind) and saw the specific instructions for installing neovim, python, and neovim pip. After executing all of them and updating, I'm now not seeing the deocomplete warning I was (yay! still don't see deocomplete thought), but am seeing these errors when I try to save any file type:

I've also noticed in .js files that the tab size is defaulting to 8 characters wide, although I am specifically setting it to expandtab and tabstop=2 in my vimrc.local. Thanks for any help you can offer with both of these questions!

Disregard. I reran the install script (after moving my previous installation of vimrc.js to another folder), sourced the new vimrc file and all of the problems have been resolved. Thanks for the great project!


[Bug] subscriptions -> group An error occurred

hey @baigod!
Thank you for the reported issue. Could you please attach the stack trace from the logs?


PandA string PV cannot be set to PosixPath object, results in p4p error - maybe should handle at signal level?

File ~/.ipython/profile_collection_tst/venv/lib64/python3.11/site-packages/p4p/client/asyncio.py:236, in Context._put_one(self=<p4p.client.asyncio.Context object>, name='XF:31ID1-ES{PANDA:1}:DATA:HDF_DIRECTORY', value={'value': PosixPath('/nsls2/data/tst/legacy/mock-proposals/2024-
2/pass-56789/assets')}, request='field()record[block=true,process=passive]', get=True)
    234 _log.debug('put %s <- %r request=%s', name, value, request)
    235 try:
--> 236     value = await F
        F = <Future finished exception=TypeError("Can't assign string (scalar) field with PosixPath")>
        value = {'value': PosixPath('/nsls2/data/tst/legacy/mock-proposals/2024-2/pass-56789/assets')}
    237 finally:
    238     op.close()

File ~/.ipython/profile_collection_tst/venv/lib64/python3.11/site-packages/p4p/client/raw.py:78, in defaultBuilder.<locals>.builder(V=Value(id:epics:nt/NTScalar:1.0, ''))
     76 elif isinstance(value, dict):
     77     for k, v in value.items():
---> 78         V[k] = v
        V = Value(id:epics:nt/NTScalar:1.0, '')
        k = 'value'
        v = PosixPath('/nsls2/data/tst/legacy/mock-proposals/2024-2/pass-56789/assets')
     79 else:
     80     nt.assign(V, value)

File src/p4p/_p4p.pyx:192, in p4p._p4p._Value.__setitem__()

TypeError: Can't assign string (scalar) field with PosixPath

In [5]: exit

I beleive that this used to work, but it is possible that I am mistaken. I was able to fix by simply casting the info.directory_path generated by my PathProvider from the PosixPath to a string, but should we allow for automatically handling this at the signal level?

I don't think it did, I think we had the str conversion in there before. I think also that to be type hint friendly we should be doing the conversion before passing to set, so your fix is the right thing. I'm inclined to say that we should leave the signal level code as it is.


Make changes to refine mmsegmentation OTE sample

Try to make it compatible w.r.t. mmdetection OTE sample

2 @evgeny-izutov : FYI

2 @evgeny-izutov : Evgeny, I created this PR to make the sample mmseg/apis/ote/sample/sample.py correspond to the OTE sample in mmdetection, since the sample in mmdetection (most probably) contains all the latest changes that are required (I think so).


No Favorites To Show , then Display Message

Fixes #643
Describe the changes you have made in this pr -
I have added a Message , so whenever there are no favorite/starred circuit by any user then it will display a message .
Screenshots of the changes (If any) -

Coverage remained the same at 83.902% when pulling d95b20f6cff1c72befcc24f4196c27bac70caf41 on Shivansh2407:patch-6 into f57aacd1851263d29ec1a22198c33598c0c37bf8 on CircuitVerse:master.

Will Squash the Commits Soon Once approved . Please Review the changes @satu0king

@tachyons please review and merge. 👍

@Shivansh2407 Do the changes requested by @tachyons

Center the text, because the page seems to be empty

Done 👍

@tachyons Please review and Merge.

Styles in CSS please

@tachyons I have Squashed and Commited the requested Changes. Please Review it.

@tachyons Please review and merge this PR 👍

Thank you @tachyons 🎉 👍


rtio: Fix ifdef for native targets

Z_SPIN_DELAY already behaves differently in POSIX arch based targets and real targets there is no need to ifdef around it.

Note it is likely to fail due to https://github.com/zephyrproject-rtos/zephyr/issues/76909 until  https://github.com/zephyrproject-rtos/zephyr/pull/76922 is merged


Compare JS SDK for compute TypeSpec migration

We are working on the compute TypeSpec migration.
Would like JS to verify the SDK generation of the corresponding swagger of the converted TypeSpec.
We have split compute into multiple sub services and done the conversion for each of them.
For instance, Compute sub-service:

https://github.com/Azure/azure-rest-api-specs/blob/feature/cplat-typespecTest/specification/compute/Compute.Management/readme.md is the readme containing input files of original swaggers.
https://github.com/Azure/azure-rest-api-specs/blob/feature/cplat-typespecTest/specification/compute/Compute.Management contains the converted TypeSpec, we need to compile them firstly to get the corresponding swgger then generate SDK
Get diff from the generated SDK from original swagger and new swagger

we will have internal investigation first.

@kazrael2119 could you help do the following steps and provide the commit id between step 2 and step 4? we want to verify the converted typespec works, thanks

remove those swaggers that don't have corresponding spec.
regen the modified swaggers with our latest codegen in sdk repo, then commit it
generate the generated swagger from the typespec compile in the spec repo.
regen the generated swagger with our latest codegen in sdk repo, then commit it.


Adds functionality to copy table column headers

This PR fixes #2119
The PR adds functionality to copy all column headers as a comma separated list.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 11 (18.18%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.002%) to 42.071%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/sql/workbench/contrib/query/browser/gridPanel.ts
0
1
0.0%

src/sql/workbench/contrib/query/browser/actions.ts
2
10
20.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.002%

Covered Lines:
28594

Relevant Lines:
63131

💛  - Coveralls


Evaluation errors from if statements

Nuget Package
JsonSchema.Net
Package Version
5.2.2
What's your question?
I'm wondering if it was intended to consider if condition that are not met as errors but instance is still considered as valid.
As we retrieve all errors from EvaluationResults it leads to misleading messages as instead of one error from property we are getting errors from property and all preceding statements.
Is there any way to exclude these errors from EvaluationResults?
Example:
Schema:
{
  "type": "object",
  "properties": {
    "Foo": {
      "type": "string"
    }
  },
  "if": {"properties": {"Foo": {"const": "0"}}},
  "else": {
      "type": "object",
      "properties": {
        "Bar": {
          "type": "string",
          "maxLength": 1
        }
      },
      "required": ["Bar"]
  },
  "required": ["Foo"]
}

Instance:
{
  "Foo": "1",
  "Bar": "1"
}

Evaluation result:
{
  "valid": true,
  "details": [
   ...
    {
      "valid": false,
      "evaluationPath": "/if/properties/Foo",
      "schemaLocation": "https://json-everything.net/b58a2924bb#/if/properties/Foo",
      "instanceLocation": "/Foo",
      "errors": {
        "const": "Expected \"\\\"0\\\"\""
      }
    },
    ...
  ]
}

Is there any other information you'd like to share regarding this bug?
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

This is indeed intended behavior. Including these results is important for identifying why evaluation went into the else.
If you want to exclude them, filtering out errors which have if in the evaluationPath property would be a pretty basic approach.


csi snapshot

What this PR does / why we need it:
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Csi snapshot
Special notes for your reviewer:
Release note:

Please add unit tests.


docs: correct version support badge

You could switch to the standard badge, it's shorter by a bit with 2.7 gone. ( will look more like ) when the next release happens. Then you don't have to maintain this.

Sorry that I missed this earlier!
I noticed that the Awkward badge was out of date and wanted to make both of these be "3.6‒3.10" (3.6 is included and I prefer a range over enumeration, especially now that it's contiguous). That badge update is in #534, along with actually testing 3.10. Awkward Array with Python 3.10 might have to compile from source; that might fail, but Awkward 1.8.0 is due, so I should be putting that in PyPI pretty soon. #534 can wait for that if necessary.


Daily & Cumulative chart - Statewise

Is your feature request related to a problem? Please describe.
Daily & Cumulative chart - Statewise
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Duplicate of #219


Database secrets exposed in plaintext

Hi, we are deploying Mage to production (AWS) using terraform scripts. The database connection string is exported as an environment variable. This exposes the connection string, which includes the username & password, in the task definition and in the terraform state files in plaintext.
We have already implemented a more secure way than the recommended plain text variable in Terraform, by using AWS Secrets Manager to store a Terraform-generated random password. But since the environment variable needs to be exported through the TD, this random password is still exposed in the TD and the state.
Is there a feature instead for Mage to read and decode the credentials directly from a given AWS Secrets Manager Secret ARN?
Thanks

Hi! Any progress on this? Thanks

Looks like the PR need to only check for Secrets Manager if DB_USER is not set. Also need to use the AWS SDK to read this + update the documentation.

@dumim FYI, this feature is available in 0.9.20. Doc: https://docs.mage.ai/production/databases/default#get-credentials-from-aws-secret-manager

Thanks @dy46  and @wangxiaoyou1993 I will confirm soon as this is tested in production

Can confirm this is working. For anyone else looking for the terraform implementation:

random_password to generate the password
Use this for the aws_db_instance password and for in the aws_secretsmanager_secret json
Expose the secret's arn to the env vars in the task defnition

Thanks @dy46 @wangxiaoyou1993