Why all files are deleted from model checkpoint directory when save_top_k=1?

checkpoint_callback = ModelCheckpoint(
        monitor="val_loss",
        dirpath=hparams.model_checkpoint.dir,
        filename=hparams.model.name+"_"+hparams.data.name+"_{epoch:02d}",
        save_top_k=1,
        mode="min"
    )
#UserWarning: Checkpoint directory With save_top_k=1, all files in this directory will be deleted when a checkpoint is saved!

Shouldn't it delete only the latest checkpoints of the same name?
Or should I have a directory for each model I train?

It won't delete any existing file if it's not created by the ModelCheckpoint instance passed in the Trainer. This warning seems redundant. Mind send a PR to remove this warning in ModelCheckpoint??

Yes, this warning is not correct. We can keep it and just warn the user that the directory is not empty.

Hi, I noticed that if we resume the training, no file will be deleted if we have more than k checkpoints. For example, set save_top_k=3, then train for a few epochs, we get 3 saved checkpoints. Then we interrupt the code, and resume from last saved checkpoint. After training, we can have more than 3 saved checkpoints.

yeah.... that's a bug. I also noticed it a day before.

so the fix for the warning is an easy one, who wants to send it? 😃
the second observation about resuming is simply because the model checkpoint does not save the top-k dict into it's state_dict when saving the checkpoint. When the state gets loaded, the dict is empty.
We can save it as part of the state, but then we have to deal with the special cases when the user overrides things, like the checkpoint location or the save_top_k (lower value or higher value), in order to keep it well-defined. So let's discuss it first?

good points here by @awaelchli

like the checkpoint location or the save_top_k (lower value or higher value), in order to keep it well-defined.

I believe for dirpath if it's changed then clear that dict. To get the old dirpath, we can either save that too or just extract it from the filenames present in the dict. For save_top_k, it's pretty easy, if it's less, just keep the top k(new value) otherwise keep it as it is. Any other edge cases??

We can save it as part of the state, but then we have to deal with the special cases when the user overrides things, like the checkpoint location or the save_top_k (lower value or higher value), in order to keep it well-defined. So let's discuss it first?

We have a similar discussion about this at https://github.com/PyTorchLightning/pytorch-lightning/issues/4911

cool, let's discuss it there.


Use correct homebrew path on ARM macs

Homebrew installs packages to a different directory on Apple Silicon Macs, so this template was not working out of the box due to the incorrect path for zld. I've made the appropriate fix in .cargo/config.toml

Thanks!


Allow installation with league/flysystem 3.x

There seem to be no breaking changes between 2.x and 3.x for this use case (they claim there's only BC for Adapter implementations).

Since V2, V3 has been released which is backwards compatible from a consumption point of view, but it has a BC break for custom adapter implementations.

See: https://flysystem.thephpleague.com/docs/what-is-new/
Tested it on my own site, works fine with league/flysystem 3.15.1 and league/flysystem-aws-s3-v3 3.15.0.

It seems I missed this backward compatibility point when I was reading what was new in V3. Thanks for testing!


Fix scipy again

Issue #, if available: #421
Description of changes: Scipy minimize expects 1d inputs, and we were passing 2d for some unclear reason. Best part is that we were doing it intentionally, for no other reason, so the fix is just to remove a few symbols. Nice!
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #433 (4288b38) into main (7218ac9) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #433   +/-   ##
=======================================
  Coverage   89.15%   89.15%
=======================================
  Files         136      136
  Lines        4703     4703
  Branches      681      681
=======================================
  Hits         4193     4193
  Misses        393      393
  Partials      117      117

Impacted Files
Coverage Δ

...sian_optimization/local_penalization_calculator.py
86.66% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Nice, thanks! So weird, the bug seems to have been there since the begging.

There is a warning about it in scipy that promises "i'll turn into an error after 1.11.0, fix me!". Well, 8 releases later it finally delivered on that promise. Could be that we ignored it all that time


run sagas on app start

Hi all,
i'm building my first react-boilerplate app, and i need to retrieve data from an api on app start.
I've searched issues and all, but what i'm finding looks old, the file references in the explanations doesn't match the actual react-boilerplate structure.
Is there a "right way" to do it?
Right now i've tried to re-generate the App container (using the generate command), and got the application wide reducer and saga working, but the api it's not running on app start.
I didn't change any other file and if i fire the actions connected to the saga via a button or similar, all run smoothly.

You can use componentDidMount to call your action creator (which in turns triggers your saga to fetch your data).
componentDidMount() {
  fetchData();
}

fetchData is an action creator in this example. Of course, you would need to implement some kind of logic to prevent fetchData from being called everytime componentDidMount gets called like verifying your current state to see if the data has already been fetched (see Components Lifecycles).
Also, this is not an issue and you should refer to StackOverflow for any questions not related to the boilerplate 😀

network io should be handled in state layer, not view
redux-saga should be used to isolate these side effects
you have 2 options -

use our higher order component run saga and "bind" watchers to component lifecycle - see https://github.com/react-boilerplate/react-boilerplate/blob/master/app/containers/HomePage/index.js#L127 and https://github.com/react-boilerplate/react-boilerplate/blob/master/app/utils/sagaInjectors.js for more info

use redux-saga middleware directly...

// action creator
const fetchData = dispatch => () => dispatch({
  type: API_REQUEST,
  payload: { /* etc */ }
})

// saga
function * fetchSaga {
  const {payload} = yield takeLatest('API_REQUEST')
  // make request, then use dispatch action to be used in reducer to update state
  // using `put` effect
}

class DataStuff extends React.Component {
  componentDidMount () {
    this.saga = this.context.store.runSaga(fetchData) // not recommended, but possible
  }
  render () {
    return this.props.loading
      ? <Loading />
      : <div>{this.props.data}</div>
  }
}

export default connect({ data }, { fetchData })(DataStuff)

closing since this is not related to RBP, but please feel free to continue the discussion!


Does --interleaved need to support mixed input?

Hi @luispedro. I was just looking into #273, which is about the --interleaved option. It currently allows mixing single ends with paired ends. One issue with the current implementation is that the reads are reordered in the output (within each chunk, pairs come first, then singles), which is a bit unexpected from a user’s point of view. It’s also a bit unexpected that --interleaved allows this mixing at all. While I was planning how to fix the reordering and how to better explain how --interleaved works, I started wondering whether this type of mixed input is actually something that should be supported.
 Because the easiest fix would be to have --interleaved mean only what it says and just disallow mixed inputs.
cf #213

For my intention of using this as a replacement for bwa mem in NGLess, we do need the mixed-format.
It is very common that real datasets are in this format (often because they start out as paired-end and, due to QC, some sequences lose their mate). Technically, the main advantage is that we can then stream the reads as a pipe and, otherwise, we need to create the files on disk.
I would strongly prefer to keep compatibility with bwa mem -p as much as possible. I can check how it handles the /1-/2 suffixes.

I would strongly prefer to keep compatibility with bwa mem -p as much as possible.

Absolutely. If this is something that you rely on in practice, then of course this behavior should be kept. We do need to document it a bit better, though.


how can i generate libOpenCL.so

some runtime func need load like
extern CL_RUNTIME_EXPORT cl_int (CL_API_CALLclGetPlatformIDs)(cl_uint, cl_platform_id, cl_uint*);
extern CL_RUNTIME_EXPORT cl_int (CL_API_CALLclGetPlatformInfo)(cl_platform_id, cl_platform_info, size_t, void, size_t*);
extern CL_RUNTIME_EXPORT cl_int (CL_API_CALLclGetProgramBuildInfo)(cl_program, cl_device_id, cl_program_build_info, size_t, void, size_t*);
extern CL_RUNTIME_EXPORT cl_int (CL_API_CALLclGetProgramInfo)(cl_program, cl_program_info, size_t, void, size_t*);
extern CL_RUNTIME_EXPORT cl_int (CL_API_CALLclGetSamplerInfo)(cl_sampler, cl_sampler_info, size_t, void, size_t*);
extern CL_RUNTIME_EXPORT cl_int (CL_API_CALLclGetSupportedImageFormats)(cl_context, cl_mem_flags, cl_mem_object_type, cl_uint, cl_image_format, cl_uint*);
extern CL_RUNTIME_EXPORT cl_program (CL_API_CALLclLinkProgram)(cl_context, cl_uint, const cl_device_id, const char*, cl_uint, const cl_program*, void (CL_CALLBACK*) (cl_program, void*), void*, cl_int*);
extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL*clReleaseCommandQueue)(cl_command_queue);

Hello, if you want to build a libOpenCL.so you can do so from either the Khronos OpenCL-ICD-Loader repo or the ocl-icd repo.
The OpenCL SDK demonstrates how to use the OpenCL-Headers and OpenCL-ICD-Loader together to build OpenCL applications.
Note that many Linux distributions provide packages with libOpenCL.so if you don't want to build it yourself.


[Swift] Rewrite the SIMD vector formatter.

The representation changed.
rdar://problem/46330565

@stephentyrone I'm adding tests for the new representation/testing/cleaning maybe this up a bit, but I would appreciate if you can give an early look so there's some chance we're going to merge this today.

This all looks reasonable to me.

I addressed all the comments.

@swift-ci test and merge

lgtm


no-member bug possibly due to incompatibility with Pydantic BaseModel

Python plugin v2022.18.2

As subject suggests, there's no other obvious reason this linting error would be messed up so badly, it's a real simple class and use case..
In case you miss the issue at a glance, the error mistakenly applies a class (it's own class) to the property, when the property has a different type hint class than pylint is reporting

We just display what Pylint tells us to display, so I believe this is a bug with Pylint unless you get different results when you run it manually with Pylint in the terminal and we are somehow parsing the results incorrectly. Your best option to see this fixed is to file a bug with https://github.com/PyCQA/pylint or turn off the specific linter rule.


fix #8, fancy escape information printing

Looks like this:
julia> @analyze_escapes sin(10)
typeof(sin)(_2::Int64 ⮬, _3::Float64 ▲)
1 ➥ 1 ─ %1 = Base.sitofp(Float64, _2)::Float64
2 ◌ └──      goto #3 if not false
3 ◌ 2 ─      nothing::Nothing
4 ⮬ 3 ┄ %4 = invoke Base.Math.sin(%1::Float64)::Float64
5 ◌ └──      return %4

Hmm, some fonts don't support these characters ? Probably we want more simpler arrows like ↖ for ReturnEscape.

Maybe instead of using one character, directly using abbreviations like NE, ES, RE, NI

I'd like to stick with arrows.


Workspace folder names are evaluated as regular expressions

Environment data

Language Server version: v2024.3.1
OS and version: Windows 10
Python version (& distribution if applicable, e.g. Anaconda): Python 3.9.2

Code Snippet

example.code-workspace
{
    "folders": [
        {
            "name": "[ --- Hello World ---- ]",
            "path": "."
        }
    ]
}

Repro Steps

Create a VS Code workspace with the settings above.

Open a python file in the workspace to make sure Pylance extension initialize. Then check the Python Language Server output logs.

Expected behavior
No errors
Actual behavior
All settings are not properly read, and e.g. python.analysis.extraPaths might not be resolved (sometimes they still get resolved, and sometimes not).
Logs

2024-03-15 10:37:53.582 [info] [Error - 10:37:53 AM] (3596) Error reading settings: SyntaxError: Invalid regular expression: /\$\{workspaceFolder:[ --- Hello World ---- ]\}/g: Range out of order in character class

expand var seems not escaping user provided string.

I have recently encountered this issue on two separate computers, starting sometime in late March. Thus, it is likely that this issue is caused by a relatively recent update.

Thank you for the report! Given our current limited resources, it's unlikely we will be able to fix this issue in the near future. We're closing it so we can focus on higher priority issues. However, if this is a critical issue for you let us know and we can reevaluate. Thanks!


discover should not consume first element from chunks

How do I check what version of toolz this ran with, looks like it couldn't get the peek func

why does the conda output look so horrible?

no idea, does it not normally look like that?

no it usually is newline delimited

Any ideas on this, can't repro

Looks like the newest version of toolz doesn't have 2.6 or 3.3 conda packages (https://github.com/pytoolz/toolz/issues/269)

cc @ilanschnell .  Is there a reason why we would have built recent packages for toolz on 2.7 and 3.4 but not 2.6 and 3.3?

Yes.  Because we stopped supporting Python 2.6 and 3.3.  This means we are not building new (or updating old) Python packages ones against Python 2.6 and 3.3, unless requested by a customer.

Hrm, can I request continued Python 2.6 and 3.3 builds for toolz?  The library is simple enough that it should hopefully not be an extra burden.  Alternatively would toolz be appropriate for a noarch build?

Why does odo still care about Python 2.6 and 3.3?

Presumably people are still on 2.6.  I don't have a good view into this though.
Note that toolz is depended upon far more widely than odo.  Even if odo doesn't add pressure for 2.6 there might be sufficient pressure from external projects.


Performance of clock emulation RISC-V

the not so fast benchmarks of the risc-v model are mostly due to the slowness of clocks:
$ risc-v qsort.riscv
tohost located at 0x800001d0
entrypoint 0x80000000
mcycle = 1038449
minstret = 103844959
SUCCESS
Instructions: 185796241
Total time (s): 7.157093
Perf: 25959.735294 Kips

$ risc-v qsort.riscv --instructions-per-tick 0
tohost located at 0x800001d0
entrypoint 0x80000000
minstret = 103844959
SUCCESS
Instructions: 185795741
Total time (s): 2.192223
Perf: 84752.205817 Kips

for towers it's worse: 54.230680s vs 5.018572s


Trying to gain access to doctrine.readthedocs.io

Details

Read the Docs project URL: https://doctrine.readthedocs.io/
Build URL (if applicable):
Read the Docs username (if applicable): jwage

Hi, I am with the Doctrine project (https://github.com/doctrine), we recently changed the way our website and documentation works and I am trying to regain access to doctrine.readthedocs.io.
I am pretty sure I am the one that set it up, but it has been several years and I can't figure out how to get access in order to shut it down. What can I do?
Thanks, Jon

If I look at the project page, it appears to be setup by somebody else. Do you know this person? If so, you can contact them and ask them to add you as a co-maintainer or delete the project or whatever. If not, I can contact them and point them to this ticket.
In general, we follow the process in our docs for abandoned projects

Hmm, I do not know that person and they aren't affiliated with Doctrine. It looks like they set it up recently. I guess there is nothing stopping someone from setting this up and using our documentation source. But the problem is, people are searching in Google and ending up there instead of on our website domain where we have the same documentation and we're trying to improve our SEO so developers can find what they are looking for.

I contacted the user and requested that they either grant you access or delete the project.

@davidfischer Would a "remindme" bot help you come back to this easier in six weeks?

I suppose it would

That sounds like a design decision that should involve more than just myself. I'll ask the team about their thoughts.

Hi @jwage, long time follower.

Hmm, I do not know that person and they aren't affiliated with Doctrine.

Yup, that's true.

It looks like they set it up recently.

I set this up in 2012.
I set it up after the Doctrine 1.2 documentation was completely removed from the website after the launch of 2.0, when plenty of people were still stuck on Symfony 1.4 without an upgrade path. In order to set it up, I had to convert the entire 1.2 documentation to restructured text.
My work was later merged back in under the @doctrine org on Github (see https://github.com/doctrine/doctrine1-documentation/commits/master?after=abcba0f9087dc7d4e3c4a01029db1226762a28c0+69)

I guess there is nothing stopping someone from setting this up and using our documentation source.

I wasn't intending to squat on the name; at the time, 2.x was still going by doctrine2 (a la symfony2), and you can see the project name of this on RTD is doctrine1.

on our website domain where we have the same documentation

Yep, now. After I set this up. Like I said, at the time, the Doctrine 1.2 documentation was abandoned (kinda fair enough given how much trouble it was to convert to rST) and not served anywhere.

we're trying to improve our SEO so developers can find what they are looking for

Happy to help. Adding you as an admin now (after which I'm happy if I'm removed as an admin - but it looks like you'll have to do that @jwage). I'd just ask that the 1.2 documentation remain accessible somewhere.

Hi @dominics, no problem. I am happy you kept the doctrine1 docs going when we did not. Thank you!
I have the doctrine1 docs rendering now on the new website and I will continue to maintain it there. https://www.doctrine-project.org/projects/doctrine1/en/latest/index.html
Thanks for your help!

@jwage can we close this, then?

Yes. Thanks!


Add new issue templates

Added issue templates for:

reporting bugs
adding new components or patterns

I think it should be .github/ISSUE_TEMPLATE directory, not .github/workflows/ISSUE_TEMPLATE

Sorted.


Implementing changes to current_datetime

I've changed the current_datetime component to behave the way you suggested in https://github.com/lumeland/cms/issues/22#issuecomment-2344510227:

The previous value is shown below the input (the wording is terrible, I'm a backend dev what can I say?)
The value is updated automatically (each second) to reflect the current datetime
The value stops updating once the field gets "dirty" (the user updates it manually)

Additionally, I've added a new component, readonly_current_datetime, that behaves how I personally think it should:

The field is readonly to let the user know they are not supposed to change it in any way
The value corresponds to the last time the collection was modified
The value is updated just before the form is sent, so it changes locally for the user (they can see the collection was updated "just now") and the new value is sent with the form so the database value changes as well

Honestly, the name "readonly_current_datetime" seems terrible to me. I'm thinking "updated_datedate" or "updated_at_datetime" would be better, since this is a pretty opinionated field and the name reflects that. Wdyt?

Thanks Raúl.
I don't want to have two fields for the same purpose, so let's see how we can merge this.
Btw, In my computer the "clock" effect doesn't work (the value is not updated, I don't know why). Anyway, what do you think about this proposal?

Show the previous value as you did in your proposal.
The readonly attribute should be optional. I'd like to allow to make changes without changing the update time.
Like in your proposal, change the input value on submit, but only if the input hasn't been edited previously by the user.

I feel like showing the previous value separate from the input, while the input is displaying the same value, may be redundant. I think I can show the previous value once the user manually updates it, let me see if I can do that

Right, this is what I got:
When you first load a form (already created), the field shows the previous updatedAt value:

If you, without changing anything, then save the form, the current date is saved as the updatedAt value, and the field changes to reflect that:

If you now change manually the value, a new label appears showing the previous field value:

If you now save the form, the manually inputted value is saved:

When creating a new document, the updatedAt value works as intended. The firstly shown value is the one when the form was created, but, if you take say 5 minutes to fill it, the datetime saved will be 5 minutes later. If, instead, you opt for editing the updatedAt value before creation (so, there's no "previous" value), no label will be appended with the "Was: " text.
I think this approach is both understandable and intuitive, and usable and flexible. The field basically works on autopilot, except when you want to override it. And, if the form designer were to forbid overriding it, it'd pretty easy adding a readonly when configuring the field. Wdyt?

It looks good to me. Only a couple of tweaks:

I think we can remove the "Was: ..." text if the input is modified. Fields can have user-defined descriptions that can conflict with this.
Instead of connectedCallback, use the init function that is executed on connected.

Thanks!

I just realized that I'm using kebab-case instead of snake_case for the other field components ("choose-list", "object-list", etc).
So, can you change the component name from current_datetime to current-datetime?

Done!

Thank you! 🙌


String prototype: Fix bug where we weren't clearing error value.

Many ICU functions check if their error pointer points to an error
value, and bail early if so. Thus, we need to clear the error value
when re-trying __swift_stdlib_unorm2_normalize. Test case added.

👍 Nice catch!


Changes to bodyfile file attribute flags support #19

Codecov Report

Merging #35 (7254e26) into main (a3562ae) will increase coverage by 0.64%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #35      +/-   ##
==========================================
+ Coverage   64.45%   65.09%   +0.64%
==========================================
  Files          10       10
  Lines         543      553      +10
==========================================
+ Hits          350      360      +10
  Misses        193      193

Impacted Files
Coverage Δ

dfimagetools/bodyfile.py
99.08% <100.00%> (+0.09%)
:arrow_up:

Continue to review full report at Codecov.

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


minimum_chrome_version' is only allowed for extensions, legacy packaged apps, hosted apps, packaged apps, and themes, but this is a shared module.

Hi,
I downloaded ARChon Custom Runtime 1.2 from given link and while I try to install I got two error.

'minimum_chrome_version' is only allowed for extensions, legacy packaged apps, hosted apps, packaged apps, and themes, but this is a shared module.

{
  "update_url": "http://localhost",
  "name": "ARChon Custom Runtime 1.2 - x86_64",
  "manifest_version": 2,
  "minimum_chrome_version": "32",
  "version": "38.4410.120.43",
  "default_locale": "en",
  "arc_build_tag": "arc-runtime-38.4410.120.43",
  "about_page": "NOTICE.html",
  "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwTjmSbBD9uFJEUR7jMYAL1sPXqCNe7ljIb6dheKIYjkNtLt1YuiAw4Pul/PO+aYtm8tsbFnsNZ73AxhMX9aPxuzwlAak/iN6atxv7h8mwOg6HiHdxTDnOPrCv7fEud5aUFaq7sqDhiqwMpJoIOa1w7c299z3oXIrG1FGEkid1IQIDAQAB",
  "export": {
    "resources": [
      "*"
    ]
  },
  "icons": {
    "16": "icon.png",
    "128": "icon.png"
  },
  "platforms": [
    {
      "nacl_arch": "x86-32",
      "sub_package_path": "_platform_specific/nacl_i686/"
    },
    {
      "nacl_arch": "x86-64",
      "sub_package_path": "_platform_specific/nacl_x86_64/"
    },
    {
      "nacl_arch": "arm",
      "sub_package_path": "_platform_specific/bare_metal_arm/"
    }
  ]
}

Unrecognized manifest key 'arc_build_tag'.

"manifest_version": 2,
  "minimum_chrome_version": "32",
  "version": "38.4410.120.43",
  "default_locale": "en",
  "arc_build_tag": "arc-runtime-38.4410.120.43",
  "about_page": "NOTICE.html",
  "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwTjmSbBD9uFJEUR7jMYAL1sPXqCNe7ljIb6dheKIYjkNtLt1YuiAw4Pul/PO+aYtm8tsbFnsNZ73AxhMX9aPxuzwlAak/iN6atxv7h8mwOg6HiHdxTDnOPrCv7fEud5aUFaq7sqDhiqwMpJoIOa1w7c299z3oXIrG1FGEkid1IQIDAQAB",
  "export": {
    "resources": [
      "*"
    ]
  },
  "icons": {
    "16": "icon.png",
    "128": "icon.png"
  },
  "platforms": [
    {
      "nacl_arch": "x86-32",
      "sub_package_path": "_platform_specific/nacl_i686/"
    },
    {
      "nacl_arch": "x86-64",
      "sub_package_path": "_platform_specific/nacl_x86_64/"
    },
    {
      "nacl_arch": "arm",
      "sub_package_path": "_platform_specific/bare_metal_arm/"
    }
  ]
}

Now what can I do for it?

Note: My Chrome Version is: Version 89.0.4389.82 (Official Build) (64-bit)

Thank you
Nazmul Hossain

Same issue faced but found solutionhttps://github.com/vladikoff/chromeos-apk/issues/255. After that I am unable to see icon of the app in chrome://apps. Please help me to launch the app
1.

I found a solution hope it's work. Open manifest.json and these line. Here version will be your chrome version.
"manifest_version": 2,
"version": "41.4410.238.0",
"default_locale": "en",
"about_page": "NOTICE.html",

Sorry for the previous comment. I didn't read well. Sorry.

You Just need to re-load this package then you will get it.

Thank you

Another word. This error wont effect on your app either. so don't worry!

got same issue here,
can not install the extension manually.

Like i already said this error won't affect in your installed app. You can now start use your emulator.
But there's an big issue is most of app not working with this emulator anymore. You had better you an emulator app.
Thanks

whenver I try to reload the package, the package vanishes from the extension list. What can be done?

whenver I try to reload the package, the package vanishes from the extension list. What can be done?

I'm having the exact same issue.

I have he same issue

Have you tried removing the "minimum_chrome_version" key from the manifest.json? Try to remove that and also the 'arc_build_tag' key

i got 2 errors "minimum_chrome_version" and "arc_build_tag"
removing
"minimum_chrome_version",
and
"arc_build_tag": "arc-runtime-41.4410.238.0",
from manifest.json worked for me


When ingesting data, ingest using chunks.

Make sure if there are to many vectors process can be restarted
Include progress monitoring

This is a good idea. Even without rate limiting, over capacity can cause an ingestion to fail part-way. You get charged for the ingestion up to that point, but you cannot resume it, you have to restart the entire thing.

hello there I am also getting the same error.
 # Split Into Chunks         text_splitter = CharacterTextSplitter(             separator="\n",             chunk_size = 600,             chunk_overlap = 200,             length_function = len,         )         chunks = text_splitter.split_text(text)
    I converted the Wikipedia page of Salman Khan to pdf and getting warning on warning saying
    Created a chunk of size 3417, which is longer than the specified 600

Why is this issue closed, I can not find a possible solution.


Add CI setup

this is for testing a ghprb bug (do not merge)

test this please

test this please

test this please

test this please


FEniCS 2017.2.0 imcomptible with SymPy 1.2

Issue:
Hi,
Fenics-JIT compiler is not compatible with latest version of SymPy. Could you fix the dependancies tree ?
https://www.allanswered.com/post/qwqwo/#rrxrr
Best regards,

Environment (conda list):
packages in environment at /home/myname/.conda/envs/FEniCS:

blas                      1.1                    openblas    conda-forge
boost                     1.66.0                   py27_1    conda-forge
boost-cpp                 1.66.0                        1    conda-forge
bzip2                     1.0.6                         1    conda-forge
ca-certificates           2018.4.16                     0    conda-forge
certifi                   2018.4.16                py27_0    conda-forge
cloog                     0.18.0                        0
cmake                     3.11.4                        0    conda-forge
curl                      7.60.0                        0    conda-forge
eigen                     3.3.3                         0    conda-forge
expat                     2.2.5                         0    conda-forge
fastcache                 1.0.2                    py27_0    conda-forge
fenics                    2017.2.0            np113py27_3    conda-forge
gcc                       4.8.5                         7
gmp                       6.1.2                         0    conda-forge
gmpy2                     2.0.8                    py27_1    conda-forge
hdf5                      1.10.1                        2    conda-forge
hypre                     2.11.2                        1    conda-forge
icu                       58.2                 hfc679d8_0    conda-forge
isl                       0.12.2                        0
krb5                      1.14.6                        0    conda-forge
libgcc                    5.2.0                         0
libgcc-ng                 7.2.0                hdf63c60_3    anaconda
libgfortran               3.0.0                         1
libgfortran-ng            7.2.0                hdf63c60_3    anaconda
libopenblas               0.2.20               h9ac9557_7    anaconda
libssh2                   1.8.0                         2    conda-forge
libstdcxx-ng              7.2.0                hdf63c60_3    anaconda
libuv                     1.20.3                        0    conda-forge
metis                     5.1.0                h470a237_3    conda-forge
mkl                       2017.0.3                      0
mpc                       1.1.0                         4    conda-forge
mpfr                      3.1.5                         0    conda-forge
mpi                       1.0                       mpich    conda-forge
mpich                     3.2.1                h26a2512_4    conda-forge
mpmath                    1.0.0                      py_0    conda-forge
mumps-mpi                 5.0.2           blas_openblas_0  [blas_openblas]  conda-forge
ncurses                   5.9                          10    conda-forge
numpy                     1.13.3          py27_blas_openblas_201  [blas_openblas]  conda-forge
numpy-base                1.14.3           py27h0ea5e3f_1    anaconda
openblas                  0.2.20                        8    conda-forge
openssl                   1.0.2o                        0    conda-forge
parmetis                  4.0.3                hf0665dc_2    conda-forge
pcre                      8.41                          1    conda-forge
petsc                     3.8.4           blas_openblas_0  [blas_openblas]  conda-forge
petsc4py                  3.8.1                    py27_1    conda-forge
pip                       9.0.3                    py27_0    conda-forge
pkg-config                0.29.2                        1    conda-forge
ply                       3.11                       py_1    conda-forge
ptscotch                  6.0.4                         3    conda-forge
python                    2.7.15                        0    conda-forge
readline                  7.0                           0    conda-forge
rhash                     1.3.4                         0    conda-forge
scalapack                 2.0.2                h186ce0b_3    conda-forge
scotch                    6.0.5                h9c0d707_1    conda-forge
setuptools                40.0.0                   py27_0    conda-forge
six                       1.11.0                   py27_1    conda-forge
slepc                     3.8.3           blas_openblas_0  [blas_openblas]  conda-forge
slepc4py                  3.8.0                    py27_0    conda-forge
sqlite                    3.20.1                        2    conda-forge
subprocess32              3.2.7                    py27_0
suitesparse               4.5.4           blas_openblas_201  [blas_openblas]  conda-forge
swig                      3.0.12                        2    conda-forge
sympy                     1.2                      py27_0    conda-forge
tbb                       2018_20171205                 0    conda-forge
tk                        8.6.7                         0    conda-forge
wheel                     0.31.1                   py27_0    conda-forge
xz                        5.2.3                         0    conda-forge
zlib                      1.2.11                        0    conda-forge

$ conda list

Details about  conda and system ( conda info ):

$ conda info

Thanks! Have you checked with fenics 2018.1, or is it just 2017.2 that needs this?

Sorry, I'm not able to tell you if the conflicts is solved with fenics 2018.1.

This affects 2018.1 as well. As far as I can tell, this has been fixed for the next version (2018.2). See https://bitbucket.org/fenics-project/fiat/issues/27/sympy-12-breaks-diff-of-expression-without . Running conda install sympy=1.1.1 on a fresh environment with this package installed fixed it for me.

Thanks! #67 pins sympy < 1.2 for 2018.1


Add Github wiki

As a docker compose user, I think it'd be nice to have the info from this issue in a  wiki article for people to see more widely. One less question for Discord: https://github.com/binwiederhier/ntfy/issues/865#issuecomment-1707146928

I agree, yes. I just haven't had time yet to update the docs. So I just keep answering the same question on discord over and over...

I don't really want to have yet another place to add docs. I think we should have a dedicated section about Docker in the Docs.

I misunderstood the request. My intent was not to create a GitHub wiki but just to add more Docker info into the existing docs


feat(segmentation_user_layer): hide segments

the checkbox now hides the visible segments but does not remove it from the list.
this is a rough version to gauge your thoughts on the feature/implementation. I threw in a random removal method: ctrl + left click.
I think a more proper implementation would make the visibleSegment act similar to a sql view on top of selected segments but still conform to the uint64S, and selectedSegments could be changed to be a Uint64Map: segment id -> visibility (0/1). Another option is to change selectedSegments to hiddenSegments. There are many ways the JSON state could work, obviously it must be backwards compatible.
I didn't touch the temporary sets but it seems it would justify another temporary set and useTemporaryVisibleSegments would enable both.

Thanks.
In general I think this approach is good --- as far as the in-memory representation, I think having selectedSegments and visibleSegments, rather than separate visibleSegments and hiddenSegments, is reasonable, since compared to a map or other representation, it minimizes the code changes required.
As far as the temporary sets, what do you see as the use cases for those?  I would think even during a merge we would probably not want to change which segments are displayed in the UI --- for example, currently the temporary sets don't affect what is displayed in the UI.  I guess the issue is just that for graphene there is a need to load the chunks for the temporary visible segments; it looks like at the moment you have it tracking the selected segments, rather than the visible segments.  Is there a reason to load the supervoxels for selected but not visible segments?

With the way it is set up, I think you are right, temporary selected segment isn't necessary, since there is no restriction that visible segments also have to be selected.
I have a few fixes for this PR that I made on another branch and a little bit more to clean up.
I thought it would make more sense to operate on selected segments and leave visible segments to be controlled primarily by the UI. The chunksource is only looking at visible segments. https://github.com/google/neuroglancer/blob/master/src/neuroglancer/datasource/graphene/backend.ts#L339

Replaced by https://github.com/google/neuroglancer/pull/425


CIP/CPS template & categories tweaks

Found that these were missing as I updated a few past CIPs.

This is definitely an improvement but I'm still hoping (as posted in https://github.com/cardano-foundation/CIPs/issues/109#issuecomment-1333771465) there will be a way to link from Categories reference on CIP-9999 to that section on CIP-0001, without breaking links on the generated cips.cardano.org, so that CPS authors don't submit documents with invalid categories (as we've seen recently).


Ian Campbell: Watch pharmahealthonline.com

Ian Campbell requests the watch of the watch_keyword pharmahealthonline\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

pharmahealthonline\.com has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Approved by Ollie in Charcoal HQ


replace space with underbar of py::arg

close #377
変えました

関連の調査で気づいたこと：
https://github.com/Qulacs-Osaka/qulacs-osaka/issues/393

LGTM！
ありがとうございます。

Codecov Report

Merging #392 (e432ceb) into dev (71c507c) will increase coverage by 0.36%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##              dev     #392      +/-   ##
==========================================
+ Coverage   72.02%   72.38%   +0.36%
==========================================
  Files          84       84
  Lines        6106     6106
==========================================
+ Hits         4398     4420      +22
+ Misses       1708     1686      -22

Impacted Files
Coverage Δ

src/cppsim/gate_noisy_evolution.hpp
83.27% <0.00%> (+0.34%)
:arrow_up:

src/csim/update_ops_pauli_multi.cpp
65.00% <0.00%> (+0.62%)
:arrow_up:

src/csim/stat_ops_expectation_value.cpp
87.34% <0.00%> (+8.86%)
:arrow_up:

...rc/csim/update_ops_control_multi_target_single.cpp
97.61% <0.00%> (+10.31%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Update issue templates

cc: @choldgraf added issue templates

Ref: https://github.com/jupyterhub/team-compass/issues/315

awesome!


Make AxisArrays and AxisArraysView dim_names a property

Fixes #459 .

Can you add a test that would catch the case you showed in #459?

Done I guess.

[ ]  Add bug fix release note

Is there are place to write release notes for the next release?

docs/release-latest.rst. You might need to rebase on master, since I just committed a modification to that an hour or so ago.


FBX imports results in black mesh

Here's how my model looks in Ambient:

Here's how the model looks in Blender:

Here's the model in question:
Tomatos_3.fbx.gz
The creator of these assets has hypothesized that this import failure has something to do with the models experiencing this only having a single material, whereas the working models have multiple.

Here are ALL of the medium crop model assets I'm using: https://github.com/AmbientRun/flowerpot/tree/6801a1801262b36191534253bdc7cf615a1c0cfa/core/game/assets/crops/medium
And these are the models that are experiencing this issue:
garlic: 0, 1, 2, 4, 6, 7
peppers: 0, 2, 3
potatos: 0
sugarcane: 5
tomatos: 0, 1, 2, 7
wheat: 0


cargo semver-checks takes much longer after upgrading to version 0.30.0 from 0.24.1

Steps to reproduce the bug with the above code
In smithy-rs (the code generator for AWS SDK for Rust), we run cargo semver-checks as part of CI. As described in this PR, we noticed that the execution time for a GitHub action step for semver-checks increased from 15 minutes to nearly 4 hours after we had upgraded the semver-checks version from 0.24.1 to 0.30.0.
We run semver-checks against 49 crates in CI, and it looks like only a few of them cause a long tail of the total execution time. One of them is aws-sdk-ec2 (there could be offending crates but this happened to be the first I noticed).
Here are reproduction steps:

Clone the aws-sdk-rust repository and run cd aws-sdk-rust/sdk.
Install cargo semver-checks version 0.24.1

cargo install cargo-semver-checks --locked --version 0.24.1

Run

cargo semver-checks check-release --baseline-rev main --manifest-path ec2/Cargo.toml -v -p aws-sdk-ec2 --all-features --release-type minor

This is pretty much how our CI script runs semver-checks.

Install cargo semver-checks version 0.30.0

cargo install cargo-semver-checks --locked --version 0.30.0

Run the same command as step 3

FYI, we are not blocked by this, since we can continue using 0.24.1 in our CI for now.
Actual Behaviour
With version 0.24.1, step 3 takes around 14 seconds:
   Completed [  13.446s] 45 checks; 45 passed, 6 unnecessary

With version 0.30.0, step 5 does not return a result (at least not before I give and hit Ctrl+C):
    Starting 61 checks, 6 unnecessary on 10 threads
(stuck at this point)

Expected Behaviour
I expect step 5 (with version 0.30.0) to finish in a similar amount of time as version 0.24.1.
Generated System Information
Software version
cargo-semver-checks 0.30.0
Operating system
macOS 13.6.6 (Darwin 22.6.0)
Command-line
/Users/awsaito/.cargo/bin/cargo-semver-checks semver-checks --bugreport

cargo version
> cargo -V
cargo 1.75.0 (1d8b05cdd 2023-11-20)

Compile time information

Profile: release
Target triple: aarch64-apple-darwin
Family: unix
OS: macos
Architecture: aarch64
Pointer width: 64
Endian: little
CPU features: aes,crc,dit,dotprod,dpb,dpb2,fcma,fhm,flagm,fp16,frintts,jsconv,lor,lse,neon,paca,pacg,pan,pmuv3,ras,rcpc,rcpc2,rdm,sb,sha2,sha3,ssbs,vh
Host: aarch64-apple-darwin

Build Configuration
No response
Additional Context
No response

Thanks for the report, and sorry for the inconvenience. It sounds like some of the newer lints escaped the optimizations I implemented the last time around.
I'll try to look into this when I get the chance.

v0.32.0 which was released yesterday should do a bit better on this.
Unfortunately, it only contains a fix for the immediate cause of the slowdown this time around — the problem is likely to come back again and again as new lints are added. Since the AWS SDK crates are so large, when this problem happens again, it will hit your use cases the hardest by far.
The best answer here is to sign a support contract, where I commit to an SLA for triaging and resolving (and when possible, entirely preventing) these kinds of issues in exchange for a recurring payment. This is different than OSS sponsorship, since the OSS license terms do not guarantee any performance or fitness of the software, nor triage timelines for open issues. A support contract would guarantee those things, and the funding I'd get would let me carve out more time to work on cargo-semver-checks issues and functionality important to your use cases.
Would you be able to put me in touch with your manager or director so we could discuss setting up such an arrangement? I'd really appreciate it! My contact info is in the Cargo.toml file: https://github.com/obi1kenobi/cargo-semver-checks/blob/main/Cargo.toml#L5


Test request statistics

This is the first commit from https://github.com/vespa-engine/vespa/pull/14378 which just adds a test

@bjorncs could you take a look at the second commit as well?


Update to Gradle 7.0 and version catalog

This is a draft PR that updates Gradle to 7.0, and switches over to the incubating version catalog format for most dependencies.
The remaining dependencies in buildSrc are plugins and detektFormatting, which can't go into the new libs.versions.toml file, where all other dependencies now are.
Reference:
https://docs.gradle.org/7.0-rc-1/userguide/platforms.html
https://melix.github.io/blog/2021/03/version-catalogs.html
https://discuss.gradle.org/t/trouble-using-centralized-dependency-versions-in-buildsrc-plugins-and-buildscript-classpath/39421

@byencho Should be safe to merge here, no Android dependencies around!

Thanks @byencho !


Needs a license

MIT? I can add if approved

it has a BSD 3-cause license in: https://github.com/torch/dok/blob/master/COPYRIGHT.txt


[Spring Cloud] Update Azure App Gateway Integration doc

Update Azure App Gateway Integration doc by adding section of rewrite rules.

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

These changes are already merged and published in #150623.

We'll close the pull request. Thanks.


Remove cache structs and use Tuples, allocating only when necessary

This PR removes the old structs for caches (and thus the TLS sapproach) and uses the ideas from #20 to improve performance. All the predicates now try and use Tuples for as long as possible and only allocate once an expansion could not be computed within 32 components. The modified code from Delaunator.jl in #20 works with some further fixes I mentioned in https://github.com/JuliaGeometry/Delaunator.jl/issues/20.
Since it is possible for expansions to be computed with length > 32 but then later derived expansions to have length < 32, for other predicates other than incircle it is not so simple to just check the length of a final expansion. Thus, for all expansions which could have a length exceeding 32, they are checked if they exceed that length and, if so, immediately allocate. This is made a bit easier with a @check_length macro. The code is a bit cluttered with these checks but it's still fine for me to work with.
Caches can still be provided manually to help reduce allocations a bit (although they are rare anyway), and so I made the cache functions public.
To also help with testing I defined (in the test functions not the package itself obviously) some failure vectors that stores test failures, and a retry function for retrying those failures.
Will merge after I test it a bit more inside DelaunayTriangulation.jl.

As a comparison, on this PR
julia> @benchmark incircle((nextfloat(1.0), eps()), (4eps()/3, -4eps()/3), (eps(), prevfloat(1.0)), (1.0, 1.0))
BenchmarkTools.Trial: 10000 samples with 204 evaluations.
 Range (min … max):  359.314 ns …  42.923 μs  ┊ GC (min … max): 0.00% … 0.00%
 Time  (median):     433.333 ns               ┊ GC (median):    0.00%
 Time  (mean ± σ):   597.103 ns ± 866.459 ns  ┊ GC (mean ± σ):  0.00% ± 0.00%

  ▄█▅▅▅▄▅▂▁▁▁ ▁                   ▂▁▃▁                          ▁
  ██████████████▇██▇▆▆▅█▅▇▅▆▆▇▇▇▆▇██████▇▇▆▆▅▅▅▅▄▅▂▄▅▄▃▄▃▃▄▅▄▂▅ █
  359 ns        Histogram: log(frequency) by time       2.05 μs <

 Memory estimate: 0 bytes, allocs estimate: 0.

while on main
julia> @benchmark incircle((nextfloat(1.0), eps()), (4eps()/3, -4eps()/3), (eps(), prevfloat(1.0)), (1.0, 1.0))
BenchmarkTools.Trial: 10000 samples with 112 evaluations.
 Range (min … max):  766.964 ns …   5.227 μs  ┊ GC (min … max): 0.00% … 0.00%
 Time  (median):       1.692 μs               ┊ GC (median):    0.00%
 Time  (mean ± σ):     1.793 μs ± 401.194 ns  ┊ GC (mean ± σ):  0.00% ± 0.00%

  ▃▁▁                  █▄▄▃▂▂▂▁▁▁▁▁▁▁▁▁▁                        ▁
  ███▆▆▅▆▆▃▅▅▃▃▃▄▁▃▁▁▃▄█████████████████████▇▇▇▇▇▇▇▇▇▆▆▆▆▇▆▆▅▅▇ █
  767 ns        Histogram: log(frequency) by time        3.4 μs <

 Memory estimate: 0 bytes, allocs estimate: 0.


After updating to 3.8.0, there were issues with the group related APIs

E/flutter (32587): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(10005, error *errors.withStack not implement CodeError: 1004 RecordNotFoundError, null, null)

hi, the server needs to be updated to 3.8.

Close it first, and if the problem persists, reopen it.


using with vue-web-cam

Description
Briefly describe the issue.
I would like to record a twilio video call on the client side, I'm using vue-web-cam for the cam, can I use this to record the video session ?
Steps to reproduce
Explain in detail the exact steps necessary to reproduce the issue.
Results
Expected
Please describe what you expected to see.
Actual
Please describe what actually happened.
Error output
If there are any errors at all, please include them here.
Additional Information
Please include any additional information necessary here. Including the following:
versions
videojs
what version of videojs does this occur with?
browsers
what browser(s) are affected? Make sure to test with all third-party browser extensions disabled.
OSes
what platforms (operating systems and devices) are affected?

I'm using vue-web-cam for the cam, can I use this to record the video session ?

No, not that I know of.


Mixing 2D with 3D

I built an app that has some 2D XAML elements and I can switch from that to a full 3D view. I've researched and all the sources seem to say it is not possible to mix 2D windows and 3D objects. I guess what I am trying to ask is, if there is a way that I could achieve this, or is there a plan to implement something like this in the future?
I am going of the Holograms app on HoloLens which does this, so my instinct tells me that there must be a way.

Is it possible that the ApplicationViewManager class is what you're looking for? The XML Documentation is not so good, but I can imagine it has something to do with that.

Please reopen in case your question did not get resolved.


Variable 'USE_GDS' to support build on arm CPU [skip ci]

Overwrite  USE_GDS=OFF on arm CPU
Signed-off-by: Tim Liu<EMAIL_ADDRESS>

build

nightly script may just skip ci

build

build


Multiple load dimensions

Adds support for multidimensional load (client deliveries, client pickups, vehicle capacities). This PR:

[x] Closes #458.
[ ] Adds and passes relevant tests.
[ ] Has well-formatted code and documentation.

From #651 by @wouterkool:
Key implementation details:

ProblemData: the delivery and pickup amount of a Client and the capacity of a VehicleType is now a vector instead of a scalar. All delivery, pickup and capacity vectors should have the same size in a problem instance.
~When creating these objects, one can either pass a list of values, or a scalar which will automatically be converted to a vector with a single element (defined conversion in bindings.h).~
~In the Python bindings, for backwards compatibility, the Client.delivery, Client.pickup and VehicleType.capacity properties remain scalars that return the values for the first load dimension. For additional load dimensions, the get_(delivery|pickup|capacity) methods can be used. Other methods that already used a getter function now have an additional argument to specify the load dimension. This is backwards compatible but not ideal, see 'open questions' below.~
LoadSegment: is per load dimension, so the attributes of LoadSegment remain to be scalars.
search/Route: for each Node in the Route a vector of LoadSegment's is stored for the caches loadAt/loadAfter/loadBefore => each LoadSegment corresponds to a single load dimension
CostEvaluator: excess load penalty calculations are done per load dimension. This avoids the need for intermediate vector allocations. Currently the penalty used is the same across all load dimensions, assuming these are scaled appropriately.
~Fleet minimization computes the strongest bound given all load dimensions. To test it, a Client.replace method has been added, which has some limitations (see implementation).~

Some open questions remain:

Interface:

~do we want backwards compatibility (like in this PR) or do we want to enforce passing and returning a list/vector always?~
~should the default be 1 or 0 (no) load dimensions? Currently we support 0 load dimensions but default to 1. When using 0 load dimensions, the relevant properties should not be accessed.~

Performance:

is the overhead acceptable given the new functionality?
should we introduce seperate penalties per load dimension and manage them per dimension? If, so we should probably interpret target_feasible as the desired percentage feasible for all load dimensions, not per dimension independently.
in this PR, computing SegmentBetween for a single load dimension takes O(n) where n is the length of the segment. This may become significant with many load dimensions (e.g. 64) which can often be avoided by first checking in O(1) if the segment contains any pickups, and if not, simply compute the difference in cumulative loads (see details). Compiling out P&D altogether when not needed is even better in our experience.

LoadSegment Route::SegmentBetween::load(size_t dimension) const
{
    assert(start > 0);  // SegmentBetween should not start at depot

    LoadSegment const &startLoadSegment
        = route->loadBefore[start - 1][dimension];
    LoadSegment const &endLoadSegment = route->loadBefore[end][dimension];

    // No pickups, so LoadSegment is simply the difference in deliveries
    // between end and start of the segment.
    if (startLoadSegment.pickup() == endLoadSegment.pickup())
    {
        Load const load
            = endLoadSegment.delivery() - startLoadSegment.delivery();
        assert(load >= 0);
        return LoadSegment(load, 0, load);
    }

    auto loadSegment = route->loadAt[start][dimension];
    for (size_t step = start; step != end; ++step)
        loadSegment = LoadSegment::merge(loadSegment,
                                         route->loadAt[step + 1][dimension]);

    return loadSegment;
}

Our terminology for this (pickup, delivery, and capacity on the VehicleType) already aligns with VROOM, so I think we should not update that.

Some learnings from this so far:

We need to bind a custom init method to also allow the common case of a single load dimension. Internally we can work with vectors. This'll keep everything backwards compatible, and has the added benefit of not requiring any updates to the existing tests.
Validation and padding etc. work well. Let's keep that.
I am not sure about how to extend LoadSegment, and @wouterkool indicated the use of std::vector in the current implementation might be problematic. Makes sense. I'll wait for his alternative implementation to see how we can combine things and keep it fast.

It's probably easiest to start from a new branch now.

I've updated the interface a bit and simplified where possible to get us to just one default (all lists). I haven't looked at the LS evaluation yet, that's for later.

I should have sufficient time next week to (finally!) finish this. 🤞

should we introduce seperate penalties per load dimension and manage them per dimension? If, so we should probably interpret target_feasible as the desired percentage feasible for all load dimensions, not per dimension independently.

I think we can do without for now, but we'll need to run some experiments to determine if this is OK. I know of no real multidim instances from the literature, but we can use multiple load dims also to model site-dependent VRP. Those instances can probably serve as an initial benchmark.

in this PR, computing SegmentBetween for a single load dimension takes O(n) where n is the length of the segment. This may become significant with many load dimensions (e.g. 64) which can often be avoided by first checking in O(1) if the segment contains any pickups, and if not, simply compute the difference in cumulative loads (see details). Compiling out P&D altogether when not needed is even better in our experience.

I think we can leave this to a follow-up PR, assuming performance is not too bad right now.

I'm going to have one more look in a minute. I think this is otherwise good to go and ready for some (performance) tests to ensure there's no significant regressions w.r.t. current main.

LGTM now. This needs a performance check, so I need to figure out how the HPC stuff works in Rotterdam first. I'll have a look at that tomorrow.

@leonlan @wouterkool could you both/either of you have a look at this?

I'll probably have time on Wednesday to review this.

GH1000, 60 min, 10 seeds

main https://github.com/PyVRP/PyVRP/commit/452289225fe28ec6b04f7aac9aee3e253b31b462 - gap: 0.74%, iters: 53172
latest commit https://github.com/PyVRP/PyVRP/pull/645/commits/ffde097214f10ab75e0bcffe3bbe054041e72ba3 - gap: 0.75%, iters: 51091

GH1000, 60 min, 10 seeds

main 4522892 - gap: 0.74%, iters: 53172
latest commit ffde097 - gap: 0.75%, iters: 51091

Thanks! That's some 4% worse in terms of iterations, but similar quality. That seems to be roughly in line with the fact there's simply more work that need to be done in this PR. Should be fine!

Seems rather arbitrary 😆

@wouterkool do you have an estimate of when you could review this PR?


Before spawning the worker threads, attempt to create the regex input - especially if we're passing it as is (RawRegEx)

see title,
if the creation of a regex class with the input fails, don't spawn the threads, throw an exception to alert the user.

In theory This one done.
The regex conversion code is housed in an internal routine WorkerThreadInitRegEx() that loops thru the regex stuff in SearchTarget to make instances of RegEx class to check for them.  Should the RegEx class fail to initialize and throw an exception, it appears to propagate ok up to being an example seen in OdinSearch.Search().
Unit Tests TestNULL_BackRegEx_OnInput_bad_pattern_SafetyOn() and TestNULL_BackRegEx_OnInput_bad_pattern_SafetyOff() both are modified to catch a RegexParseException().
Changes:
WorkerThreadInit() - contains the old init code that originally ran in the WorkerThreadProc().  Note that it is still programmed to call this in the event that it receives an empty list as a fallback but normal execution shouldn't have that happen.
Internal class WorkerThreadArgs now has a new entry, List which will receive the initialized RegEx stuff to compare strings.   WorkerThread does assume once itself is running, that list can't change.
Please keep in mind if you depend on routines/classes marked as internal.  The various classes in OdinSearch marked internal are subject to change from release to release and update.


Assign message ID before dispatching message to Kafka in all cases

Currently an ID is only assigned to the message in these cases:

When using the Webhooks route to input a raw JSON message (/ or /hooks) - before dispatching (to Kafka/sync)
When explicitly passing a fly-id/kaleido-id param to the REST API Gateway - before dispatching (to Kafka/sync)

Added in #139

When the message is received at the Kafka side, and we find no ID inside there

This means in the Kakfa case there is always a message ID assigned at the point of processing.
But in the Sync dispatcher, as used by the FireFly CLI environment, there was no ID being assigned.
We hit an issue with #139 where we found it was leaking through an ID in the REST API Gateway case, that actually came from the gateway ID - that was just fixed in #158.
That fix then in turn exposed the problem of messages ended up with no ID at all and cause the break in the e2e builds for FireFly seen in #159

As an aside, I would propose that @awrichar be considered for promoting to a core contributor, due to his significant recent contributions to Ethconnect.

Agree that @awrichar can be promoted to core contributor 👍🏼


Inconsistent behaviour of ImageRecordIter depending on encoding format png vs jpeg

Description
I was checking behaviour of ImageRecordIter on .rec file I have created myself.
I have seen that depending on how I created .rec the behaviour of ImageRecordIter is different in the way it handles the order of the color channels.
I  create with png format the ImageRecordIter which by default fall back on the opencv encoding function, and thus inherits the default channel format which is BGR. However if I pack the image with the "jpeg" format, it will use the RGB order. Is this inconsistency expected? Can we pass a flag so that it always retrieve the RBG format?
Environment info (Required)
MXNet = 1.4.0
opencv-python==<IP_ADDRESS>
Reproducible step
Create the rec file with png format
record = mx.recordio.MXRecordIO("temp_png.rec", 'w')
header = mx.recordio.IRHeader(0, label, id, 0)
img = np.ones(shape) * 255
img[0][0][0] = 0
img[0][0][0] = 1
img[0][0][0] =2
packed_s = mx.recordio.pack_img(header, img, quality=100, img_fmt=".png")
record.write(packed_s)
record.close()

Create the rec file with jpeg format
record = mx.recordio.MXRecordIO("temp_png.rec", 'w')
header = mx.recordio.IRHeader(0, label, id, 0)
img = np.ones((5,5,3)) * 255
img[0][0][0] = 0
img[0][0][0] = 1
img[0][0][0] = 2
packed_s = mx.recordio.pack_img(header, img, quality=100, img_fmt=".jpeg") # default
record.write(packed_s)
record.close()

iter = ImageRecordIter(path_imgrec="temp_png.rec", data_shape=(3,5,5))
batch = iter.next()
#check that the first channel for first pixel is 2
#check that the second channel for first pixel is 1
check that the third channel for first pixel is 0

iter = ImageRecordIter(path_imgrec="temp_jpeg.rec", data_shape=(3,5,5))
batch = iter.next()
#check that the first channel for first pixel is 0
#check that the second channel for first pixel is 1
#check that the third channel for first pixel is 2

@anotinelg Thank you for query, a member of the community will get back to you on this
@mxnet-label-bot  add [Question]

Hi,
I have tried the code with slight refactor.
import mxnet as mx
import numpy as np
shape = (3, 3, 3)

label = 1

record = mx.recordio.MXRecordIO("temp_png.rec", 'w')
header = mx.recordio.IRHeader(0, label, 1, 0)
img = np.ones(shape) * 255
img[0][0][0] = 0
img[0][0][1] = 1
img[0][0][2] = 2
packed_s = mx.recordio.pack_img(header, img, quality=9, img_fmt=".png")
record.write(packed_s)
record.close()

iter = mx.io.ImageRecordIter(path_imgrec="temp_png.rec", data_shape=shape, batch_size=1)
batch = iter.next()
data = batch.data[0]
print(data.shape)
print(mx.ndarray.transpose(data, (0, 2, 3, 1)))

record = mx.recordio.MXRecordIO("temp_jpeg.rec", 'w')
header = mx.recordio.IRHeader(0, label, 1, 0)
img = np.ones(shape) * 255
img[0][0][0] = 0
img[0][0][1] = 1
img[0][0][2] = 2
packed_s = mx.recordio.pack_img(header, img, quality=100, img_fmt=".jpeg") # default
record.write(packed_s)
record.close()

iter = mx.io.ImageRecordIter(path_imgrec="temp_jpeg.rec", data_shape=shape, batch_size=1)
batch = iter.next()
data = batch.data[0]
print(data.shape)
print(mx.ndarray.transpose(data, (0, 2, 3, 1)))

Output that I get is
(1, 3, 3, 3)

[[[[  2.   1.   0.]
   [255. 255. 255.]
   [255. 255. 255.]]

  [[255. 255. 255.]
   [255. 255. 255.]
   [255. 255. 255.]]

  [[255. 255. 255.]
   [255. 255. 255.]
   [255. 255. 255.]]]]
<NDArray 1x3x3x3 @cpu(0)>
[23:48:32] ../src/io/iter_image_recordio_2.cc:178: ImageRecordIOParser2: temp_jpeg.rec, use 4 threads for decoding..
(1, 3, 3, 3)

[[[[  0.   0.   0.]
   [255. 255. 255.]
   [255. 255. 255.]]

  [[255. 255. 255.]
   [255. 255. 255.]
   [255. 255. 255.]]

  [[255. 255. 255.]
   [255. 255. 255.]
   [255. 255. 255.]]]]
<NDArray 1x3x3x3 @cpu(0)>

Note that the zero's are probably due to the .jpeg being lossy format.
To verify that
import numpy as np
import cv2
a = np.ones((3,3,3))
a *= 255
a[0][0][2] = 2
a[0][0][1] = 1
a[0][0][0] = 0
print(a)
print('-------------------')
ret, buf = cv2.imencode('.JPG', a, [cv2.IMWRITE_JPEG_QUALITY, 100])
print(cv2.imdecode(buf, cv2.IMREAD_UNCHANGED))

which outputs
[[[  0.   1.   2.]
  [255. 255. 255.]
  [255. 255. 255.]]

 [[255. 255. 255.]
  [255. 255. 255.]
  [255. 255. 255.]]

 [[255. 255. 255.]
  [255. 255. 255.]
  [255. 255. 255.]]]
-------------------
[[[  0   0   0]
  [255 255 255]
  [255 255 255]]

 [[255 255 255]
  [255 255 255]
  [255 255 255]]

 [[255 255 255]
  [255 255 255]
  [255 255 255]]]

So I don't think there is a problem with order.
Also bonus for reading till here.
The actual pack_img code that encodes doesn't play with the channel order.
https://github.com/apache/incubator-mxnet/blob/42a47b1cbd53026b7c69c915d17d507f6bc512d6/python/mxnet/recordio.py#L470-L509

thanks a lot @kshitij12345  for your reply.
First of all, I apologise for the code I put in the message, which was not even runnable (I have checked then)!
Second, I am little bit confused on the results:

I think my error is to have found a difference in behaviour between png and jpeg. I have re run my code, and now I do not find any difference (except that the lossy format of jpeg makes that the value are different. NOTA: if we use (0,100,200) instead of [0,1,2] we can easily guess where the channels are)
But in someway, I clearly see that there is an inversion of order in the channel, It looks like that the ImageRecordIter reorders the channel.
in your results, your input image is:

[[[  0.   1.   2.]
  [255. 255. 255.]
  [255. 255. 255.]]

 [[255. 255. 255.]
  [255. 255. 255.]
  [255. 255. 255.]]

 [[255. 255. 255.]
  [255. 255. 255.]
  [255. 255. 255.]]]

and your output image after transposing to (H;W;C) is
[[[[  2.   1.   0.]
   [255. 255. 255.]
   [255. 255. 255.]]

  [[255. 255. 255.]
   [255. 255. 255.]
   [255. 255. 255.]]

  [[255. 255. 255.]
   [255. 255. 255.]
   [255. 255. 255.]]]]

Am I missing something?
Thanks

Hi,

NOTA: if we use (0,100,200) instead of [0,1,2] we can easily guess where the channels are)

Thanks. Nice Idea.
ImageRecordIter gives you data with channels first as mentioned in the docs.
https://mxnet.incubator.apache.org/versions/master/api/python/io/io.html#mxnet.io.ImageRecordIter
Also you are correct that all channels are flipped i.e. if original is BGR then after loading it is RGB. Maybe due to use of OpenCV. (Not really sure).
So you are indeed correct that the two transformations are channel first and also the flipping of channels.
Note : The behaviour is same for JPEG as well as PNG.
import mxnet as mx
import numpy as np

shape = (3, 3, 3)
label = 1

record = mx.recordio.MXRecordIO("temp_png.rec", 'w')
header = mx.recordio.IRHeader(0, label, 1, 0)
img = np.ones(shape) * 255
img[:, :, 0] = 0
img[:, :, 1] = 100
img[:, :, 2] = 200
print('------Original---------------')
print(img)
packed_s = mx.recordio.pack_img(header, img, quality=9, img_fmt=".png")
record.write(packed_s)
record.close()

iter = mx.io.ImageRecordIter(path_imgrec="temp_png.rec", data_shape=shape, batch_size=1)
batch = iter.next()
data = batch.data[0]
print('--------PNG---------------')
print(data.shape)
recover_data = mx.ndarray.transpose(data, (0, 3, 2, 1)) # From channels first to channel last.
print(recover_data[:,:,:,::-1]) # Reverse the channels.
# Same as original

record = mx.recordio.MXRecordIO("temp_jpeg.rec", 'w')
header = mx.recordio.IRHeader(0, label, 1, 0)
img = np.ones(shape) * 255
img[:, :, 0] = 0
img[:, :, 1] = 100
img[:, :, 2] = 200
packed_s = mx.recordio.pack_img(header, img, quality=100, img_fmt=".jpeg") # default
record.write(packed_s)
record.close()

iter = mx.io.ImageRecordIter(path_imgrec="temp_jpeg.rec", data_shape=shape, batch_size=1)
batch = iter.next()
data = batch.data[0]
print('-------JPEG---------------')
print(data.shape)
recover_data = mx.ndarray.transpose(data, (0, 3, 2, 1))  # From channels first to channel last.
print(recover_data[[:,:,:,::-1]) # Reverse the channels.
#  Same as original

Thanks for the confirmation. But then I have a concern and this is about the color normalisation we apply with imageRecordIter. It seems that it does not apply the coefficient mean_[CHANNEL] and std_[CHANNEL] to the correct one:
        import mxnet as mx
        import numpy as np

        # Create rec with png packing
        shape = (3, 3, 3)
        label = 1
        record = mx.recordio.MXRecordIO("temp_png.rec", 'w')
        header = mx.recordio.IRHeader(0, label, 1, 0)
        img = np.ones(shape) * 255
        img[0][0][0] = 0
        img[0][0][1] = 100
        img[0][0][2] = 200
        print(img)
        packed_s = mx.recordio.pack_img(header, img, quality=9, img_fmt=".png")
        record.write(packed_s)
        record.close()

        # test the imageRecordIter, with color normalisation only on BLUE Channel
        iter = mx.io.ImageRecordIter(path_imgrec="temp_png.rec", data_shape=shape, batch_size=1,
                                     mean_r=0,
                                     mean_g=0,
                                     mean_b=50,
                                     std_r=1,
                                     std_g=1,
                                     std_b=150
                                     )
        batch = iter.next()
        data = batch.data[0]
        print(data.shape)
        print(data)
        data = mx.ndarray.transpose(data, (0, 2, 3, 1))
        # imageRecordIter invert channel from RGB to BGR
        img_after = data.asnumpy()[0]
        print(img_after[0][0])
        self.assertTrue(img_after[0][0][0] == 1)
        self.assertTrue(img_after[0][0][1] == 100)
        self.assertTrue(img_after[0][0][2] == 0)

The output are:
[[[  0. 100. 200.]
  [255. 255. 255.]
  [255. 255. 255.]]

 [[255. 255. 255.]
  [255. 255. 255.]
  [255. 255. 255.]]

 [[255. 255. 255.]
  [255. 255. 255.]
  [255. 255. 255.]]]
[10:46:42] src/io/iter_image_recordio_2.cc:170: ImageRecordIOParser2: temp_png.rec, use 1 threads for decoding..
(1, 3, 3, 3)

[[[[200.         255.         255.        ]
   [255.         255.         255.        ]
   [255.         255.         255.        ]]

  [[100.         255.         255.        ]
   [255.         255.         255.        ]
   [255.         255.         255.        ]]

  [[ -0.33333334   1.3666667    1.3666667 ]
   [  1.3666667    1.3666667    1.3666667 ]
   [  1.3666667    1.3666667    1.3666667 ]]]]
<NDArray 1x3x3x3 @cpu_pinned(0)>
[200.         100.          -0.33333334]

It seems that the mean_r and std_r are applied on the Red Channel, instead of the blue channel as specified in the call of the imageRecordIter function
Is it a bug?

What I think is that imageRecordIter is meant to use with .rec files saved with image in BGR format, and outputs data in RGB as gluon network expects. (By the way can you confirm that assumption on gluon?)
Actually im2rec.py scripts given by mxnet reads the image with opencv (cv2.imread) if the "pass-through" parameters is true,  and pack it into the .rec files. So in that case, the .rec files stored data in BGR (opencv format), imageRecordIter correctly applies color normalisation on the correct channel, and flip back the channel for the output image to be in RGB.
What it seems wrong, is that im2rec.py does not always flip the channel, for example, when the "pass-through" parameters is not set. And in the documentation of ImageRecordIter, there is no trace of BGR vs RGB format.

Sorry, I haven't been able to go through, im2rec.py.
But I don't think it should be an issue.
Though OpenCV itself maps the image with BGR format in array, the encoded image is standard.
packed_s = mx.recordio.pack_img(header, img, quality=9, img_fmt=".png")
# packed is not an array but encoded representation of the image which is standard.
record.write(packed_s)

So if I am correct, it is written in the standard way and when it is read, even if it is restored as RGB, the mappings of the channel are correct.
We can verify that by slightly updating the previous script
import mxnet as mx
import numpy as np

shape = (3, 3, 3)
label = 1

record = mx.recordio.MXRecordIO("temp_png.rec", 'w')
header = mx.recordio.IRHeader(0, label, 1, 0)
img = np.ones(shape) * 255
img[:, :, 0] = 0 # B
img[:, :, 1] = 100 # G
img[:, :, 2] = 200 # R
print('------Original---------------')
print(img)
packed_s = mx.recordio.pack_img(header, img, quality=9, img_fmt=".png")
record.write(packed_s)
record.close()

iter = mx.io.ImageRecordIter(path_imgrec="temp_png.rec", data_shape=shape, batch_size=1, mean_r = 50)
batch = iter.next()
data = batch.data[0]
print('--------PNG---------------')
print(data.shape)
recover_data = mx.ndarray.transpose(data, (0, 3, 2, 1)) # From channels first to channel last.
print(recover_data[:,:,:,::-1]) # Reverse the channels.
# Same as original

Output
------Original---------------
[[[  0. 100. 200.]
  [  0. 100. 200.]
  [  0. 100. 200.]]

 [[  0. 100. 200.]
  [  0. 100. 200.]
  [  0. 100. 200.]]

 [[  0. 100. 200.]
  [  0. 100. 200.]
  [  0. 100. 200.]]]

--------PNG---------------
(1, 3, 3, 3)

[[[[  0. 100. 150.]
   [  0. 100. 150.]
   [  0. 100. 150.]]

  [[  0. 100. 150.]
   [  0. 100. 150.]
   [  0. 100. 150.]]

  [[  0. 100. 150.]

Notice that mean has been correctly subtracted from the R-channel.

I agree with you, but this works only if  you pack the image in the .rec file in format BGR (as you did in the example)
img[:, :, 0] = 0 # B
img[:, :, 1] = 100 # G
img[:, :, 2] = 200 # R

It does NOT work if you pack the img into the .rec files in RGB format, the normalisation will be applied to wrong channel.
So I think this should be documented in the imageRecordIter class

What you are saying makes sense as pack_img calls cv2.imencode which is expecting BGR format.

So I think this should be documented in the imageRecordIter class

Agreed.
I'll ping one of the codeowner just in case we are missing something.
@larroy Could you please help.


Plugin fails to be added with cordova-cli 9

$ cordova --version
9.0.0

<plugin name="cordova-plugin-ionic-webview" spec="https://github.com/ionic-team/cordova-plugin-ionic-webview.git">
    <variable name="ANDROID_SUPPORT_ANNOTATIONS_VERSION" value="27.+" />
</plugin>

$ cordova platforms
Installed platforms:
  android 8.0.0
  ios 5.0.0

Error message: Failed to restore plugin "cordova-plugin-ionic-webview" from config.xml. You might need to try adding it again. Error: Using "requireCordovaModule" to load non-cordova module "glob" is not supported. Instead, add this module to your dependencies and use regular "require" to load it.
Looks like requireCordovaModule is gone.

Despite the error message points to this plugin, it's actually another one using requireCordovaModule and not us.
Also cordova 9.0.0 seems to have problems on restoring plugins, should be fixed in next 9.0.1 release.

@jcesarmobile - thanks for the prompt response.
Can you elaborate? The error message seems to indicate pretty clearly that cordova-plugin-ionic-webview uses requireCordovaModule. I've seen in other plugins that one of their dependencies used requireCordovaModule, but cordova still blamed the plugin itself. Is that what you mean or?
Thanks again!

Cordova error logging is not very good at this kind of errors, the first one is cordova-plugin-ionic-webview not being able to be restored, that's because of the cordova 9.0.0 restoring issue. See https://github.com/apache/cordova-lib/pull/752, it's fixed, but not released yet, will take at least 3 more days as that's for cordova-lib, which is about to be released today, then a cordova-cli release must follow up in 2-3 days.
Then the requireCordovaModule is for another plugin, usually the next one that it tries to install/restore. Check for plugins with hooks are usually the ones using requireCordovaModule.
You can check this plugin source code and you won't find the requireCordovaModule anywhere.

You're right--sorry for the noise @jcesarmobile!


Set pod resources in node-density workloads

Signed-off-by: Raul Sevilla<EMAIL_ADDRESS>Description
Setting a minimal pod resources in pods helps the scheduler algorithm to evenly spread the pods across worker nodes. Thanks to this change I've managed to get really good pod latency numbers in OVNKubernetes based clusters.
Fixes

/rerun all

Results for e2e-benchmarking CI Tests

Workload
Test
Result
Runtime

router-perf-v2
./ingress-performance.sh
PASS
00:06:14

etcd-perf
./run_etcd_tests_fromgit.sh
FAIL
00:03:40

scale-perf
./run_scale_fromgit.sh
PASS
00:13:51

network-perf
./run.sh
PASS
00:06:19

kube-burner
WORKLOAD=cluster-density ./run.sh
PASS
00:05:21

kube-burner
WORKLOAD=node-density ./run.sh
PASS
00:04:44

kube-burner
WORKLOAD=node-density-heavy ./run.sh
PASS
00:05:14

kube-burner
WORKLOAD=pod-density-heavy ./run.sh
PASS
00:06:30

kube-burner
WORKLOAD=max-services ./run.sh
PASS
00:04:36

kube-burner
WORKLOAD=max-namespaces ./run.sh
PASS
00:05:27

upgrade-perf
./run_upgrade_fromgit.sh
PASS
00:00:58


How to avoid SSRF when you use requests to parse untrusted URLs?

For an example I have a Flask app, it gets 'url' parameter from GET request. Then it do something like this:
requests.get(params['url']).text

So how to avoid localhost requests? Should I make a new network interface, which can access only external network and then send requests? I tried to search some answers for that and I found only https://github.com/JordanMilne/Advocate/ but the autor says that we shouldn't use it in production. So how to properly secure from SSRF in case like this? Can requests do requests through specified virtual network interfaces?

I'd say this isn't within the realm of requests responsibility. This is an input sanitization issue not an HTTP issue. My recommendation would be parsing the URL and maintaining an "allow list" of hosts and URL constructions that are acceptable to make requests to (scheme, w/o userinfo, etc).

I have found a better way: https://stackoverflow.com/questions/691045/how-do-you-determine-if-an-ip-address-is-private-in-python you can just check if IP is blacklisted by this or not. Idk how secure it is but I think it's better than nothing.

>>> ip = '<IP_ADDRESS>'
>>> ipaddress.ip_address(ip).is_global
False
>>>

Lol, it's just a default python3 module and it can secure you even against aws metadata ip!! How can I make a module which will "proxy" the default requests module and add url ssrf protection?


[docs] Windows Instructions need updating.

Any way to contribute to the installation instructions for Windows? I deal with a lot of people having installation instructions on Stack Overflow etc. and there are a couple of things on the Install pages that could do with being corrected, clarified or changed. Happy to do these myself if you'd like. I'll list them below:

"TensorFlow only supports version 3.5.x of Python on Windows." is no longer true since 1.2 as 3.6 is supported.

The r1.3 version of the install page introduces this new line: "TensorFlow will not load if it cannot find cuDNN64_5.dll. To use a different version of cuDNN, you must build from source." however I thought that 1.3 was built with cuDNN 6. Users may find this conflict confusing because, as I found with #11645, 1.3.0 will NOT load with cuDNN64_5.dll. Shouldn't this change to cuDNN64_6.dll?

Anaconda Installation slightly misleading? I use anaconda to run our tensorflow environments without a problem. I download via pip install tensorflow(-gpu) instead of the unsupported conda version and, from a user's point of view, there's no reason for it be unsupported. is there a reason that a pypi installation put in an anaconda environment would act differently enough to virtual env/root install to be unsupported? I also don't see why the installation page can't recommend downloading straight from pypi instead of using the long storage.googleapis... url. Especially as 3.6 is now supported.

Happy to implement these changes if I knew where. Are the markdown files in docs_src linked to the website? If so i'll pop a PR into there.
Cheers

@wolffg, could you update the documentation?

Yes, we generate the website from docs_src.
Assigning to @gunan for install docs update.

@av8ramit Could you update documentations on the release branch and master branch?

Hate to be that guy but the current installation instructions still say that you should have cuDNN 5.1 installed then linking to 1.3 binaries which I believe are built with cuDNN 6 which means users won't be able to successfully install. @gunan @av8ramit Unless something has changed where cuDNN 5.1 WILL work. I've not personally tried it since rc1 but I assume that hasn't changed as the release notes suggest otherwise. I've already helped a user today try to get up and running because of these errors.
Cheers.

@mrry Am I correct in saying that you submitted a PR for this and it's just not showing on the website? If so I can close the issue.

@jubjamie Yes, #12383 made the change, but I don't know what it takes to get the website to rebuild. (Perhaps @wolffg would know, or know the right person to ask?)

Ok. I'll leave the issue open to track at least. I know it's not a huge problem but it's caught a lot of people out! If you are tracking this internally however feel free to close. Cheers

We will republish the website later today.

In master, linux says 6 but windows still says 5.1.  In r1.3, Windows
contains 5.1 -> 6 transformation, but Linux is still at 5.1.
Do we need all four of these docs to say 6?
On Thu, Aug 24, 2017 at 10:58 AM, gunan<EMAIL_ADDRESS>wrote:

We will republish the website later today.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/11784#issuecomment-324710316,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA1YDu0Jk7mtTip5TchEU2lDQh29oyjLks5sbbm8gaJpZM4Oj8bu
.

All four should say 6.
Amit is working on fixing all of these.
On Thu, Aug 24, 2017 at 1:12 PM, Wolff Dobson<EMAIL_ADDRESS>wrote:

In master, linux says 6 but windows still says 5.1. In r1.3, Windows
contains 5.1 -> 6 transformation, but Linux is still at 5.1.
Do we need all four of these docs to say 6?
On Thu, Aug 24, 2017 at 10:58 AM, gunan<EMAIL_ADDRESS>wrote:

We will republish the website later today.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<https://github.com/tensorflow/tensorflow/issues/
11784#issuecomment-324710316>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/
AA1YDu0Jk7mtTip5TchEU2lDQh29oyjLks5sbbm8gaJpZM4Oj8bu>
.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/11784#issuecomment-324743577,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHlCOTbrz49PQgXEeIRK14q85M6nc41uks5sbdkTgaJpZM4Oj8bu
.

Ran into this today installing tensorflow-gpu and even worse: the NVIDIA cudnn archive page doesn't have version 6 anymore: https://developer.nvidia.com/rdp/cudnn-archive

i am very sorry about hear that,my cudnn is shared from baiducloud,so,Do U have a baidu account.
this is my share url: https://pan.baidu.com/s/1o8zCUz4 密码: 3k7y
At 2017-08-25 10:43:18, "Kevin Watters"<EMAIL_ADDRESS>wrote:
Ran into this today installing tensorflow-gpu and even worse: the NVIDIA cudnn archive page doesn't have version 6 anymore: https://developer.nvidia.com/rdp/cudnn-archive
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@kwvinw Not sure what that page is, but AFAIK cudnn is distributed through here, with a few terms and conditions.
https://developer.nvidia.com/cudnn
I cannot log in and check, but can anyone see if this site includes cudnn v6 after logging in?
Our installation instructions still should point to this site.

false alarm: looks like they brought back the 6.0 link. I had emailed them about it.

https://developer.nvidia.com/rdp/cudnn-download      has cuDNN 6 it is not on the archive page. kevinw already said this above but adding the link so people are not on the archive page wondering where it is.

@gunan This looks like it has mostly been resolved apart from the inclusion of Python 3.6 but that's not as bad of an issue as people being unable to run the binaries. Thanks for sorting it, i'm sure it will help lots of people in the long run. Closing.

@jubjamie Good catch! @av8ramit can we also add python 3.6 support in windows docs?

Done. https://github.com/tensorflow/tensorflow/pull/12687

Hi,
From version 1.4,  TF will depend on scipy, then the user should either have a FORTRAN compiler or get it from a third-party python distribution (e.g. Anaconda).  We need document this.


Kubecover Integration

Make develop the default image tag - The alternative would be using yq to override the image in the manifest but this feels cleaner
Make KUSTOMIZE path settable - this allows us to have kustomize in the kubecover bin

I suppose that IMG is also settable so perhaps I should just do that. I will update.

Closing because this is no longer needed.


TypeError: Client.defaultPermissionLevels.add is not a function

/app/src/Sneyra.js:9

	.add(5, (msg) => msg.member && msg.guild.settings.dj && msg.member.roles.has(msg.guild.settings.dj), { fetch: true })

	 ^

TypeError: Client.defaultPermissionLevels.add is not a function

at Object.<anonymous> (/app/src/Sneyra.js:9:3)

    at Module._compile (internal/modules/cjs/loader.js:689:30)

    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)

    at Module.load (internal/modules/cjs/loader.js:599:32)

    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)

    at Function.Module._load (internal/modules/cjs/loader.js:530:3)

    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)

    at startup (internal/bootstrap/node.js:283:19)

    at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)

^ i recieve this. I guess it's a bug.

Are you sure you're installing Sneyra correctly? It requires klasa master.

@kyranet Well, when i tried installing klasa master, it throwed that deafultLevelPermissions is undefined.

Except it is... can you inspect that?

Appears that NPM didn't install klasa master. Everything works now. Thanks.

Closing.


@spy alerts spying user of messages from the target or on the target channel via /msg or /notice

No it doesn't...

It's a suggestion. :p

It does if you message TheWolfBot instead of doing it in-channel :laughing:


Schema Evolution

Our application has been in development for several months, but now that we've had our first internal beta,
we are getting pressed to make changes to our graph schema. What support does OrientDB offer for evolving the
schema of a populated database?  (Creating new empty databases isn't a problem.)
Schema Evolution Tasks:

Add a new property to an existing Class
Rename an existing property
Change the type of data for a property (eg: Set -> List, Integer -> Long, String -> List)
Remove an existing property from a Class
Pull Up a property from a sub-class to its parent class
Push Down a property from a super-class to a child class
Change the inheritance structure of an existing Class

Again, the problem revolves around a production database with active data.
Right now it appears that the solution would be to export all the data,
recreate the database with the new schema, and then import the data.

Do the Export/Import commands support graphs?

Yes, it does. You can export/import your complete database as JSON and try to configure your new db structure. But moving data to another cluster or class is limited only edges are supported. https://github.com/orientechnologies/orientdb/issues/4125 The json export don't includes your index structure so you have to rebuild it at every import process.
The ALTER command should cover the most cases of your schema changes.

@StarpTech +1

I assigned this to @tglman that worked to the schema migration recently. @tglman could you please respond to all the questions and in case update the documentation? Thanks.

Yes we support schema change, but it's slightly different from the relational world.

Add a new property to an existing Class:
You can use Create Property that will check also if there is not consistent data.
Rename an existing property:
You can use Alter Property but be aware that this will updated all the relative record, and it may take a while.
Change the type of data for a property:
You can use as well Alter Property if the data conversion is not possible the alter will fail and do nothing.
for migrate non compatible data you can do a [Drop Property] (http://orientdb.com/docs/last/SQL-Drop-Property.html), update your data, and Create Property
Remove an existing property from a Class:
You can use  [Drop Property] (http://orientdb.com/docs/last/SQL-Drop-Property.html) and do Update remove if you want also remove the data.
Pull Up a property from a sub-class to its parent class:
Just use Drop Property and Create Property, no  data will be changed.
Push Down a property from a super-class to a child class:
Same way of Pull Up
Change the inheritance structure of an existing Class:
you can do with Alter Class set  SUPERCLASS, be aware that changing this will cause the change in query results following the new hierarchy structure.

The only caveat is that the Create Property and Alter Property, do some check/update of data, that may take a while depends on the amount of your data, and can slow down your system, so I'll suggest to not do it on production system while in heavy use.

Is the Migration support specific to the JS backend? Why isn't this available in the Java API?
https://github.com/orientechnologies/orientjs#migrations
Then I could just use the OrientDB.Migration.Manager and implement the interfaces.


Update gemspec.tt

Everyone needs pry :metal:

I'd say this is a reasonable default to have. Let's make it even more useful and include pry-byebug instead!

Touche' I'll update the PR ASAP.

Thank you very much!

I finally wrapped my head around lita and saw the light. I still love my hubot but lita is quickly over passing em.


ConnectionStack has template error due to missing conditions

How did you install the Amplify CLI?
npm
If applicable, what version of Node.js are you using?
No response
Amplify CLI Version
10.5.2
What operating system are you using?
Linux (Fedora)
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
No manual changes made
Describe the bug
When I run amplify push the deployment fails. The issue is the ConnectionStack:
The following resource(s) failed to create: [ConnectionStack].
Template error: unresolved condition dependency HasEnvironmentParameter in Fn::If
When I look inside ConnectionStack.json I notice it's missing conditions. I believe the following would resolve the error:
  "Conditions": {
    "HasEnvironmentParameter": {
      "Fn::Not": [
        {
          "Fn::Equals": [
            {
              "Ref": "referencetotransformerrootstackenvXXXXXXRef"
            },
            "NONE"
          ]
        }
      ]
    },

I've tried adding the condition to ConnectionStack.json manually but it gets wiped out whenever I run amplify push.
Amplify push worked fine until I modified my schema.graphql with the following to connect two models:
  comments: [Comment] @hasMany

The only thing unusual about my setup is that I configured amplify with amplify import auth but then added the rest of the resources from amplify, e.g. amplify add api
Let me know if you need more information!
Expected behavior
amplify pushes the stack ConnectionStack to AWS and graphql works.
Reproduction steps

amplify push

Project Identifier
No response
Log output

# Put your logs below this line

Additional information
No response
Before submitting, please confirm:

[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

I've fixed it with a workaround!!
I ended up adding the missing json Conditions block to my S3 amplify deployment bucket in the cloud right after it got updated by amplify push so that the custom modified cloudformation template wouldn't get wiped out (this is what kept happening if I modified the file locally):
File s3/buckets/amplify-FAKENAME-dev-XXXXXX-deployment/amplify-appsync-files/{guid}/stacks/ConnectionStack.json
  "Conditions": {
    "HasEnvironmentParameter": {
      "Fn::Not": [
        {
          "Fn::Equals": [
            {
              "Ref": "referencetotransformerrootstackenvXXXXXXRef"
            },
            "NONE"
          ]
        }
      ]
    }
  }
}
EOF

But the error remains if you don't use my workaround.


Generate 1.x versions of catalog entries

The 1.2 catalogs include a version of each entry that uses "1.x" in place of "1.2". The catalog generator needs to generate these entries as well.

Fix implemented on develop branch.


mergeTranscript duplicates sub-features if single transcript is passed to multiple times.

{
    "end": 46,
    "start": 1,
    "strand": 1,
    "subfeatures": [
        {
            "data": {
                "end": 46,
                "start": 1,
                "strand": 1,
                "type": "CDS"
            }
        },
        {
            "data": {
                "end": 46,
                "start": 1,
                "strand": 1,
                "type": "exon"
            }
        }
    ],
    "type": "transcript"
}

When a transcript created from the above JSON object is passed to EditTrack.mergeTranscript in form mergeTranscript(refSeq, [transcript, transcript]) we get a transcript corresponding to the following JSON object. Notice that we have two exons and two CDS which are identical.
{
    "end": 46,
    "start": 1,
    "strand": 1,
    "subfeatures": [
        {
            "data": {
                "end": 34,
                "start": 1,
                "strand": 1,
                "type": "CDS"
            }
        },
        {
            "data": {
                "end": 34,
                "start": 1,
                "strand": 1,
                "type": "CDS"
            }
        },
        {
            "data": {
                "end": 46,
                "start": 1,
                "strand": 1,
                "type": "exon"
            }
        },
        {
            "data": {
                "end": 46,
                "start": 1,
                "strand": 1,
                "type": "exon"
            }
        }
    ],
    "type": "transcript"
}

@hargup This one is critical. Please could you address this in a PR right away?

I had a look. The bug can manifest itself in several ways and not just as duplicated subfeatures if the same transcript passed (which will never be the case outside test suites). For instance, if two overlapping exons were merged, Afra will still consider overlap junction as a splice point when it shouldn't.

Thanks a bunch for reporting this issue. It was an important catch.


INTERNAL_PREFIX can change it to the relative path [./_frsh]?

INTERNAL_PREFIX is [/_frsh]. Can you change it to the relative path [./_frsh]?
Since I need to use nginx as the reverse proxy, /_frsh is not easy to handle.
thank you very much.

or add a global prefix option?

Hello @jindongyi011039. Were u able to solve it?


555 show agreement letter upload form only when accepted and acceptance mails have been sent

#555 .

Coverage remained the same at 100.0% when pulling ce0b1bc25e5597315581604a90f276a7a953c25f on 555_show_agreement_letter_upload_form_only_when_accepted into 96b65f070f7dca89bde2f080a41328db5377a4a3 on dev.


[REMOVAL] Brave, CloudFlare

Title
CloudFlare
Removal Reason
Are you kidding? No reasons to leave them here!
Association Disclosure
No response
Would you like to submit a PR?
No response
Please tick the boxes

[X] You have filled out this form accurately, and to the best of your knowledge
[X] You have indicated weather or not you are associated with this project or a competitor
[X] A similar submission has not already been opened for this software/ service
[X] You agree to the code of conduct

What makes you think Brave is closed source?

The talk not about me and what I personally know. But about additional information(yes, every info need check)
And, what's wrong with "doubt" for individuals. The alternative information is for own thinking not instruction. So many people can ignore it.
FUD - is label and word "fear" is superfluous. Also there are animal instinctive fear and fear as deliberate caution.
As "Internet rule" says - A label can be hung on all phenomena. Anything with a label on it is easier to hate. The more you hate it, the stronger it becomes

I have no actual report as I am not usin` even my own PC since 24.02 2022(or even earlier), IYKWIM.
I did it several years ago when I had the opportunity to this

So you want to exclude a project that's been in highly active development with a specific goal towards increasing privacy, because of some test you did several years ago and while not having tried it for about year?
I'd rather look at something like https://privacytests.org (updated 2022-11-25).

No. I suggest to exclude.
I also can suggest to use some firewall, e.g. openshitch and look where Brave goes without your knowledge andhow capable will it be if you forbid him to go there

That'd be nice 🙂
Not for the comparison itself, but for possible information about how to interpret the connections Brave makes, you could have a look at https://brave.com/popular-browsers-first-run/

I would just like to draw attention regarding https://privacytests.org/ and especially section "Fingerprint resistence' - there is no alternatives to Librewolf

Well, in LibreWolf, the screen width/height is replaced with the window width/height, so (especially if you resize the window), it is even more unique than for most users. I genuinely don't understand why they would do this tbh. In Tor Browser, the value is just 1000.
So basically, only if you never resize the LibreWolf window (it is 1600x900 by default), this could maybe get you a somewhat less specific fingerprint. But I wouldn't be surprised if the actual effect is counterproductive.

So, as I see resistance is futile

Those websites are a bit confusing to me: if your browser has a unique fingerprint every time you run it, then that means some of the variables are randomized. This could mean that it makes fingerprinting more complicated, but who's to say that actual websites that track you are using those very variables that happen to be randomized? They might as well use a subset of what those tests use, making it perfectly viable to still fingerprint. Disclaimer: I don't know a hell of a lot about this, so don't take my word for it, but I feat the logic I'm using here is sound.


Implement automatic OAuth2 token refresh in Python code

this pr actually also fixes an breaking error in views.py - indentation error.


Some typos, warnings and unused variables

Dear all
Here I enclose you the files with some typos and warnings fixed, and unused variables commented out.
I am sorry to include them this way.
MoorDyn_v2.zip
Best regards
Iñaki

@izabala123 thanks!

:blush:


Update README.md

I copied the readme from the curseforge page and added a Link to it.

btw, thanks for creating this mod :-)

No problem, and thanks for the PR! :)