Experimental settings of image-text retrieval in Table 3

Hi,
thanks for your great work and wonderful project.
When reading the paper, I have a question about the experimental settings of image-text retrieval in Table 3, where BLIPFuseCap outperforms the original BLIP by a large margin.
As marked in the paper, when performing the image-text retrieval on BLIPFuseCap, the texts in testing set are also enriched.
Is it somewhat unreasonable to enrich the test texts? After all, the paired visual information is required when enriching the text.

Hi @byougert and thank you for your kind words!
You are correct in noting that enrichment during testing requires paired visual information. However, it's important to consider that the initial creation of captions (for both training and testing data) also involves the use of paired visual information - human annotators view the images to generate the captions. We automated a process that enhances these original captions, resulting in a more detailed version of them.
We believe that the improved retrieval performance not only confirms the success of enriching the captions but also shows that vision-language models can benefit from and successfully use these additional details as a discriminative factor.
We hope this addresses your concern. We appreciate your interest in our work and welcome any more questions you might have!

Hi, @RotsteinNoam and thanks for your patient reply.
When performing the task of image captioning, it is undoubted that the proposed FuseCap exhibits the excellent ability of fine-grained attention; while in Table 3 which mainly reflects the retrieval performance, I am concerned that it may be inappropriate to change the test caption into an enriched version, which indeed requires the corresponding visual information.
Unfortunately, before the retrieval, the correspondence relation is, in principle, agnostic.
If directly using the enriched test caption to perform retrieval evaluation,  this evaluation actually utilize the correspondence relation and it seems somewhat illogical.
Anyhow, thanks for your reply again.


fix(project): add repository url

Pull Request Test Coverage Report for Build 1401

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 53.588%

Totals

Change from base Build 1392:
0.0%

Covered Lines:
8485

Relevant Lines:
13940

💛  - Coveralls


added missing props

@ishtiaq-px We can't merge in 66 thousand lines and realistically review it. Please break this down into multiple PRs, feature by feature.


Fix common errors

@tisnik Your image is available in the registry: docker pull MISSING_REGISTRY_NAME/MISSING_IMAGE_NAME:SNAPSHOT-PR-27

:+1:  Thanks to the Guru QA/QE! LGTM of course :)
Merging.


adds coverage reporting using nyc and coveralls.io

This pull adds coverage reporting, using coveralls.io and the nyc instrumenter.

run npm run coverage to get a human readable coverage report.
run npm run coverage -- --reporter=lcov to get an HTML report over coverage in the /coverage folder.
run npm run coveralls to report coverage to the coveralls.io.

you'll need to setup your repo on coveralls.io and grap the COVERALLS_REPO_TOKEN.
on travis-ci.org, you'll need to set an environment variable with the value of COVERALLS_REPO_TOKEN

---------------|-----------|-----------|-----------|-----------|
File           |   % Stmts |% Branches |   % Funcs |   % Lines |
---------------|-----------|-----------|-----------|-----------|
   ./          |     98.08 |     77.78 |     90.91 |     98.08 |
      index.js |     98.08 |     77.78 |     90.91 |     98.08 |
---------------|-----------|-----------|-----------|-----------|
All files      |     98.08 |     77.78 |     90.91 |     98.08 |
---------------|-----------|-----------|-----------|-----------|

Thanks :)

thanks! \o/

Would be happy to accept a similar PR on https://github.com/sindresorhus/pageres ;)


Update Cost of living navigation page with v5 content updates

Series of content updates denoted as V5 of the page.
See the trello card for link to the spreadsheet that contains details of those changes.
⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠

Copy was reviewed and approved by Content Designer


[BEAM-3005] Add resource limits to provisioning

Use memory limit for JVM max heap size.

R: @kennknowles

retest this please

The generated python protos seems to have moved, which caused the rat check to fail. Updated the configuration.

The RAT issue will be resolved by #4027. We've had a broken config for some time and got lucky.

Ok. I did actually see your change and it still has old python path in it. I also wanted to exclude the Go protos.

SGTM

Thanks. Any comments regarding the actual content in this PR?

(nothing terribly substantial here)

The java build doesn't matter here, but just going to kick it.

run java precommit

R: @wcn3 for the Go parts.
Thanks @kennknowles. Sorry -- I should probably have asked for Go review first.

Thanks @wcn3!

@kennknowles PTAL


Having "train_voc.py" would help a LOT

Reading https://github.com/Visual-Behavior/detr-tensorflow/blob/main/notebooks/How to load a dataset.ipynb in order to load a VOC dataset, but still unclear
For example, it keeps saying "ModuleNotFoundError: No module named 'detr_tf'"
It'd be nice if you could produce a python file especifically for voc datasets: just like you have train_coco.py, but train_voc.py

Hi, to import detr_tf you must first add the package/root of the repository to your  python path.
In the notebook you can replace ../ by the path to the repository on your machine.
import sys
# Set the path to detr_tf
sys.path.append("../")

Let me know if it helps :)

Hi, to import detr_tf you must first add the package/root of the repository to your  python path.
In the notebook you can replace ../ by the path to the repository on your machine.
import sys
# Set the path to detr_tf
sys.path.append("../")

Let me know if it helps :)

Also the only difference between training on VOC or training on COCO is the dataset loader.
    # Load the training and validation dataset
    train_dt, coco_class_names = load_coco_dataset(
        config, config.batch_size, augmentation=True, img_dir="train2017", ann_fil="annotations/instances_train2017.json")
    valid_dt, _ = load_coco_dataset(
        config, 1, augmentation=False, img_dir="val2017", ann_fil="annotations/instances_val2017.json")

should be replaced by
    # Load the training and validation dataset
    train_dt, voc_class_names = load_voc_dataset(
        config, config.batch_size, augmentation=True, img_dir="relative/path/to/the/img_dir", ann_dir="relative/path/to/the/ann_dir")
    valid_dt, _ = load_voc_dataset(
        config, 1, augmentation=False, img_dir="relative/path/to/the/img_dir", ann_dir="relative/path/to/the/ann_dir")

Also the only difference between training on VOC or training on COCO is the dataset loader.
    # Load the training and validation dataset
    train_dt, coco_class_names = load_coco_dataset(
        config, config.batch_size, augmentation=True, img_dir="train2017", ann_fil="annotations/instances_train2017.json")
    valid_dt, _ = load_coco_dataset(
        config, 1, augmentation=False, img_dir="val2017", ann_fil="annotations/instances_val2017.json")

should be replaced by
    # Load the training and validation dataset
    train_dt, voc_class_names = load_voc_dataset(
        config, config.batch_size, augmentation=True, img_dir="relative/path/to/the/img_dir", ann_dir="relative/path/to/the/ann_dir")
    valid_dt, _ = load_voc_dataset(
        config, 1, augmentation=False, img_dir="relative/path/to/the/img_dir", ann_dir="relative/path/to/the/ann_dir")


SignalR NPM package breaks Angular app build

Disclaimer: It related to older @aspnet/signalr package, I don't know if it is already fixed in the new one, but for now the package is pretty unusable in Angular/Webpack scenario.
After adding @aspnet/signalr project stopped compiling with the error "TS2322: Type 'Timeout' is not assignable to type 'number'."
To Reproduce

Make Angular project that has a call to setTimeout:

var t: number = setTimeout( () => { console.log( "here" ); }, 1000 );

Build it with ng build
It should fail with error TS2322.

The cause
@aspnet/signalr package has dependency on @types/node. If it gets installed, it hijacks the "standard" ambient declarations, so setTimeout gets wrong type. Unfortunately it's impossible to tell TypeScript compiler to skip some type, and also the signalr package doesn't want to compile if there is no nodejs types.

Thanks for contacting us, @AndrewMayorov.
I don't see any easy workaround here. @anurse thoughts?

We'll look at it

@AndrewMayorov can you post a runnable sample project that reproduces the issue? Also, are you using the ASP.NET Angular SPA templates or just a standard Angular app?

I managed to get the repro together. As a workaround (I know it's not ideal) you can override the TypeScript behavior using the below snippet and it should work:
let t: number = (setTimeout(() => { console.log("..."); }, 1000)) as unknown as number;

Casting to number via unknown tells TypeScript to ignore the conflict :).
We'll look at a first-class fix though, since that's not ideal.

Looks like the easiest fix here is for us to remove all our @types dependencies from the devDependencies section. The assumption was that since they were devDependencies they'd only apply to this instance (not when installed as a package) but it seems that's incorrect. The conflict is occurring (as @AndrewMayorov pointed out) because installing @aspnet/signalr also brings down the dev dependencies.

Thank you for the answer, @anurse! Workarounds are not a real option here, because we already have tons of code, and this is, after all, a hack. So for now I preferred the workaround with loading SinglarR as an external script. But this also bad, of course.

Ok, glad to hear you've got some kind of workaround. I realize this is something we need to fix, just want to make sure you can be unblocked as quickly as possible :).

@AndrewMayorov  I tried out an ng new app and could repro the issue without adding @aspnet/signalr.
This is because by default ng new comes with a direct reference to @types/node and an indirect reference via @angular-devkit/build-angular. See https://github.com/angular/angular-cli/issues/13784 for a discussion about that.
After removing both of those deps and then adding @aspnet/signalr I couldn't repro the issue.

After adding @aspnet/signalr project stopped compiling with the error "TS2322: Type 'Timeout' is not assignable to type 'number'."

This sounds like your project was working fine before so we'll need some help getting a repro because we can't reproduce it. Would it also be possible to provide your package.lock.json?

Yeah, I also can't repro this on a plain package.json with SignalR installed. I don't think SignalR is the one bringing in @types/node. I'm going to close this for now, but if you can share a project that works without @aspnet/signalr and doesn't work with @aspnet/signalr we can investigate further.
> cat .\package.json
{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@aspnet/signalr": "^1.1.4"
  }
}
> dir .\node_modules\@types
dir : Cannot find path 'C:\Code\anurse\Scratch\test\node_modules\@types' because it does not exist.
At line:1 char:1
+ dir .\node_modules\@types 2>&1 | clip
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : ObjectNotFound: (C:\Code\anurse\Scra\u2026node_modules\@types:String) [Get-ChildItem], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand

@anurse, @BrennanConroy, you are right, guys. I also cannot make a fresh project that reproduces the problem. Angular template indeed has @types/node in devDependencies, and just removing it is not enough, as Angular build depends on it (via webpack).
So I have no idea why in our project it behave differently. We don't have explicit reference to node typing, but transient dependency is still there. I will try to reproduce it there.


[Issue]: catch_discover_tests_compile_time_detection does not work

Problem Description
This function is supposed to perform test discovery during compilation - this is how it used to work in older versions of HIP (while tests were still part of that repo).
Without this functionality we have to run the test discovery at runtime which in our case takes 70s. So to run a single 1 second long test, it takes us 71s which hinders development.
Additionally, even when using the runtime discovery path, the discovered tests are not being cached which is also a regress from the old HIP.
Operating System
Ubuntu
CPU
Intel
GPU
Intel Arc
ROCm Version
None
ROCm Component
No response
Steps to Reproduce
No response
(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support
No response
Additional Information
No response

@tcgu-amd this is using catch2, no?

manually use the function defined

First time seeing this function. Seems like it should work.

Also, apologies for the late response, but it seems like there were multiple build errors for you pull request in our internal testing environment

I opened an issue o March 11 so if you are trying to merge now I am not surprised that there are conflicts.

Maybe we can break it down and get this sorted out first.

I've opened several PRs with AMD and every time we run into a situation like this: by the time someone looks at it things are already conflicting, I am asked to rebase, nobody looks at the rebase, repeat the process.
Case in point: https://github.com/ROCm/hip-tests/pull/459
May 6 someone said they are looking into it and will get back to me soon. It's been been 4 months since that comment.

I opened an issue o March 11 so if you are trying to merge now I am not surprised that there are conflicts.

Maybe we can break it down and get this sorted out first.

I've opened several PRs with AMD and every time we run into a situation like this: by the time someone looks at it things are already conflicting, I am asked to rebase, nobody looks at the rebase, repeat the process.
Case in point: #459
May 6 someone said they are looking into it and will get back to me soon. It's been been 4 months since that comment.

Thank you so much for continuously being active and contributing to ROCm. We understand your frustration; as a result, we have recently established a dedicated team for addressing issues on Github. Starting from now on, we will try our best to hopefully ensure issues are being addressed in a timely fashion.
In this case, I think your PR was in the system back in May when build errors were encountered. We apologize for the lack of follow-ups, and we will try to keep you posted for future updates.
For future PR's, it could help to break down changes into smaller portions to help accelerate the merge process. It would make it easier for us to review, approve, and modify the code internally. When a PR is too big, chances are it will get stuck somewhere in the system due to the approvals and changes it requires.


gcc/4.7.2/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18'

Bug Report
Current Behavior A clear and concise description of the behavior.
When running my package, which uses a pre-built c packages as-well, it fails on GLIBC stuff.
When I run my package standalone without memray, it does work.
ImportError: /***/pkgs/gcc/4.7.2/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by ***.cpython-37m-x86_64-linux-gnu.so)

Input Code

REPL or Repo link if applicable:
Not applicable

Expected behavior/code A clear and concise description of what you expected to happen (or
code).
It should run the same as running my main module
Environment

Python(s): Python 3.7.4

Possible Solution

Additional context/Screenshots Add any other context about the problem here. If applicable, add
screenshots to help explain.

GCC 4.7.2 is from 2012, and Memray is written in C++17. The earliest version of GCC that even began to implement C++17 features was GCC 5.

I think I've diagnosed this incorrectly - I've downloaded our 3.7 wheel, and confirmed that it does not depend on GLIBCXX_3.4.18 (the highest versioned symbols it requires are provided by GLIBCXX_3.4.11). Which means that dependency is coming from your module, not ours, and the version of libstdc++ that your library is compiled against is not compatible with the version of libstdc++ that it winds up being linked against at runtime.
I think what's going wrong is that your system has multiple copies of libstdc++ on it, and when your extension module works, it's because you are getting it to load some non-default version of libstdc++ (possibly with LD_LIBRARY_PATH, or possibly with -Wl,-rpath when you link it). When Memray (or any other C++ extension) gets loaded first, the version of libstdc++ that gets loaded will be the one provided by the system, but when your extension gets loaded first, it's somehow forcing a different version of libstdc++ to be pulled in.
If you take your ***.cpython-37m-x86_64-linux-gnu.so and run:
readelf -a memray/_memray.cpython-37m-x86_64-linux-gnu.so | egrep '(PATH|libstdc|Name: GLIBCXX)'

what output do you get? Does it include a dependency on GLIBCXX_3.4.18?
If the output contains a Library rpath line, does a libstdc++ exist in that directory? If not, can you check whether you're setting LD_LIBRARY_PATH somewhere in your Python code before you load your extension module?

Well, that *** that you've redacted is important - what is in that directory? Does that directory contain a libstdc++.so.6 that is different from the /***/pkgs/gcc/4.7.2/lib64/libstdc++.so.6 that you mentioned in your initial post?

Folder does not contain libstdc++.so.6
Here is a more informative library runpath:
Library runpath: Library runpath: [/../pugixml/1.11/_/_/package/lib:/../boost/1.75.0/_/_/package/lib:/../pybind11/2.6.2/lib:/../zlib/1.2.11/lib:/../bzip2/1.0.8/lib:/../cci.20210118/lib]

And none of those colon-separated directories contain a libstdc++.so.6? Hm, that's not what I was expecting to find.
OK, let's try a different direction: try importing your module into a Python interpreter and then doing
print("".join(line for line in open("/proc/self/maps") if "libstdc++" in line)

You should get some output that looks roughly like:
7f7b4667d000-7f7b46766000 r-xp 00000000 08:20 6486                       /usr/lib64/libstdc++.so.6.0.19
7f7b46766000-7f7b46966000 ---p 000e9000 08:20 6486                       /usr/lib64/libstdc++.so.6.0.19
7f7b46966000-7f7b4696e000 r--p 000e9000 08:20 6486                       /usr/lib64/libstdc++.so.6.0.19
7f7b4696e000-7f7b46970000 rw-p 000f1000 08:20 6486                       /usr/lib64/libstdc++.so.6.0.19

What is the path in the last column for you? Presumably it's not the /***/pkgs/gcc/4.7.2/lib64/libstdc++.so.6 that you mentioned in your first post, so the question is what it is and where it's coming from.

There's nothing further I can do to help debug this without more information from the issue submitter. I'm going to close this since there haven't been any updates in over a month and the issue does not appear to be with Memray, but rather with the way the OP's other package is built.

I appreciate it. For now, let's keep this one closed.


Publishing to the NPM registry

Would it be possible to publish this as a package to the NPM registry?
At the moment, it looks like I have to consume this as a git reference. Unfortunately the downside of this approach is references like version tags and even the repo itself are mutable which is potentially problematic over a longer term compared to a versioned package on the NPM registry which is much more stable.
Another pain point I've run into without this package being on the NPM registry is being unable to specify a version range for this package as a peer dependency.

Is this not fixed? https://www.npmjs.com/package/@wapc/as-msgpack

Is this not fixed? https://www.npmjs.com/package/@wapc/as-msgpack

Yes! This package is now published on NPM as @wapc/as-msgpack. Closing this ticket.

Yes! This package is now published on NPM as @wapc/as-msgpack. Closing this ticket.


#146623141 HoundCI with badge attached to readme

What does this PR do?
This is to automatically validate the codebase with standard style guides
Description of Task to be completed?
Integrate HoundCI with badge attached to readme
How should this be manually tested?
HoundCI would review your code on your next pull request as shown in the screenshot below
Any background context you want to provide?
HoundCI would check pull requests based on eslint configuration provided by another team member
What are the relevant pivotal tracker stories?
Integrate HoundCI with badge attached to readme
Screenshots (if appropriate)

Questions:
None

The commit message does not follow the naming conventions.

hi q-ode. I have edited my commit message. Please review


Updated Site Map (need by 8/4)

Update the Site Map for review in the EASEY Baby meeting on 8/4
Assets

Updated EASEY Sitemap

@JorjaComer @MoAdeyoju —
Hello,
The link is in the issue description. Please let me know if there are any access issues.
Best,
Alex


feat: Implement UI element to annotate YAML files

What this PR does / why we need it:
This PR adds a new markdown UI element that can be used to break down YAML snippets with annotations to call out each important section and what its doing. This is currently being done in several labs but without much consistency and in generally still requiring a lot of effort for the user to pick through the YAML to match the explanations with parts of the file.
This is an example of the markdown used:
::yaml{file="manifests/modules/autoscaling/compute/karpenter/scale/deployment.yaml" paths="spec.replicas,spec.template.spec.nodeSelector,spec.template.spec.containers.0.image,spec.template.spec.containers.0.resources"}

1. Initially specifies 0 replicas to run, we'll scale it up later
2. Requires the pods to be scheduled to capacity provisioned by Karpenter by using a node selector that matches our NodePool
3. Uses a simple `pause` container image
4. Requests `1Gi` of memory for each pod

Things to note:

File is referenced by path
The "paths" attribute accepts a comma-separated list of paths to highlight in a similar format to jq. You can reference specific fields (metadata.name), whole blocks/multiple lines (spec.template) and specific items in arrays using numbers (spec.template.spec.containers.0) as well as fields of them (spec.template.spec.containers.0.name).
Optionally you can include a markdown ordered list as the next markdown element and it will correlate these in the order that the "paths" attribute was specified. So item (1) will match the first entry in "paths", (2) will match the second etc.

The above example will render like this:

Which issue(s) this PR fixes:
N/A
Quality checks

[x] My content adheres to the style guidelines
[x] I ran make test module="<module>" it was successful (see https://github.com/aws-samples/eks-workshop-v2/blob/main/docs/automated_tests.md)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@niallthomson I like this particularly being able to use markdown formatting like code blocks in the descriptor text. Can we add your blurb above to the style guide? https://github.com/aws-samples/eks-workshop-v2/blob/main/docs/style_guide.md

@svennam92 based on some feedback I changed the annotations from numbers to letters to better distinguish from the line numbers. Updated the style guide and UI components docs.


Verifiable Credentials revocation mechanism for VC based on Peer DID

Is it possible to issue VC based on Peer DID? Should we include VC revocation registry besides DID Doc?
The scenario that I am thinking about is, Alice as a user, would like to issue data access control VC to VC Holder, Bob (or an org), so Bob can request data from Verifier by issued VC, where Verifier is an organization that holds Alice's data, such as Bank, Government or School.
It is clear to me that Alice can issue her data access control VC that is verifiable with Alice Public DID (public key) and her VC revocation registry (non-revocation Proof).
What if I would like to issue VC based on Peer DID? We can get the key from DID Doc. How about VC revocation registry for Holder to get non-revocation Proof?

Yes, it's straightforward to issue a VC to a peer DID. No special effort is required, as long as the issuer supports peer DIDs and has received the peer DID value from its owner. Later, no special effort is required to verify, either -- as long as the verifier also supports peer DIDs and has received the peer DID value from its owner.
A revocation registry can list a VC issued to a peer DID exactly like it lists a VC issued to any other DID method. No adaptation is required.
A peer DID is best suited to scenarios where its usage is not public -- but there is nothing that prevents a peer DID from being shared publicly, if desired.

I forgot to clarify that the revocation registry what I would like to talk about is off ledger, something like peer VC?
A revocation registry is stored in VDR in other DID method, so what I want to make sure are,

A revocation registry is defined by CRDTs like peer DID Doc? Add/Delete revoked VC list is just like Add/Delete key and service endpoint?
It SHOULD be one per relationship?
If we need DID Doc, revocation registry, credential scheme/definition for each relationship, should they be separated 3 things or one for all?  Should this be specified in spec or decided by the implementation?

Should they be added in spec or they are out of scope and should be added in peer VC spec  or VC spec?

Friendly ping @dhh1128
The more general question might be,
Similar to DID, there is a public one and a private one (peer DID).
Is it useful that we have private VC (ledger-less VC) that is based on peer DID?
I did not find some references related to this, but they are most likely associated with peer DID, or somewhat similar to it.
Any comment about private VC?


ServerReady and HTTP/2

Internal review URL

The ServerReady part seems fine to me. For the HTTP/2 performance thing, can we use the text I provided above?


I have to run the process several times before perfect minification

What are you trying to achieve?
hey there, I just wrote a script using sharp for minifying png assets for a vue3 project. Everything works great but if I have to launch the script multiple times for having a "perfect minification" (meaning sharp can no longer reduce file size)
I would like the file size reduction to be done in one step, is it possible?
When you searched for similar issues, what did you find that might be related?
I didn't find anything about this, but maybe I'm doing something wrong?
Please provide a minimal, standalone code sample, without other dependencies, that demonstrates this question
here's my script:
/* eslint-disable no-console */
import chalk from 'chalk';
import fs from 'fs';
import glob from 'glob';
import path from 'path';
import sharp from 'sharp';

const imageExtensions = ['jpg', 'jpeg', 'png', 'gif'];

const minifyImage = async (filePath) => {
  const ext = path.extname(filePath).toLowerCase().replace('.', '');
  const fileName = path.basename(filePath);

  if (imageExtensions.includes(ext)) {
    try {
      const originalSize = fs.statSync(filePath).size;
      let transformer = sharp(filePath);

      if (ext === 'jpg' || ext === 'jpeg') {
        transformer = transformer.jpeg();
      } else if (ext === 'png') {
        transformer = transformer.png({ palette: true });
      } else if (ext === 'gif') {
        transformer = transformer.gif();
      }

      transformer.toBuffer((err, buffer) => {
        if (err) {
          console.log(chalk.red(`Error minifying ${fileName}:`, err));
          return;
        }

        const minifiedSize = buffer.length;

        if (minifiedSize < originalSize) {
          fs.writeFile(filePath, buffer, (writeErr) => {
            if (writeErr) {
              console.log(chalk.red(`Error writing ${fileName}:`, writeErr));
              return;
            }
            console.log(
              `${chalk.greenBright('✓')} ${chalk.bold(fileName)} ${chalk.whiteBright.bgGreen(`${originalSize}kb -> ${minifiedSize}kb`)}`,
            );
          });
        } else {
          console.log(
            `${chalk.whiteBright('✓')} ${chalk.bold(fileName)} ${chalk.black.bgWhiteBright('already optimized')}`,
          );
        }
      });
    } catch (error) {
      console.log(chalk.red(`Error minifying ${fileName}:`, error));
    }
  }
};

const runImageMinification = () => {
  glob('src/**/*.{jpg,jpeg,png,gif}', (err, files) => {
    if (err) {
      console.log(chalk.red('Error searching for images :', err));
      return;
    }

    console.log(chalk.cyanBright(`Minification process started for ${files.length} files...`));
    files.forEach((filePath) => minifyImage(filePath));
  });
};

runImageMinification();

Please provide sample image(s) that help explain this question

Palette-based PNG output is a lossy process, so further decode/encode roundtrips will throw away more data each time. You could try reducing the quality setting from its default of 100 if you want palette-based output and value smaller file size over "quality". You'll need to experiment with a suitable value for your given scenario.
-        transformer = transformer.png({ palette: true });
+        transformer = transformer.png({ quality: 50 });

https://sharp.pixelplumbing.com/api-output#png


Specify fp species in ini file

At the moment data_processing_surface_notracer can't select an fp for a specific species (except co2) from a store. So if you have inert fps and short lifetime fps in the same store, the call to get_footprint fails because it finds multiple matching entries.

Closed with RP #114


Prototype how to use collect status in Prometheus

If we're going to have constant [log/status message] strings this way, they could be class-level rather than instance level, or just plain ALL-CAPS constants the way the old status was (just to make it clear what they are).
Alternatively, this seems like a great place for a tiny meta-config class/method, where:
if some_bad_thing:
  self.set_unit_status("push_fail") # or even an Enum at the top to make it self.set_unit_status(PUSH_FAIL)

Would be a nice abstraction which keeps the list of conditions->statuses in a single place, almost like a excepthook
Originally posted by @rbarry82 in https://github.com/canonical/prometheus-k8s-operator/pull/352#discussion_r969408602

https://github.com/canonical/prometheus-k8s-operator/commit/4ca83b670f72f964e60c0ce69bd0f66b47016aaa - this has already been done iteratively. Closing issue


TypeError: Cannot read property 'ownerDocument' of null

Describe the bug
Not sure how this happens, but I got it after trying to edit text after inserting an image.
To Reproduce
Not sure
Expected behavior
Screenshots
Applicable Versions:

Netlify CMS version<EMAIL_ADDRESS>Git provider: git-gateway
Browser version: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.192 Safari/537.36

CMS configuration
backend:
  name: git-gateway
  branch: main
media_folder: img/uploads
public_folder: /img/uploads
publish_mode: editorial_workflow
collections:
  - sortable_fields:
      - commit_date
      - title
      - date
      - author
    view_filters: []
    name: blog
    slug: "{{year}}-{{month}}-{{day}}-{{slug}}"
    editor:
      preview: false
    folder: _posts
    view_groups: []
    publish: true
    label: Blog
    fields:
      - label: Layout
        name: layout
        widget: hidden
        default: post
      - label: Author
        name: author
        widget: string
        required: false
      - label: Featured Image
        name: featured_image
        widget: string
        required: false
      - label: Title
        name: title
        widget: string
      - label: Publish Date
        name: date
        widget: datetime
      - label: Body
        name: body
        widget: markdown
    type: folder_based_collection
    create: true
  - sortable_fields:
      - commit_date
      - title
      - commit_author
    view_filters: []
    name: resources
    slug: "{{slug}}"
    editor:
      preview: false
    folder: _resources
    view_groups: []
    publish: true
    label: Resources
    fields:
      - label: Title
        name: title
        widget: string
      - label: Body
        name: body
        widget: markdown
    type: folder_based_collection
    create: true
slug:
  encoding: unicode
  clean_accents: false
  sanitize_replacement: "-"

Additional context

Hi @woodhull can you share a public repo reproduction the issue?  Also please share screenshots of the error

I dont know how to reproduce. It happened once while inserting an image and has not happened again.
I got the crash report interstitial screen and it suggested reporting issues here would be helpful so that is what I did.


XHTML test coverage

Since XHTML is officially supported in https://github.com/angular/angular-cli/issues/16964#issuecomment-587271546, we should have comprehensive test coverage to ensure that we don't lapse from future changes.
If we identify any existing failures, then we should also fix those at the same time.

Duplicate of #18044

Super-seeded by general XHTML support rather than just being focused on test coverage.


Not compiling using Intel 16.0 (with Visual Studio 2013)

Hi,
very nice small thing! I tested it using Intel Compiler 16.0 (under Visual Studio 2013)  but it does not work, unfortunately. Is there a chance that it could be fixed? Error message is " error #54: too few arguments in invocation of macro "VISIT_STRUCT_PP_MAP1". Thank you! With boost/Fusion it is working, but I strongly prefer your approach because of the much much smaller source-code-footprint (and also usage is more elegant).

Hi,
I didn't test with that compiler, I could attempt it by pasting test code into godbolt or something similar.
There is a standing pull request which I am evaluating to change how these macros work and do something that is simpler. You might want to try with Jarod42's version.
Another thing you could do is try the intrusive syntax, it doesn't use this macro. It worked in MSVC 2015, I'd like to know if it works in Intel.

Hi,
thank you for your fast reply. I am evaluating using such an approach for existing header files with structs that are also used by other stakeholders that use different compilers and potentially also plain c. The intrusive approach is therefore not really an option.
I am not really a preprocessor guru, it seems that Intel compiler has problems with this part of your code:
#define VISIT_STRUCT_PP_MAP0(f, x, peek, ...) f(x) VISIT_STRUCT_PP_MAP_NEXT(peek, VISIT_STRUCT_PP_MAP1)(f, peek, VA_ARGS)
#define VISIT_STRUCT_PP_MAP1(f, x, peek, ...) f(x) VISIT_STRUCT_PP_MAP_NEXT(peek, VISIT_STRUCT_PP_MAP0)(f, peek, VA_ARGS)
#define VISIT_STRUCT_PP_MAP(f, ...) VISIT_STRUCT_PP_MAP_EVAL(VISIT_STRUCT_PP_MAP1(f, VA_ARGS, (), 0))
On the right hand side, the macros VISIT_STRUCT_PP_MAP0 and VISIT_STRUCT_PP_MAP1 have no arguments. I must admit that I also don't understand why this compiles with other compilers. Any insight?
Thanks

One of the features of C preprocessor is that sometimes a token is expanded, and sometimes its expansion is delayed. Sometimes two tokens are concatenated, and then in a later "expansion" of the current line, the concatenated name will refer to a new macro which then gets expanded there.
I don't understand it in real detail or in terms of the standard, tbh I only really understand it at an intuitive level.
I think my assumption is that the Intel 16.0 compiler with visual studio probably uses exactly the same preprocessor as MSVC, if it is trying to be interchangeable with MSVC. If you want to see details about the bug, I did report it on swansontec/map-macro, he's the guy who developed this map macro. You can also see the full bug in our appveyor build logs, I guess you could tell me if the bug you get is identical?
I guess I should mention another thing:

I am evaluating using such an approach for existing header files with structs that are also used by other stakeholders that use different compilers and potentially also plain c. The intrusive approach is therefore not really an option.

This reminds me somewhat of another library: "magic-get" or "pod-flat-reflection": https://github.com/apolukhin/magic_get
This one does seem really strange voodoo that at first glance seems to contradict what I wrote in my readme. Basically it's sort of like visit_struct, but you don't have to register anything. The way it works basically is, he assumes that your struct is POD, and that it always has aggregate initialization. Then using some complex template voodoo, he's able to figure out what your struct is based on what constructors it has, which he can sort of test by brute force using SFINAE.
So the catch is that I at least would never use this in production code, because in the end there is no reflection -- he basically "guesses" what the actual layout in terms of pointer arithmetic and padding of your class will be, since he can't actually get the member pointers, he only deduces what types are there based on what constructors are there. Then he just sort of adds the correct padding values and reinterpret casts things as necessary to get the struct members. So, if you used a nonstandard compiler that doesn't do things the way he expects, you'll get a lot of UB.
But depending on what you are doing, and esp. if this is not suppose to go in like production code, but rather generate diagnostics or debug tools or something, this lib might save you a lot of time, since it removes the need to register everything.
I never actually used this magic-get thing, but I did study it, and I think in the right scenario I would use it. Hope that helps.

Thank you for the magic-get stuff hint, I will have a look at it. But it definitely goes into product code. The reflection feature would be used only in non-product manner, but since the headers are used in production code it depends how both parts can be separated (I don't want to have any of this pseudo-reflection-stuff into production code). POD-iness can be easily tested with C++11 std::is_pod, perhaps this is sufficient.

Remark on https://github.com/apolukhin/magic_get:
It requires C++14 compiler and (as far as I understand looking at the examples) does not support variable names.

Yeah, if you need variable names then that's not what you want.
I merged this change I mentioned, it should hopefully be working for you. At least, appveyor build seems to be working. I don't know if appveyor can be used to test intel compiler, I might look into it.

Hi thanks!  And still it is a very small file!. In a first test with Intel 16.0 in Visual Studio under Windows 7 it compiles and works well. Perfect!
Write access:
One question: how can I write to the struct? I used a visitor with
void operator()(const char * name,  TYPE& i)
{
m_pVar=&i;
}
But I get an error that no overload of operator() matches the Argument list. Any idea? (With 'TYPE' instead of 'TYPE&' it worked...

Sounds about right :tada:

But I get an error that no overload of operator() matches the Argument list. Any idea?

Can you post an MCVE?

I found the problem. In short:  IT IS NOT IN YOUR CODE.
Since I used nested templated stuff using std::tuple, it was quite difficult to find it. I implemented a visitor with functions for each basic integer type: uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t.  First the member was transfered as a  parameter copied by value. Your visit_struct worked without problems. Then I replaced it by a reference, because I wanted to have write access to the struct member. Then there was this strance compiler error. Finally I discovered the reason: for the compiler the type "long" (also used in some parts of our code) is a NINETH integer type in addition to the eight typed mentioned above! When giving the parameter by copy, there was apparently an implicit type conversion and the code compiled. With the reference it did not. With an extra overload in the visitor for Long it works again.

Interesting, I never encountered that. I think on clang and gcc, it is always one of those types.


Print Function

From<EMAIL_ADDRESS>on May 20, 2010 04:33:55
Hello,
Please could you explain that how we can use solo.getViews() function   to
print views in console with example and please let me know is there any
function to print results in console.
Thanks.
Alf.
Original issue: http://code.google.com/p/robotium/issues/detail?id=8

From<EMAIL_ADDRESS>on May 20, 2010 08:21:32
Not an issue or enhancement.
Status: Invalid


@nxkit/style-dictionary broken as of<EMAIL_ADDRESS>

Current Behavior
Getting an empty build after upgrading to<EMAIL_ADDRESS>with<EMAIL_ADDRESS>Expected Behaviour
Should get a working build
Github Repo
No response
Steps to Reproduce

Create a fresh nx repo
Setup style-dictionary as described inside the readme
Run build
Get empty build

Nx Report
>  NX   Report complete - copy this into the issue template

   Node   : 20.9.0
   OS     : win32-x64
   npm    : 9.5.1

   nx                 : 17.2.4
   @nx/js             : 17.2.4
   @nx/jest           : 17.2.4
   @nx/linter         : 17.2.4
   @nx/eslint         : 17.2.4
   @nx/workspace      : 17.2.4
   @nx/devkit         : 17.2.4
   @nx/eslint-plugin  : 17.2.4
   @nx/next           : 17.2.4
   @nx/react          : 17.2.4
   @nrwl/tao          : 17.2.4
   @nx/web            : 17.2.4
   typescript         : 5.2.2
   ---------------------------------------
   Community plugins:
   @nxkit/style-dictionary : 4.0.0

Failure Logs
> nx run my-tokens:build

scss
No properties for _variables.scss. File not created.
android
No properties for font_dimens.xml. File not created.
No properties for colors.xml. File not created.
compose
No properties for StyleDictionaryColor.kt. File not created.
No properties for StyleDictionarySize.kt. File not created.
ios
No properties for StyleDictionaryColor.h. File not created.
No properties for StyleDictionaryColor.m. File not created.
No properties for StyleDictionarySize.h. File not created.
No properties for StyleDictionarySize.m. File not created.
ios-swift
No properties for StyleDictionary+Class.swift. File not created.
No properties for StyleDictionary+Enum.swift. File not created.
No properties for StyleDictionary+Struct.swift. File not created.
ios-swift-separate-enums
No properties for StyleDictionaryColor.swift. File not created.
No properties for StyleDictionarySize.swift. File not created.
✅ Successfully built design tokens

Additional Information
After investigation it appears that format function does not get triggered.
Let's say I have the following setup , minifyDictionary function does not get triggered,
// style-dictionary.config.ts
const config: Config | Config[] = [
  {
    source: ['src/tokens/**/*.json'],
    platforms: {
      ts: {
        transformGroup: 'js',
        buildPath: 'typescript/',
        files: [
          {
            destination: 'design-tokens.ts',
            format: 'minifyDictionary',
          },
        ],
      },
    },
  },
];

// src/extensions/formats/index.ts

const customFormatsBuilder: CustomFormatsBuilder = (
  extensionContext: ExtensionContext
) => {
console.log('builder gets called')
  return {
    minifyDictionary: function ({ dictionary }) {
       console.log('minifyDictionary call')
       ...
     }
};

export default customFormatsBuilder;

// project.json
{
...
  "targets": {
    "build": {
      "executor": "@nxkit/style-dictionary:build",
      "outputs": ["{options.outputPath}"],
      "options": {
        "outputPath": "libs/my-tokens/src/build",
        "styleDictionaryConfig": "libs/my-tokens/style-dictionary.config.ts",
        "tsConfig": "libs/my-tokens/tsconfig.json",
        "customActions": "libs/my-tokens/src/extensions/actions/index.ts",
        "customFormats": "libs/my-tokens/src/extensions/formats/index.ts"
      }
    },
...
}

Code of Conduct

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

I used the following within the executor's normalizeConfig section to convert "source" from a windows path to a posix path, and it seemed to work for my case, however I'm not sure if this is the correct solution.
.split(path.sep).join(path.posix.sep)

I made a little script to patch the lib while the proper fix is being worked on.
const { readFileSync, writeFileSync } = require('node:fs');

const badCode = 'require("path")';
const badFile =
<EMAIL_ADDRESS>const badContents = readFileSync(badFile, 'utf8');

const goodCode = 'require("path/posix")';

if (badContents.includes(badCode)) {
  const goodContents = badContents.replace(badCode, goodCode);
  writeFileSync(badFile, goodContents, 'utf8');
  console.log('Patched');
} else {
  console.log('No changes needed');
}

Using a prepare target, it runs whenever style dictionary needs to build.
    "prepare": {
      "executor": "nx:run-commands",
      "options": {
        "commands": [
          {
            "command": "node tools/patch-nxkit-style-dictionary.js"
          }
        ]
      }
    },
    "build": {
      "dependsOn": ["prepare"],
      "executor": "@nxkit/style-dictionary:build",
      ...
    },

@allcontributors add @astrodomas for bug

Hi. style-dictionary v4 support will be added in #113


[RFE] DO FAST Template

Many of the DO settings can be standardized across an entire environment.
A DO FAST template could help standardize and accelerate deployment of devices.
Just looking for a simple DO template, not to have FAST ILX deploy it, yet.
This is to get the idea out there for communication, tracking and visibility.  I may have a need to start something similar in the near future and will report back here accordingly.   :)

Added to the backlog tracking with MYSTIQUE-414


Easy Question: Is "alt_allele_in_normal" from Mutect1 is similar to "normal artifact" in Mutect2(GATK4)

Hello,
I have a very quick and perhaps a basic question. I am trying to use the latest version of Mutect2  via GATK4. The only constrain I have is that the latest version of the Mutect2 does not have FILTER "alt_allele_in_normal" in the VCF. Instead, I do see "normal artifact" in the newer version.
Do you have any experience running DeTiN with a variant noted as  "normal artifact" as the failure reason?
Best

Hi Admera
I don't have any experience with normal artifact. Reading the docs quickly it seems like its based on the same LOD score as tumor LOD. I would treat that flag as a variant we want to consider in DeTiN's model. Seems like its almost equivalent to alt_allele_in_normal.

Hi Admera
I don't have any experience with normal artifact. Reading the docs quickly it seems like its based on the same LOD score as tumor LOD. I would treat that flag as a variant we want to consider in DeTiN's model. Seems like its almost equivalent to alt_allele_in_normal.

Thank you very much for your quick response.

Thank you very much for your quick response.


Gift Entry- Donation Allocation Bundle assigns to Default GAU even when manually changed to a different GAU, and allocation calculations for the first row won't go to 0 if the first row is left alone

On multiple organization's instances, I am experiencing that when an Allocation Bundle is used in the New Gift Entry form and a default GAU exists, when the first row is changed to another GAU besides the default GAU, the eventual Opportunity still has the default GAU for the GAU Allocation. So to work around this, we are leaving the first row alone and adding additional rows for the desired GAU's to be used. However, the calculations won't allow the first row to automatically = $0. It can be any other number, positive or negative, but it cannot equal $0, which is what we want because we want $0 to go towards the default GAU. So when entering a gift for $100, we leave the first row alone, and then add a row for $50 to one GAU, and then add a row and start typing in 50 for another GAU. It starts to calculate the first row from $50 to $45 as you enter the "5". But then you enter the "0" and the calculations stop, and you are left with 3 rows, one with $45, and two with $50. Either the first row should reflect the changed GAU or the calculations should allow you to "0" out the first row and the automatic calculation should do that.

Hi @nicklyndonprolocity,
We don't troubleshoot issues like this on Github so I will need to close the issue here; could you please post your issues with any supporting screenshots, etc. on the Power of Us Hub? There is a Gift Entry Group here - https://powerofus.force.com/s/group/0F91E000000bs7KSAQ/gift-entry
There are a few existing Issues involving GAUs with Gift Entry, and I want to chat further to see if it falls in with one of these:

https://github.com/SalesforceFoundation/NPSP/issues/5955
https://github.com/SalesforceFoundation/NPSP/issues/5824
https://github.com/SalesforceFoundation/NPSP/issues/5699


New Widget: top contributors by velocity

Add a new widget with the top 5 increasing and top 5  decreasing contributors based on change in velocity of participation.

For clarification: after some discussion what we may actually want here is largest deviation from the previous norm in both directions, not highest rate of change.

I need a specification of how to calculate this velocity metric, I think. I've thought about it, but it needs someone with more stats ability than me to explain what exactly I should be calculating. Someone who knows about standard deviations and that sort of thing.

This might be relevant: https://gitlab.com/help/user/analytics/cycle_analytics.md


Use rust feature flags

There has been some discussion about a std_simd_arithmetic feature.  However, I think it may make sense to just provide a feature flag for everything we consider "stable" (which includes arithmetic, among other things) and then separate flags for things that may be less stable (like the const generic shuffles)

My understanding is that once a feature flag is stabilized you're not supposed to move new things to it.

My assumption is we probably still will not be stabilizing for a while, and can add things to it?  I don't really know.

LanesAtMost64 should probably have its own feature flag (std::array::LengthAtMost32 was under const_generics_impl_guard)


Cannot pass config to ballerina compile command

Description:
This does not work.
ballerina compile mod1 --b7a.config.file=conf/ballerina.conf

But it work with  build.
ballerina compile mod1 --b7a.config.file=conf/ballerina.conf

Also we need to remove --config as well. Anyway --config also does not work.

We need to Remove ballerina compile command as it is already supported with ballerina build -c command.


Fixed --config arguments

682d35a9c930386133997b86d603b9be85495628 broke the ability to use --config to point to a static.config.js file.
Non-boolean options should include a <value> segment in the option commander definition.

Excellent find!


Adding Github info to instructions for setting up the development environment

Instructions for setting up the development environment should explain what to do if you don't have a GitHub account, including how to set up ssh keys on your machine.

@timabbott I would like to take this issue. So, while editing the documentation, I was thinking of adding "GitHub" as a requirement in the Developer Environment. So, under the "Requirements", if the developer does not have GitHub he can head over to the github guide link. What do you think ab
out this?

@zulipbot claim

Yeah, I think that's reasonable; I might call it "A GitHub account"?
Also, do you think it should go under "requirements" or here:
http://zulip.readthedocs.io/en/latest/dev-env-first-time-contributors.html#step-2-get-zulip-code
Get some feedback from folks on chat.zulip.org on what they would find most helpful...

Hello @saurabhkanhegaonkar, you claimed this issue to work on it, but this issue hasn't been updated for a week. Are you still working on this issue?
If so, please update this issue by leaving a comment on this issue to let me know that you're still working on this issue within 3 days, or else I'll automatically remove your assignment from this issue.
If you've decided to stop working on this issue, simply comment @zulipbot abandon to abandon this issue so someone else can claim it and continue from where you left off.
Thank you for your understanding and your valuable contributions to Zulip!

@zulipbot claim
posted in the user community stream about this!


Roll Flutter Engine from 916fd798deb3 to 42cc4d1ff3b8 (1 revision)

https://github.com/flutter/engine/compare/916fd798deb3...42cc4d1ff3b8
2022-11-19<EMAIL_ADDRESS>Roll Skia from ad354e712b96 to 80b3e3d24a99 (3 revisions) (flutter/engine#37780)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


About RFRNet code

for i in range(6):
x2, m2 = self.Pconv21(x2, m2)
x2, m2 = self.Pconv22(x2, m2)
x2 = F.leaky_relu(self.bn2(x2), inplace = True)
x2 = self.RFRModule(x2, m2[:,0:1,:,:])
x2 = x2 * m2
About RFRNet code , I wonder why the result x2 after self.RFRModule needs to be carried out x2 = x2 * m2。This will obscure the newly generated pixels。Looking forward to your reply，thank you.

Thanks for your question.
This part is an intentional design in RFRNet. The basic idea behind the RFRNet is that when there are a large number of missing pixels, the contents in the known region is not informative for recovering the pixels in the hole center. As a consequence, in the earlier iterations during inpainting, we drop the synthesized pixels in the hole center and recover these pixels in later iterations when there are more known pixels. In x2 = x2 * m2, the m2 is an updated mask whose hole region is smaller than that from the previous m2. This way, we can progressively inpaint the missing regions from their boundaries to the centers.


feat(@ngtools/webpack): add AngularCompilerPlugin

Only other comment would be to have this on by default when the user uses AOT and Angular 5.

I would see 3 paths here:

ng2/4, use the AotPlugin as before (backward compatible)
ng5 + JIT, use the AotPlugin FOR NOW, have a separate PR for adding emit+transform support
ng5 + AOT, use the AngularCompilerPlugin.

1 and 3 should be part of this PR, while 2 should be a separate PR.


Fix: Chain var declaration and webpack invocation

CATEGORY
Choose one

[x] Bug Fix
[ ] Enhancement (new features, refinement)
[ ] Refactor
[ ] Add tests
[ ] Build / Development Environment
[ ] Documentation

SUMMARY

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TEST PLAN
'npm run build' should work.
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

REVIEWERS
@mistercrunch

You're right, my mistake, sorry.


Update date of copyright

Update copyright on line 13 from 2014 to 2015. No other changes were made.

This file is a checkin of Layout.h from css-layout which was released in 2014. This change isn't useful.


PartnerGUID should be ComponentId to align with terminology

When I first read this document, I do not know what is PartnerGUID

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

ID: 11552bd6-1719-603b-bc32-de16461da47f
Version Independent ID: 1f6a56c4-ef01-2d47-57a2-e80cece5347a
Content: Sideload an application for testing - Azure Sphere
Content Source: AzureSphere/articles/app-development/sideload-app.md
Product: azure-sphere
GitHub Login: @pennyo
Microsoft Alias: azurespheredocs

@xiongyu0523 Thanks for the feedback! We are currently investigating and will update you shortly.

Assigning this to the author @pennyo to review this and update the documentation as appropriate.

@xiongyu0523 Thank you for your feedback. We'll update this in the next version of the documentation.


Suggesting new features!

Hello, I would like to request for a feature. It is commonly used already on web trade bots.
That is to customize the rate at which trash skins are traded at, skins below 1$ will be at 90% value.
If a few bucks can make this work out for you, I'd be happy to.

www.steamcommunity.com/id/kozrd_

agree +1, or maybe adding item filtering

+1 to item filtering or even if it could automatically decline a trade if it contains items to receive that are less than a certain value would be good. This would prevent someone sending an offer with a load of 3 cent items for a single valuable skin.


Makefile and make.sh don't have the same "targets" they should

Summary: Users can run make test but  have to run make.sh binary cross test-unit test-integration test-integration-cli test-docker-py. There might be other differences.
Proposed solution:
The make.sh command should accept arguments with the equvalent values to the make targets.  This should improve the UX and also reduce complexity in doc management. Win-win.

wdym they do?
you can run hack/make.sh any_of_the_things_ the makefile just holds the common ones

@jfrazelle Can run hack/make.sh test

oooo i misunderstood sorry
On Wed, Feb 25, 2015 at 11:42 AM, Brian Goff<EMAIL_ADDRESS>wrote:

@jfrazelle https://github.com/jfrazelle Can run hack/make.sh test
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/11019#issuecomment-76039502.

I still dont know tho, I think that is abstracting it a bit too far, the makefile is the abstraction i like seeing via the makefile what is actually running

The Makefile is the docker-based abstraction, make.sh is the shell level.

So, I'm not sure everyone has Makefile experience. So, reading a Makefile to investigate the targets is a bit heavy duty.
As a newb, I was told use make on local host and project/make.sh in my container.  So, I just assumed they would have equivalency --- I'm not sure that is an unexpected assumption.
If the goal is to lower the bar for contributing, this would be a nice easy step.  Lots of shell scriptors out there so might be a cool lil task for the birthday.

no totally as lot as we have both :D and the makefile shows exactly what is
being executed still :)
On Wed, Feb 25, 2015 at 12:57 PM, moxiegirl<EMAIL_ADDRESS>wrote:

So, I'm not sure everyone has Makefile experience. So, reading a Makefile
to investigate the targets is a bit heavy duty.
As a newb, I was told use make on local host and project/make.sh in my
container. So, I just assumed they would have equivalency --- I'm not sure
that is an unexpected assumption.
If the goal is to lower the bar for contributing, this would be a nice
easy step. Lots of shell scriptors out there so might be a cool lil task
for the birthday.
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/11019#issuecomment-76055113.

closing because of the comment here https://github.com/docker/docker/pull/11742#issuecomment-94945973


Lots of Error as soon as its build

after building got error, cant start demo

This error due to the fact that the demo is referencing the local version of solana-cookie-jar, which can be found in the demo's package.json. To fix the errors you see, you will need to follow the instructions in this StackOverflow post to link react and react-dom packages. Then, you can make changes to the local solana-cookie-jar project.
Alternatively, if you don't want to reference the local version of the project, remove that line, run npm i solana-cookie-jar, and then run npm run build from inside the demo project.

tried that too, start to give dependency conflics with other packages.

What dependency conflicts are you seeing? I just pulled the repo to a new computer, did the setup again, and everything works as expected.
Here are the commands I ran:
git clone https://github.com/jshiohaha/solana-cookie-jar.git
cd solana-cookie-jar
yarn
npm link react
npm link react-dom
cd demo
npm i && npm run build
npm link react
npm link react-dom
npm run start

Also, make sure you add a .env file or directly set a public key here.

It seems issue might be resolved since there hasn't been anymore correspondence. Feel free to re-open if issues persist.


[BUG] packageOptions.source="remote" causes Deprecated warning

Bug Report Quick Checklist

[x] I am on the latest version of Snowpack & all plugins. (3.1.2, no plugins)
[x] I use package manager yarn (Fill in: npm, yarn, pnpm, etc).
[x] I run Snowpack on OS Mac (Fill in: Windows, Mac, Linux, etc).
[x] I run Snowpack on Node.js v12+ (14.8.0)

Describe the bug
I upgraded a project from 3.0.11 to 3.1.2, and got an error Deprecated manual package import. Please use snowpack.getUrlForPackage() to create package URLs instead. The full error log is:
% yarn start
yarn run v1.22.10
warning ../package.json: No license field
$ snowpack dev
[09:04:43] [snowpack] Server started in 11ms.
[09:04:43] [snowpack] Local: http://localhost:8080
[09:04:43] [snowpack] Network: http://<IP_ADDRESS>:8080
[09:04:43] [snowpack] (/_snowpack/pkg/canvas-confetti) Deprecated manual package import. Please use snowpack.getUrlForPackage() to create package URLs instead.
[09:05:10] [snowpack] File changed: .git/index
[09:05:10] [snowpack] File changed: .git/objects/36/5a7d3327d1bff7ecb55258fb7ec2724dbda14d

To Reproduce
This repo demonstrates the problem: https://github.com/richb-hanover/snowpack-getUrlForPackage

cd <the repo>
yarn start
See error!

Expected behavior
I had expected the project to run.
Anything else?
Here's what I have learned.

Commenting out the packageOptions.source="remote" in the snowpack.config.js causes the repo to work
In my full project, I also have installpackageOptions.installTypes=true. Using either that line, or packageOptions.source="remote" causes the same error.
In my full project, I added packageOptions.source="remote" when I converted from Snowpack 2.0.x to 3.0.x. (The Snowpack config was originally created from the Typescript template)
This is all described in Discussion https://github.com/snowpackjs/snowpack/discussions/2990 and in the reproducible repo at: https://github.com/richb-hanover/snowpack-getUrlForPackage

My question: Under what circumstances is it necessary to enable streaming imports with 3.1.2? Should the documentation (say at https://www.snowpack.dev/guides/streaming-imports) reflect this? Thanks!

Fixed! Thanks for reporting. Also, check out #3028


Jupyter kernel dies / Segmentation fault : 11, when upgrading xgboost to > v0.90 on MacOS M1 Chip

I am training a xgboost model locally. My data is not large, few 1000 rows and 100 columns. I have successfully trained model using xgboost v0.90 on python v3.9. I need to upgrade xgboost to v > 1.0 as the older ones are being deprecated. I run %pip install xgboost==1.1.0 within jupyter notebook and cmd terminal as well. Upon upgrading, when I attempt to fit the model, my jupyter kernel dies.
import pandas
import xgboost
from xgboost import XGBRegressor
import numpy as np
from sklearn.model_selection import train_test_split, RandomizedSearchCV

print(xgboost.__version__)
1.1.0

# read data
df = pd.read_csv('')

# split df into train and test
X_train, X_test, y_train, y_test = train_test_split(df.iloc[:,0:21], df.iloc[:,-1], test_size=0.1)

X_train.shape
(2000,100)

# xgboost regression model
model = XGBRegressor(objective = 'reg:squarederror')

# Parameter distributions

params = {
          "colsample_bytree": uniform(0.5, 0.3),
          "gamma": uniform(0, 0.5),
          "learning_rate": uniform(0.01, 0.5),
          "max_depth": randint(2, 8),
          "n_estimators": randint(100, 150),
          "subsample": uniform(0.3, 0.6)
}

This is the step where my kernel dies.
# Hyperparameter tuning
r = RandomizedSearchCV(model, param_distributions=params, n_iter=10, scoring="neg_mean_absolute_error", cv=3, verbose=1, n_jobs=1, return_train_score=True, error_score='raise')

# Fit model
r.fit(X_train.toarray(), y_train.values)

Upon check versions installed in pip and conda:
pip list
xgboost                   1.1.0

conda list
xgboost                   1.1.0                    pypi_0    pypi

I have also tried to use conda-forge.
    conda install -c conda-forge py-xgboost=1.0.2
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: -
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed

UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:

Specifications:

  - py-xgboost=1.0.2 -> python[version='>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.8,<3.9.0a0']

Your python: python=3.9

If python is on the left-most side of the chain, that's the version you've asked for.
When python appears to the right, that indicates that the thing on the left is somehow
not available for the python version you are constrained to. Note that conda will not
change your python version to a different minor version unless you explicitly specify
that.

Could you please try latest xgboost?  I suspect that's a memory usage issue since the parameters are tested.

Latest I can go is 1.3-1 as 1.5 is not yet supported by AWS SageMaker. I have tried to upgrade to 1.3-1 and I run into the same issue, dead kernel. The XGBoost 0.90 version will be deprecated on December 31, 2021 by AWS SageMaker.
https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html

@trivialfis Is there a stable version > 0.90 and <=1.3-1 that I can use? AWS SageMaker doesn't support the latest version, unfortunately.

I took another look, your data is small oom shouldn't happen.  Could you please share a reproducible script I can try?

Yeah, it's not a memory issue. Data is of very small size. It works fine with v0.90 and whenever I upgrade to v >1.0, I run into issues. Here's some reproducible code. I am using mock data here, so not sure if the issue with be reproducible or if it is with the contents of data.

import numpy as np
import pandas as pd
import seaborn as sns
import scipy as stats
import sklearn
import os
os.environ['KMP_DUPLICATE_LIB_OK']='True'
import random
from sklearn.metrics.pairwise import cosine_similarity
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import RepeatedKFold
import xgboost
from xgboost import XGBRegressor, plot_importance
from sklearn.model_selection import train_test_split, GridSearchCV, KFold, RandomizedSearchCV
from sklearn.metrics import mean_squared_error
from scipy.stats import uniform, randint
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder, MinMaxScaler, OrdinalEncoder
import warnings

pd.set_option('use_inf_as_na', True)

print(xgboost.__version__)
# 0.90

# read data
# df = pd.read_csv('xxx.csv')

# make up some data
data = np.random.randint(5,50,size=(1000,9))

cats = ['cat1','cat2','cat3','cat4','cat5']

df = pd.DataFrame(data, columns=['col1', 'col2', 'col3', 'col4', 'col5','col6','col7','col8','col9'])

df['cat_var1'] = np.random.choice(cats, 1000)
df['cat_var2'] = np.random.choice(cats, 1000)

df['response'] = np.random.randint(5,50,1000)

# split df into train and test
X_train, X_test, y_train, y_test = train_test_split(df.iloc[:,0:11], df.iloc[:,-1], test_size=0.1, random_state=42)

# In[197]:
X_train.shape
(1000,11)

# In[198]:
X_test.shape
(1000,11)

# Encode categorical variables
cat_vars = ['cat1','cat2','cat3','cat4','cat5']
cat_transform = ColumnTransformer([('cat', OneHotEncoder(handle_unknown='ignore'), cat_vars)], remainder='passthrough')

encoder = cat_transform.fit(X_train)
X_train = encoder.transform(X_train)
X_test = encoder.transform(X_test)

# Define a xgboost regression model
model = XGBRegressor(objective = 'reg:squarederror')

# In[216]:

params = {
          "colsample_bytree": uniform(0.6, 0.4), # fraction of cols to sample
          "gamma": uniform(0, 0.4), # min loss reduction required for next split
          "learning_rate": uniform(0.01, 0.3), # default 0.1
          "max_depth": randint(2, 6), # default 6, controls model complexity and overfitting
          "n_estimators": randint(100, 150), # default 100
          "subsample": uniform(0.3, 0.6) # % of rows to use in training sample
}

# Hyperparameter tuning
rsearch = RandomizedSearchCV(model, param_distributions=params, random_state=42, n_iter=100, scoring="neg_mean_absolute_error", cv=3, verbose=1, n_jobs=1, return_train_score=True, error_score='raise')

# Fit model
rsearch.fit(X_train.toarray(), y_train.values)

# In[218]:

xgbest = rsearch.best_estimator_
xgbest

# In[219]:
y_pred = xgbest.predict(X_test.toarray())

# Obtain accuracy score - y_test - y_pred
mse = mean_squared_error(y_test, y_pred)
print(mse)

# In[221]:

# Mean absolute percentage error
def mean_absolute_percentage_error(y_true, y_pred):
    y_true, y_pred = np.array(y_true), np.array(y_pred)
    return np.mean(np.abs((y_true - y_pred) / y_true)) * 100

# In[222]:

mape = mean_absolute_percentage_error(y_test, y_pred)
"Mean Absolute Percentage Error {:,.1f}%".format(mape)

I can't run your script:
Traceback (most recent call last):
  File "/home/fis/Workspace/XGBoost/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 3361, in get_loc
    return self._engine.get_loc(casted_key)
  File "pandas/_libs/index.pyx", line 76, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/index.pyx", line 108, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/hashtable_class_helper.pxi", line 5198, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas/_libs/hashtable_class_helper.pxi", line 5206, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 'cat1'

Try this. This works for me.
import numpy as np
import pandas as pd
import seaborn as sns
import scipy as stats
import sklearn
import os
os.environ['KMP_DUPLICATE_LIB_OK']='True'
import random
from sklearn.metrics.pairwise import cosine_similarity
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import RepeatedKFold
import xgboost
from xgboost import XGBRegressor, plot_importance
from sklearn.model_selection import train_test_split, GridSearchCV, KFold, RandomizedSearchCV
from sklearn.metrics import mean_squared_error
from scipy.stats import uniform, randint
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder, MinMaxScaler, OrdinalEncoder
import warnings

pd.set_option('use_inf_as_na', True)

print(xgboost.__version__)
# 0.90

# read data
# df = pd.read_csv('xxx.csv')

# make up some data
data = np.random.randint(5,50,size=(1000,9))

cats = ['cat1','cat2','cat3','cat4','cat5']

df = pd.DataFrame(data, columns=['col1', 'col2', 'col3', 'col4', 'col5','col6','col7','col8','col9'])

df['cat_var1'] = np.random.choice(cats, 1000)
df['cat_var2'] = np.random.choice(cats, 1000)

df['response'] = np.random.randint(5,50,1000)

# In[24]:

# split df into train and test
X_train, X_test, y_train, y_test = train_test_split(df.iloc[:,0:11], df.iloc[:,-1], test_size=0.1, random_state=42)

# In[26]:

# Encode categorical variables
cat_vars = ['cat_var1','cat_var2']
cat_transform = ColumnTransformer([('cat', OneHotEncoder(handle_unknown='ignore'), cat_vars)], remainder='passthrough')

encoder = cat_transform.fit(X_train)
X_train = encoder.transform(X_train)
X_test = encoder.transform(X_test)

# In[27]:

# Define a xgboost regression model
model = XGBRegressor(objective = 'reg:squarederror')

# In[216]:

params = {
          "colsample_bytree": uniform(0.6, 0.4), # fraction of cols to sample
          "gamma": uniform(0, 0.4), # min loss reduction required for next split
          "learning_rate": uniform(0.01, 0.3), # default 0.1
          "max_depth": randint(2, 6), # default 6, controls model complexity and overfitting
          "n_estimators": randint(100, 150), # default 100
          "subsample": uniform(0.3, 0.6) # % of rows to use in training sample
}

# Hyperparameter tuning
rsearch = RandomizedSearchCV(model, param_distributions=params, random_state=42, n_iter=100, scoring="neg_mean_absolute_error", cv=3, verbose=1, n_jobs=1, return_train_score=True, error_score='raise')

# Fit model
rsearch.fit(X_train, y_train)

# In[218]:

xgbest = rsearch.best_estimator_
xgbest

# In[219]:
y_pred = xgbest.predict(X_test.toarray())

# Obtain accuracy score - y_test - y_pred
mse = mean_squared_error(y_test, y_pred)
print(mse)

# In[221]:

# Mean absolute percentage error
def mean_absolute_percentage_error(y_true, y_pred):
    y_true, y_pred = np.array(y_true), np.array(y_pred)
    return np.mean(np.abs((y_true - y_pred) / y_true)) * 100

# In[222]:

mape = mean_absolute_percentage_error(y_test, y_pred)
"Mean Absolute Percentage Error {:,.1f}%".format(mape)

Did you reproduce the crash with this script?

yes, I did. I upgraded to v1.1.0.

That's weird.  I just ran 1.1:
1.1.1
Fitting 3 folds for each of 100 candidates, totalling 300 fits
183.75835586636694

Yeah, strange. I haven't been able to fit on > v0.90

@hcho3 Is there any issue for macOS in old versions on top of your mind?

I am on MacOS Monterey v 12.0.1, Apple M1 2020 Chip

Ah, I think xgboost doesn't work on m1. https://github.com/dmlc/xgboost/issues/7501

v0.90 works though.

Any insight into what the issue is with version > 0.90? I guess what changed between the versions that makes it crash.

I'm not sure.  None of the maintainer has access to m1

At a guess I'd say that 0.9 was compiled without x86 SIMD instructions (which aren't supported in Rosetta), and newer versions have been. So you're probably pulling in the x86 version, running that through Rosetta and then it crashes when it hits an unsupported SIMD instruction (either AVX, AVX2 or AVX-512). You may be able to recompile one of the other versions without SIMD instructions producing a wheel that will run in Rosetta on an M1. I'm not particularly familiar with how the Python builds are compiled though.

Thank you for pointing that out.  To install the Python package from source one can simply run
python setup.py install

Under the Python package directory.  Hopefully we will see support from github action and build the wheel from there.

@Craigacp @trivialfis Thanks.
I tried the following:
brew install gcc
brew install cmake

git clone --recursive https://github.com/dmlc/xgboost
cd xgboost/
make -j4
cd python-package
python3 setup.py install

from the discussion here: https://discuss.xgboost.ai/t/xgboost-on-apple-m1/2004/9
It didn't work for me.

Did it fail during compilation, or at runtime? What kind of error did you get?
Are you running a native ARM version of Homebrew, or the x86 version via Rosetta?

It fails when I run the .fit method. I don't get an except, Jupyter Kernel dies in a second, everytime I attempt to run the statement. Here's a link to the screenshot:
https://github.com/dmlc/xgboost/issues/7504#issuecomment-993188654
I tried to search for Homebrew in mac system report, however, I am not seeing it in the list under Software > Applications.
Not sure if this help, but when I run brew -v, here's the what's returned:
Homebrew 3.3.8
Homebrew/homebrew-core (git revision e7a27d318aa; last commit 2021-12-14)

How do I find what Homebrew version I am running?

Assuming you installed it to the default locations then on ARM it's in /opt/homebrew and in x86 it's in /usr/local/ - https://docs.brew.sh/Installation.
To get a more helpful error message try running the fit command from a regular python interpreter rather than a notebook. Though the notebook server process might have more information in its log.

It's in /usr/local/Homebrew, so x86 i suppose.
I ran it in a .py, and here's what I get:
Fitting 5 folds for each of 50 candidates, totalling 250 fits
Segmentation fault: 11

I have successfully compiled and installed XGBoost on an M1 in Python, using a M1 native version of homebrew & python 3.9 installed from that homebrew. It compiled with no trouble, though I did compile the native library first (by doing mkdir build; cd build; cmake ..; make -j4 in the root of the XGBoost repo) before doing python setup.py install from the python_package directory. I did need to install numpy and scipy in the virtual environment first. I had some difficulty making scikit-learn work, looks like they don't have binaries available for M1, but I didn't try to figure that out.
I build a test regression using some randomly generated data from numpy on a squared loss and the xgb.train and predict(DMatrix) interfaces worked fine.

Thanks. @Craigacp
I replicated the steps, but it still didn't work for me. Maybe, I am missing something. Here's what I did exactly -
Installed the Apple M1 native homebrew version.
==> This script will install:
/opt/homebrew/bin/brew
/opt/homebrew/share/doc/homebrew
/opt/homebrew/share/man/man1/brew.1
/opt/homebrew/share/zsh/site-functions/_brew
/opt/homebrew/etc/bash_completion.d/brew
/opt/homebrew

Install python 3.9 using brew
brew install<EMAIL_ADDRESS>Python has been installed as
  /opt/homebrew/bin/python3

git clone --recursive https://github.com/dmlc/xgboost

In xgboost directory,

mkdir build;
cd build;
cmake ..;
make -j4

cd python-package

python setup.py install

Now, in my notebook:

!pip install xgboost==1.3.3
import xgboost

# Train test split

# Encoding

# Hyper-parameter optimization

# Fit model
model.fit(X_train.toarray(), y_train.values)

Kernel dead.

If you pip install xgboost then it will pull in the public one which doesn't have the right binary. This suggests that you aren't running jupyter from the ARM64 native python virtual environment that you installed the native ARM64 xgboost into. Try using that venv to run jupyter.
Unfortunately the Python ML ecosystem is only starting to catch up to the idea that there are different CPU architectures. TensorFlow sort of works, but pytorch doesn't (or at least it didn't the last time I checked), and scikit-learn doesn't have binaries available. Jupyter seems to work ok, but I've not tried matplotlib, seaborn or pandas. This is an ecosystem wide problem, much of which is predicated on the fact that there wasn't a fortran compiler available for macOS M1 to compile scipy with (that's now been fixed), and then that Github Actions doesn't provide M1 build resources. At the moment the M1 Macs are not suitable for data science or ML work unless you understand the differences in CPU architecture and how to build your environment from source. That will get fixed over time, but it's not as easy as it is on x86 Macs yet.

Thanks, that makes sense. I created a virtual environment and launched jupyter from there. Now, when I run my the notebook, it the import xgboost as xgb works fine. However running:
model = xgb.XGBRegressor(objective = 'reg:squarederror')
throws an error.
----> 2 model = xgb.XGBRegressor(objective = 'reg:squarederror')
AttributeError: module 'xgboost' has no attribute 'XGBRegressor'

XGBRegressor and XGBClassifier are the scikit-learn interfaces, which require scikit-learn to be installed in the environment. You can use the train interface and supply a DMatrix & parameters without scikit-learn.

got it. I am using a bunch of other interfaces from scikit-learn, so would be worthwhile to install it.
Do I install scikit-learn using brew in my venv ?

Looks like scikit-learn is already install in my virtual environment venv.
source venv/bin/activate
(venv) (base) user:folder user$ pip install scikit-learn
Requirement already satisfied: scikit-learn in /Applications/Anaconda/anaconda3/lib/python3.9/site-packages (1.0)
Requirement already satisfied: numpy>=1.14.6 in /Applications/Anaconda/anaconda3/lib/python3.9/site-packages (from scikit-learn) (1.20.3)
Requirement already satisfied: joblib>=0.11 in /Applications/Anaconda/anaconda3/lib/python3.9/site-packages (from scikit-learn) (1.1.0)
Requirement already satisfied: scipy>=1.1.0 in /Applications/Anaconda/anaconda3/lib/python3.9/site-packages (from scikit-learn) (1.7.1)
Requirement already satisfied: threadpoolctl>=2.0.0 in /Applications/Anaconda/anaconda3/lib/python3.9/site-packages (from scikit-learn) (2.2.0)

I don't have any experience with using conda, and it looks like scikit-learn still has some difficulties installing on M1 https://github.com/scikit-learn/scikit-learn/issues/19137.

Thank you for the discussion.  I will close this one as it duplicates https://github.com/dmlc/xgboost/issues/6408 .  Maybe we can build the wheel using https://aws.amazon.com/about-aws/whats-new/2021/12/amazon-ec2-m1-mac-instances-macos/ @hcho3  Let's move the conversation to #6408 . ;-)


The Launcher is loading the wrong Firefox and SlimerJS versions

Hello, I'm trying to integrate SlimerJS with Karma to be able to test ECMAScript 6 code, but karma-slimerjs-launcher is loading an older version of both Firefox and SlimerJS.
When I test code directly with SlimerJS by command:
smilerjs test_file.js
It loads the version 0.10.2 that I installed.
My Firefox installed is version 50.1.0 and it works correctly with SlimerJS when I call it directly through SlimerJS because the SLIMERJSLAUNCHER variable has been configured correctly as the SlimerJS documentation indicates.
However when I call Karma the launcher is running Firefox 38 and SlimerJS 0.9.6 and so I lose support for ECMAScript 6.
How can I make karma-slimerjs-launcher call the versions of Firefox and SlimerJS that I have installed on my system instead of calling those embedded versions that it seems to bring?
Thanks.

Seeing the same thing.  Is there any workaround/fix for this?  Is this project still being maintained?


flyte builds 'flyte' exectable, not 'flyte-api'

Makefile is broken, it tries to run flyte-api but built executable is flyte

I've pushed a few more changes (file rename and some comment touch-ups).


Stripe along rlon=0 since the latest commit

When interpolating, a wrong stripe appears in the result along the 0° line.
It only happens when nproc>1 and with the latest version, which reprojects along an equal-area projection.
This doesn't happen with the commit bb05ca5e6d26836a89929369ba38f2bc8151e4a2.

Could it be a rounding error when multiprocessing pickles the corners? Maybe check the floating point accuracy of the numpy arrays (e.g. corners) and change dtype to 'f8' or even 'f16'. It might also be possible to avoid the small numbers by shifting the Mollweide projection by changing central_longitude or by adding false_easting or false_northing (https://scitools.org.uk/cartopy/docs/latest/crs/projections.html#mollweide).

It might also be possible to avoid the small numbers by shifting the Mollweide projection by changing central_longitude or by adding false_easting or false_northing (https://scitools.org.uk/cartopy/docs/latest/crs/projections.html#mollweide).

These were exactly my initial thought. I'll try this soon

Changing this line in grids.py with
molly = ccrs.Mollweide(central_longitude=180)
Seems to solve (or displace actually) the issue.

This change is now included in https://github.com/C2SM-RCM/cosmo-emission-processing/pull/5

Changing this line in grids.py with
molly = ccrs.Mollweide(central_longitude=180)
Seems to solve (or displace actually) the issue.

Great! It would be useful if the shift would depend on the rotated pole coordinate pollon, because otherwise the issue would appear again for users using a domain outside Africa or Europe.

I closed this issue since the solution has been included and merged with #5

Actually, this issue is not resolved, since it happened again with the latest version.
It can be reproduced using the latest commit 038a9e5, and the tno case with the following output grid:
#COSMO domain
output_grid = COSMOGrid(
    nx=100,
    ny=100,
    dx=0.01,
    dy=0.01,
    xmin=-0.5,
    ymin=-1.75,
    pollon=-173.0,
    pollat=39.0,
)

Once again, changing the Mollweide projection will solve the issue. I believe that our "fix" was actually wrong.
To avoid any further issue we actually need to have molly = ccrs.Mollweide(central_longitude = self.pollon + 180).
Here is a MWE to illustrate it:
import numpy as np
import cartopy.crs as ccrs
from shapely.geometry import Polygon

molly_180 = ccrs.Mollweide(central_longitude=180)
molly = ccrs.Mollweide(central_longitude=0)
pc = ccrs.PlateCarree()

corners_x_inv = np.array([-0.1, -0.1, 0.1, 0.1])
corners_y_inv = np.array([0,1,1,0])
corners_x_cosmo = np.array([0.01, 0.01, 0.02, 0.02])
corners_y_cosmo = np.array([0.1,0.2,0.2,0.1])

print('molly')
corners = molly.transform_points(pc, corners_x_inv, corners_y_inv)
inv_cell = Polygon(corners)
corners = molly.transform_points(pc, corners_x_cosmo, corners_y_cosmo)
cosmo_cell = Polygon(corners)
print('',molly.transform_point(-0.1,0,pc))
print('',molly.transform_point(0.1,0,pc))
print(cosmo_cell.intersects(inv_cell))

print('molly_180')
corners = molly_180.transform_points(pc, corners_x_inv, corners_y_inv)
inv_cell = Polygon(corners)
corners = molly_180.transform_points(pc, corners_x_cosmo, corners_y_cosmo)
cosmo_cell = Polygon(corners)
print('',molly_180.transform_point(-0.1,0,pc))
print('',molly_180.transform_point(0.1,0,pc))
print(cosmo_cell.intersects(inv_cell))

Outputs:
molly
 (-10022.275386748495, 0.0)
 (10022.275386748495, 0.0)
True
molly_180
 (18030073.420760542, 0.0)
 (-18030073.420760542, 0.0)
False

So as expected, if the central_longitude is at the wrong location, then the opposite side of the globe will be the place where it goes from basically -180 to +180 in a few meters, thus leading to a wrong Polygon that won't intersect properly.
But then again, it raises the question as to why it happened in the first place, since the default value for central_longitude is 0. I therefore don't understand why there was an issue in the initial case.

I have a similar issue as @jmhaussaire I think, but it occurs even with nproc=1. A vertical line appears at rlon=0 with seemingly erroneous values. The only solution that works for me (or at least hides the problem) is using ddm5 with pkg-config --modversion proj giving 4.9.3 (with module load proj if needed), and cartopy==0.17.0. Later versions of either the proj library or the cartopy package, or any combination of these two factors, gives problems for me.

I created a TNO emission dataset with constant cO2_ff area sources of strength 1 for category A in each pixel of the domain (/project/koer/CoCO2_JAE/input/oae/fake_emissions.nc). Creating output for an area where rlon=0 lies in the center,
output_grid = COSMOGrid(
    nx=150,
    ny=150,
    dx=0.01,
    dy=0.01,
    xmin=-0.75,
    ymin=0.75,
    pollon=-169.0,
    pollat=43.0,
)

I then obtain the following result on ddm05 with proj version 4.9.3 and cartopy==0.17.0. The CO2_A_AREA image is not visibly disturbed at rlon=0,

e
However, not using those three settings above, I obtain another figure:

What is perhaps not so obvious, is that there are two vertical lines: one at rlon=0, and one at rlon=dlon. The one at rlon=0 gives values that are too large, the one at rlon=dlon gives values that are too small. It seems that the 'fix' of using a particular set of libraries and packages is a good workaround, though perhaps not a very satisfactory one.

Not sure what is causing this, but it's good that you made a test case, which shows the problem. Is the sum of the two lines identical to the sum to the true emissions? In this case, it could be a rounding error with some emissions shifted one cell to the left.
Could you create a merge request with this as a test case using pytest? This would make it possible to check to test for this problem on other machines.

The error goes away when changing molly = ccrs.Mollweide(central_longitude = self.pollon) to molly = ccrs.Mollweide(central_longitude = 180-self.pollon). The map coordinates define the interval [central_longitude-180, central_longitude+180] degrees. As @jmhaussaire tested, the shapely Polygons should not cross the map edges. For origin_lon=11 and self.pollon=-169, that gives a map with longitude range [-349, 11], with the latter point equal to rlon=0, while ranging over the interval [-169, 191] after the change.
The question of @jmhaussaire about the cause of the original error still stands; because indeed with the standard ccrs.Mollweide(), no error would occur. It would be interesting to have a test-case for that situation too, if you still know what you did originally.

So can we close this issue by changing in grids.py to
molly = ccrs.Mollweide(central_longitude = 180-self.pollon)
as suggested by Erik?

Relates to old emirpoc version


Vulkan: Spatial shader ignores occlusion

Godot version:
master branch [d2887ea]
OS/device including version:
Windows10
Issue description:
Spatial shader completely ignores foreground object in 4.0, working well in 3.2.
Godot 3.2: Notice how the cube cuts the dawn light

Godot 4.0: Even if it does not look like it, the cube is exactly at the same location

Steps to reproduce:
Open the project linked at the end.
Add a mesh instance, box for example, as child of the camera.
Move it so it partially blocks view
Run the project.
(When running on 4.0, the script for the camera will need to be changed from "extends Camera" to "extends Camera3D", and the atmosphere shader from "depth_test_disable" to "depth_test_disabled")
I've positioned the blocking object like this on both cases:

Minimal reproduction project:
https://github.com/Dimev/Realistic-Atmosphere-Godot-and-UE4

Is this still reproducible in the current master branch / recent 4.0 alpha builds?
The minimal reproduction project isn't trivial to convert so that it can actually run in current 4.0 builds.

Sorry! I lost the original minimal repro from which I took the captures a long time ago.

Closing then, a lot of fixes have been made in the past 2.5 years so this might well be fixed.


file upload support

POC
graphql_flutter supports file upload spec https://github.com/zino-app/graphql-flutter/tree/master/packages/graphql_flutter#graphql-upload
I implemented annotation of File types with @JsonKey(ignore: true) otherwise json_serializable fails to generate its stuff.
The file upload is a little bit specific. The upload object is not supposed to appear in the query response, obviously. Technically I could use some kind of custom custom_parser_import but the fromJson will never(if I'm correct) occur. On the other side serializing the File neither supported by json_serializable nor conforms the upload spec.
I assume that you'll need to create and fill the input object with regular values and than add file objects manually after toJson to conform the upload spec.
Another way is to bundle in docs the sample of custom_parser_import for file upload case to help developers in this case.
Example:
import 'dart:io';

File fromGraphQLUploadToDartFile(File file) => file;
File fromDartFileToGraphQLUpload(File file) => file;

Actually we won't need fromJson anywhere :-) But this will help us to omit manual adding of files to the variables list after performing toJson
Could you validate the overall idea?
Despite I've already implemented the first approach I think the second one is more clear and mangable)
If you also agree that second is better I'll prepare PR to update the docs.

FYI, when I was considering file upload for gql_http_link, I came to a conclusion that the file binary should be carried by a dedicated ContextEntry the Request.context with a reference to it in Request.variables.
gql_http_link would then access that entry and build the HttpRequest as necessary.
I did not like the idea of carrying a binary as a direct variable. It's kind of against the GraphQL spec (possibly). Also, a client cache implementation may be too greedy and keep the whole binary in memory as a key to operation results.

Closing this PR as useless.
I've discovered the working approach which I'll describe in issue.


Get No prank in progress to stop on test run for changePrank()

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (dffdfde 2023-08-14T00:22:15.788827000Z)
What command(s) is the bug in?
forge test
Operating System
macOS (Apple Silicon)
Describe the bug
Actually erroring started when I tried to use changePrank() function. For this kind of test:
// SPDX-License-Identifier: UNLICENSED
pragma solidity >=0.8.19 <0.9.0;

import "forge-std/Test.sol";
import { Events } from "../../utils/Events.sol";
import { Errors } from "src/libraries/Errors.sol";
import { Profiles } from "src/Profiles.sol";

contract Profiles_Test is Test, Events {
    Profiles internal ggProfilesContract;

    function setUp() internal {
        changePrank(makeAddr("Admin"));
        ggProfilesContract = new Profiles(makeAddr("Admin"));
    }
}

I get this kind of output for running tests with forge test:
2023-08-14T09:54:57.204116Z ERROR forge::runner: setUp failed reason="No prank in progress to stop" contract=0x7fa9385be102ac3eac297483dd6233d62b3e1496
2023-08-14T09:54:57.204116Z ERROR forge::runner: setUp failed reason="No prank in progress to stop" contract=0x7fa9385be102ac3eac297483dd6233d62b3e1496

Running 1 test for test/integration/basic/Quest.t.sol:Quest_Test
[FAIL. Reason: Setup failed: No prank in progress to stop] setUp() (gas: 0)
Test result: FAILED. 0 passed; 1 failed; 0 skipped; finished in 3.32ms

Running 1 test for test/integration/basic/QuestFactory.t.sol:QuestFactory_Test
[FAIL. Reason: Setup failed: No prank in progress to stop] setUp() (gas: 0)
Test result: FAILED. 0 passed; 1 failed; 0 skipped; finished in 3.29ms

Running 8 tests for test/integration/basic/BundleWallet.t.sol:BundleWallet_Test
[FAIL. Reason: No prank in progress to stop] test_AssociateWallet() (gas: 95076)
[FAIL. Reason: No prank in progress to stop] test_DisassociateWallet() (gas: 95165)
[FAIL. Reason: No prank in progress to stop] test_RevertAssociateWalletWhen_AlreadyAssociated() (gas: 92915)
[FAIL. Reason: No prank in progress to stop] test_RevertAssociateWalletWhen_WrongSecondaryWallet() (gas: 18049)
[FAIL. Reason: No prank in progress to stop] test_RevertAssociateWalletWhen_WrongSender() (gas: 18614)
[FAIL. Reason: No prank in progress to stop] test_RevertAssociateWalletWhen_WrongSignature() (gas: 22569)
[FAIL. Reason: No prank in progress to stop] test_RevertDisassociateWalletWhen_NotAssociated() (gas: 17055)
[FAIL. Reason: No prank in progress to stop] test_RevertDisassociateWalletWhen_WrongSender() (gas: 95077)
Test result: FAILED. 0 passed; 8 failed; 0 skipped; finished in 6.12ms
Ran 3 test suites: 0 tests passed, 10 failed, 0 skipped (10 total tests)

Failing tests:
Encountered 8 failing tests in test/integration/basic/BundleWallet.t.sol:BundleWallet_Test
[FAIL. Reason: No prank in progress to stop] test_AssociateWallet() (gas: 95076)
[FAIL. Reason: No prank in progress to stop] test_DisassociateWallet() (gas: 95165)
[FAIL. Reason: No prank in progress to stop] test_RevertAssociateWalletWhen_AlreadyAssociated() (gas: 92915)
[FAIL. Reason: No prank in progress to stop] test_RevertAssociateWalletWhen_WrongSecondaryWallet() (gas: 18049)
[FAIL. Reason: No prank in progress to stop] test_RevertAssociateWalletWhen_WrongSender() (gas: 18614)
[FAIL. Reason: No prank in progress to stop] test_RevertAssociateWalletWhen_WrongSignature() (gas: 22569)
[FAIL. Reason: No prank in progress to stop] test_RevertDisassociateWalletWhen_NotAssociated() (gas: 17055)
[FAIL. Reason: No prank in progress to stop] test_RevertDisassociateWalletWhen_WrongSender() (gas: 95077)

Encountered 1 failing test in test/integration/basic/Quest.t.sol:Quest_Test
[FAIL. Reason: Setup failed: No prank in progress to stop] setUp() (gas: 0)

Encountered 1 failing test in test/integration/basic/QuestFactory.t.sol:QuestFactory_Test
[FAIL. Reason: Setup failed: No prank in progress to stop] setUp() (gas: 0)

Encountered a total of 10 failing tests, 0 tests succeeded

I'm using

forge-std v1.3.0
forge v0.2.0

I would appreciate any help to resolve this issue, Thanks!

An interesting thing is that this test is written by another dev in our repo, and he had not any problems with that. Any ideas why it could happen?
As https://github.com/foundry-rs/foundry/issues/4835 suggests, could it be the difference in forge versioning?

It probably is forge versioning issues @vladikopl01 — for this use case I'd recommend using vm.startPrank which will work as you want.
Closing—not a bug, but expected behavior


Update node version

@types/node version should match specified engine in package.json?
or can @types/node version be higher?
should we ignore renovate pull requests like #157?

As far as I have understand, the major version of @types/node corresponds to the version of node.js, and as package.json specifies the minimum version of node.js we currently want to support, yes, it should match that then.
Yes, you can continue to ignore it probably, until we some day want/have to increase the required node.js version.


Specify path to phantomjs2 binary

In my setup I have two phantomjs binaries on the $PATH. One of them is phantoms 1.9.8 and the other is phantoms 2.0.0. Unfortunately the 1.9.8 is higher in the $PATH than 2.0.0.
Is there a way to specify the exact location that poltergeist will look for phantoms in? Or perhaps poltergeist could respect the $PHANTOMJS_BIN env variable (similar to karma).

Never mind, I see it is on the main README:
:phantomjs (String) - A custom path to the phantoms executable