Low Variance Feature Eliminator

Problem Description
Prior to running feature elimination it is a good idea to remove features which do not meet Quality Assurance criteria. One of them is features with very low variance (<0.00001). Typically those features are almost static and almost have no signal.
Desired Outcome
Write a class with fit/transform/plot methods which would eliminate features with low variance. Basically it is a wrapper for sklearn's VarianceThreshold class.
Solution Outline
Below is starting code:
class VarianceThresholdSelector(BaseEstimator, TransformerMixin):
    """
    A Selector class based on sklearn's VarianceThreshold class.

    We want to drop columns with a variance equal to or below
    the given threshold but keep the pandas framework.

    This class is designed to fit with sklearn's Pipeline framework, for example:

    pipe = Pipeline([('selector', VarianceThresholdSelector(threshold=0.0)),
                     ('lr', LogisticRegression())])
    pipe.fit(X, y)
    """

    def __init__(self, threshold=0.0):
        """Initialise the Selector.

        Any column with variance equal to or below the threshold will be thrown away.

        Args:
            threshold: the variance threshold for sklearn's
                       VarianceThreshold class
        """
        self.threshold = threshold
        self.selector = VarianceThreshold(threshold)

    def fit(self, X, y=None):
        """Fit the VarianceThreshold classs from scikit learn.

        The additional factor here is we store the columns that are above the variance threshold.

        Args:
             X: the feature labels.
             y: None to satisfy the sklearn Pipeline framework
        """
        self.selector.fit(X)
        self.columns_above_threshold = X.columns[self.selector.get_support(indices=True)]
        self.columns_dropped = set(X.columns) - set(self.columns_above_threshold)
        return self

    def transform(self, X, y=None):
        """Transform a pandas DataFrame using the stored columns from the fit() function.

        Args:
            X: the feature labels
            y: None to satisfy the sklearn Pipeline framework

        Returns:
            X with columns that were above the variance threshold
        """
        X = X.copy()
        return X[self.columns_above_threshold]

I think overall this would be a good fit, however, now I looked into the code that is already available in sklearn it covers most of the functionality.
As I see the VarianceThreshold has the fit_transform interface, but also has arguments variances_ and threshold so one can easily retrieve columns removed and kept. I am afraid that adding it to probatus would add too little value, given that this is already available in sklearn, and amount of work needed to implement it consistently with probatus API and standards (docs+tests+tutorials).
Do you see any other benefit for implementing this wrapper?

Actually, now looking at the original code of sklearn, this just adds feature names which were dropped in a list, and thats about it. So not much added value given the amount of extra work which needs to be done to add it to probatus.
The only additional thing I can think of: If you have both categorical and continues features, one threshold for all wont work, even if the continuous data is normalised. One way could be to expand the VarianceThreshold  and use normal approximation to estimate the variance of the categorical data as np(1-p), where p is the fraction of 1's in the feature. Or I can look up some other ways.

Let's keep it out of probatus for now, because impact/effort ratio is low for this feature.
I will close this issue for now. If you have further ideas, feel free to reopen it.


assets dissapear from the list

When swapping from editor to analytics and then back to editor, assets dissapear from the list.

Fixed in 4c1a9424b24d6fbc64e21887e6f70192f102e227


Couldn't open elf file generated by hello world example

Hey, so I was attempting to build the hello world example for RISC-V target and then use Spike to run the subsequent binary file.
These are the commands I used to do this:

git clone https://github.com/tensorflow/tflite-micro.git
cd tflite-micro
make -f tensorflow/lite/micro/tools/make/Makefile third_party_downloads
Change the target from riscv32_mcu to mcu_riscv in /tensorflow/lite/micro/tools/make/mcu_riscv_makefile.inc and in /tensorflow/lite/micro/examples/hello_world/riscv32_mcu/Makefile.inc
Moved the flags -fnothreadsafe-statics and -fno-use-cxa-atexit from PLATFORM FLAGS to CXX FLAGS in /tensorflow/lite/micro/tools/make/targets/mcu_riscv_makefile.inc
Changed -c11 to -gnu11 under CCFLAGS in /tensorflow/lite/micro/tools/make/Makefile
Changed the functions fmin and fmax to min and max respectively in /tensorflow/lite/kernels/internal/min.h and /tensorflow/lite/kernels/internal/max.h.
Run the command make -f tensorflow/lite/micro/tools/make/Makefile TARGET=mcu_riscv TARGET_ARCH=riscv32_mcu hello_world_bin
Run the binary using Spike: spike --isa=rv32imafdc pk tensorflow/lite/micro/tools/make/gen/mcu_riscv_riscv32_mcu_default/bin/hello_world

I've checked that the binary generated is indeed ELF 32-bit RISC-V executable, but still on running the final command, it shows
bbl loader couldn't open ELF program: tensorflow/lite/micro/tools/make/gen/mcu_riscv_riscv32_mcu_default/bin/hello_world!
Can anyone let me know what I'm doing wrong in this case??

Similar results here. I follow this process and when I run the binary using Spike it cycles through these (in debug mode):
core   0: 0x80000004 (0x34011173) csrrw   sp, mscratch, sp
:
core   0: 0x80000008 (0x1a010863) beqz    sp, pc + 432
:
core   0: 0x8000000c (0x04a13823) sd      a0, 80(sp)
core   0: exception trap_illegal_instruction, epc 0x8000000c
core   0:           tval 0x04a13823

I tried the person detection example too (changing the target in the relevant Makefile.inc), and this one doesn't build at all, with this error:
/opt/riscv/bin/../lib/gcc/riscv64-unknown-elf/8.1.0/../../../../riscv64-unknown-elf/bin/ld: tensorflow/lite/micro/tools/make/gen/mcu_riscv_riscv32_mcu_default/bin/person_detection_int8 section `.bss' will not fit in region `ram'
/opt/riscv/bin/../lib/gcc/riscv64-unknown-elf/8.1.0/../../../../riscv64-unknown-elf/bin/ld: section .stack VMA [0000000080003800,0000000080003fff] overlaps section .bss VMA [00000000800000d8,000000008002230f]
/opt/riscv/bin/../lib/gcc/riscv64-unknown-elf/8.1.0/../../../../riscv64-unknown-elf/bin/ld: region `ram' overflowed by 0 bytes
collect2: error: ld returned 1 exit status
make: *** [tensorflow/lite/micro/examples/person_detection/Makefile.inc:81: tensorflow/lite/micro/tools/make/gen/mcu_riscv_riscv32_mcu_default/bin/person_detection_int8] Error 1

I think it has to do with the custom linker scripts from SiFive bsp that are included in the makefiles, maybe the binary is meant for some specific boards and not for Spike.

I'm hoping at PR #321 should get RISC V support back to the level it was at a few months ago, which was tested on a SiFive FE310 board. I haven't run this on hardware or an emulator yet though, I've filed #322 to track automating that.
You are right that different boards will probably require different setups, especially on the linker side. Without understanding all the details of the particular hardware, it's tough for us to help debug these kind of issues, so closing this for now.

@ioannesKX
Your first issue may be because you're not using the correct versions of spike and pk, you should configure them in such a way that they are able to run 32-bit binaries, and use the --isa flag for Spike while executing.
For the 2nd issue, you will have to modify the linker file tensorflow/lite/micro/tools/make/downloads/sifive_fe310_lib/bsp/env/freedom-e300-hifive1/flash.lds and increase the ram size manually in there.
I think that this may be meant for a board too, but there are people who have run tflite codes on Spike, but haven't mentioned how to do so, hence my problem

Thanks for the reply. Is building tflite micro for 64 bit as trivial as changing the flags in the makefile, or do I have to make other changes?

OK removing the SiFive BSP files from compilation was easy, I managed to run hello_world and person_detection_int8 on Spike RISC-V sim. Compiled for rv64gc just by changing the makefile, but I suppose it would work the same for the default rv32imac.
Tell me if you're interested for a pull request for this or to include Spike runtime functionality tests in the CI script @petewarden .

OK removing the SiFive BSP files from compilation was easy, I managed to run hello_world and person_detection_int8 on Spike RISC-V sim. Compiled for rv64gc just by changing the makefile, but I suppose it would work the same for the default rv32imac.
Tell me if you're interested for a pull request for this or to include Spike runtime functionality tests in the CI script @petewarden .

Can you share how you ran the hello world example on Spike, what changes did you make in the files etc?? Thanks in advance

diff.txt
I uploaded the diff for tensorflow/lite/micro/tools/make/targets/mcu_riscv_makefile.inc. I just deleted any line related to the sifive folder. There's some similar stuff on each example's makefile but they probably don't play a role.

Did you only make changes in the mcu_riscv_makefile.inc? I commented out the lines referring to sifive folder and got an error
tensorflow/lite/micro/tools/make/downloads/sifive_fe310_lib/bsp/libwrap/sys/read.c:8:10: fatal error: platform.h: No such file or directory

Yes I only changed that file. I had also changed -mabi and -march to target rv64gc (with riscv toolchain I built) but I tried with the default rv32imac (with the prebuilt toolchain the makefile downloads) just now and it works the same. You might have leftovers from previous builds, maybe try make clean.

I tried it with a fresh clone of tflite-micro and it is still not working for me, even without removing the Sifive lines. Can you give the exact steps you followed to get the build running, from the start. I'm very sorry if I'm bothering you, it's just I'm stuck and everytime some new problem comes up

clone repository
use this as micro/tools/make/targets/mcu_riscv_makefile.inc: https://pastebin.com/BgqEq5i7 (noticed i removed the downloads too, you should have a riscv compiler in your path)
make -f tensorflow/lite/micro/tools/make/Makefile TARGET=mcu_riscv TARGET_ARCH=riscv32_mcu hello_world_bin

if it doesn't work it might be a compiler problem, maybe install on path the one that tflite micro downloads

Thank you so much mate, it works now using riscv32-unknown-elf-gcc that I had installed previously, but I noticed that the binaries went into infinite loop of repeating the same output, is that the case with you as well?? I ran it on Spike using the command
spike --isa=rv32gc pk tensorflow/lite/micro/tools/make/gen/mcu_riscv_riscv32_mcu_default/bin/hello_world

Use --isa=rv32imac flag on Spike as that's the -march used in the makefile.

Oh ok, thanks again. Yeah, I meant that the actual outputs were repeating, with --isa=rv32imac I get an error that an illegal instruction was executed, but rv32gc actually seems to be working correctly if there's a while(true) loop, so I'll stick with that then

Hey, so I was attempting to build the hello world example for RISC-V target and then use Spike to run the subsequent binary file. These are the commands I used to do this:
1. git clone https://github.com/tensorflow/tflite-micro.git

2. cd tflite-micro

3. make -f tensorflow/lite/micro/tools/make/Makefile third_party_downloads

4. Change the target from riscv32_mcu to mcu_riscv in /tensorflow/lite/micro/tools/make/mcu_riscv_makefile.inc and in /tensorflow/lite/micro/examples/hello_world/riscv32_mcu/Makefile.inc

5. Moved the flags `-fnothreadsafe-statics` and `-fno-use-cxa-atexit` from PLATFORM FLAGS to CXX FLAGS in /tensorflow/lite/micro/tools/make/targets/mcu_riscv_makefile.inc

6. Changed -c11 to -gnu11 under CCFLAGS in /tensorflow/lite/micro/tools/make/Makefile

7. Changed the functions fmin and fmax to min and max respectively in /tensorflow/lite/kernels/internal/min.h and /tensorflow/lite/kernels/internal/max.h.

8. Run the command `make -f tensorflow/lite/micro/tools/make/Makefile TARGET=mcu_riscv TARGET_ARCH=riscv32_mcu hello_world_bin`

9. Run the binary using Spike: `spike --isa=rv32imafdc pk tensorflow/lite/micro/tools/make/gen/mcu_riscv_riscv32_mcu_default/bin/hello_world`

I've checked that the binary generated is indeed ELF 32-bit RISC-V executable, but still on running the final command, it shows bbl loader couldn't open ELF program: tensorflow/lite/micro/tools/make/gen/mcu_riscv_riscv32_mcu_default/bin/hello_world!
Can anyone let me know what I'm doing wrong in this case??

I am getting the same issue, Apart from compiling the executable locally(using the toolchain built locally), is there a possible way to get it running via Sifive toolchain? I just wanted to know the reason for not being able to recognize by spike. If anyone could let me know , it would be very helpful. Thanks !

Hey, so I was attempting to build the hello world example for RISC-V target and then use Spike to run the subsequent binary file. These are the commands I used to do this:
1. git clone https://github.com/tensorflow/tflite-micro.git

2. cd tflite-micro

3. make -f tensorflow/lite/micro/tools/make/Makefile third_party_downloads

4. Change the target from riscv32_mcu to mcu_riscv in /tensorflow/lite/micro/tools/make/mcu_riscv_makefile.inc and in /tensorflow/lite/micro/examples/hello_world/riscv32_mcu/Makefile.inc

5. Moved the flags `-fnothreadsafe-statics` and `-fno-use-cxa-atexit` from PLATFORM FLAGS to CXX FLAGS in /tensorflow/lite/micro/tools/make/targets/mcu_riscv_makefile.inc

6. Changed -c11 to -gnu11 under CCFLAGS in /tensorflow/lite/micro/tools/make/Makefile

7. Changed the functions fmin and fmax to min and max respectively in /tensorflow/lite/kernels/internal/min.h and /tensorflow/lite/kernels/internal/max.h.

8. Run the command `make -f tensorflow/lite/micro/tools/make/Makefile TARGET=mcu_riscv TARGET_ARCH=riscv32_mcu hello_world_bin`

9. Run the binary using Spike: `spike --isa=rv32imafdc pk tensorflow/lite/micro/tools/make/gen/mcu_riscv_riscv32_mcu_default/bin/hello_world`

I've checked that the binary generated is indeed ELF 32-bit RISC-V executable, but still on running the final command, it shows bbl loader couldn't open ELF program: tensorflow/lite/micro/tools/make/gen/mcu_riscv_riscv32_mcu_default/bin/hello_world!
Can anyone let me know what I'm doing wrong in this case??

Hello Team, I am facing the exact issue after building the hello world for the riscv. May i know the reason for not able to run on Spike? Is building the toolchain locally and then building the tflite micro the only solution?

I modify tensorflow/lite/micro/tools/make/Makefile and placed it  at the folder root of tflite-micro.
And it could support  RISC-V with rv64gv and no need to add flag when simulating with spike.
This is my Makefile.
At beginning, please follow Readme to recompile your RISC-V toolchain.

clone repository
use this as micro/tools/make/targets/mcu_riscv_makefile.inc: https://pastebin.com/BgqEq5i7 (noticed i removed the downloads too, you should have a riscv compiler in your path)
make -f tensorflow/lite/micro/tools/make/Makefile TARGET=mcu_riscv TARGET_ARCH=riscv32_mcu hello_world_bin

if it doesn't work it might be a compiler problem, maybe install on path the one that tflite micro downloads

Thanks, your makefile flags helped me to compile for my CV32E40P.


Duplicating an data object

Hello,
in order to duplicate an object with all its children, I had to use a jQuery function, please is there a better way in Vue? I am using Vue 0.12.1
duplicateThis: function (field) {
    var currentField = this.fields[field.index];

    var insertField = {
        name: currentField.name,
        type: currentField.type,
        description: currentField.description,
        options: $.extend(true, {}, currentField.options),
        required: currentField.required
    };

    this.fields.splice(field.index + 1, 0, insertField);
}

Thank you

Have you tried JSON.parse(JSON.stringify(field))?

Please use https://github.com/vuejs/Discussion/issues for questions that doesn't have to do with the codebase itself;
You can use the approach @Nirazul mentioned above, or use an external utility lib with a deepClone function, e.g. with underscore or lodash: _.clone(obj, true). This type of functionality does not fall within Vue's scope.

Sorry.
I'll try these options and was afraid to use @Nirazul's approach as it may not be working on all browsers.

Thank you both.

@FSElias
Actually, you are quite on the safe side ;)
http://caniuse.com/#search=stringify

Except stringify will index nulls to the destination object.

var obj = { a: 1 };
var copy = Object.assign({}, obj);
console.log(copy); // { a: 1 }

@rikardocorp this only does a shallow copy, any objects within obj will be copied as references

Trying several options this function has worked for me, thanks to Avijit Gupta
https://www.codementor.io/avijitgupta/deep-copying-in-js-7x6q8vh5d
function copy(o) {
   var output, v, key;
   output = Array.isArray(o) ? [] : {};
   for (key in o) {
       v = o[key];
       output[key] = (typeof v === "object") ? copy(v) : v;
   }
   return output;
}

the following works
var a = [{name: 1},{name: 2},{name: 3}];

var b = copy(a);
var c = copy(a);
b[0].name = 8;
console.log(c[0].name); // 1

Just for sharing, in some use case I need to assign callback to attribute of an object. I noticed The JSON.parse/stringify approach does not 'clone' the callback functions. I used lodash _.clone at the end.
https://stackoverflow.com/questions/36968518/typescript-json-stringify-loose-type-and-function

Trying several options this function has worked for me, thanks to Avijit Gupta
https://www.codementor.io/avijitgupta/deep-copying-in-js-7x6q8vh5d
function copy(o) {
   var output, v, key;
   output = Array.isArray(o) ? [] : {};
   for (key in o) {
       v = o[key];
       output[key] = (typeof v === "object") ? copy(v) : v;
   }
   return output;
}

the following works
var a = [{name: 1},{name: 2},{name: 3}];

var b = copy(a);
var c = copy(a);
b[0].name = 8;
console.log(c[0].name); // 1

The problem with this approach is that typeof(null) is an object, so you should be aware of that

you have to add a little line just at the beginning :
if (o === null) return null;
this solve the problem
function copy(o) {
    if (o === null) return null;

    var output, v, key;
    output = Array.isArray(o) ? [] : {};
    for (key in o) {
        v = o[key];
        output[key] = (typeof v === "object") ? copy(v) : v;
    }
    return output;
}

The problem with this approach is that typeof(null) is an object, so you should be aware of that

i add just one more if-else block, this is my code, and it's working fine
`copy (o) { // copy object or array
let output, v, key
output = Array.isArray(o) ? [] : {}
for (key in o) {
	v = o[key]
	if(v) {
		output[key] = (typeof v === "object") ? this.copy(v) : v
	} else {
		output[key] = v
	}
}
return output;

},`

Copiar ArrayList:
data() {
    return {
        original: ["valor 1", "valor 2"],
        copia: []
    }
}

this.copia = JSON.parse(JSON.stringify(this.original))
console.log(this.copia) // valor 1, valor 2

@JavierSolis
It worked, thank you!

Including jQuery when you use Vue in your project should be prosecutable.

This should be straightforward and shipped with Vue.
Just to be able to cancel an editing modal with nested object structure and dates, I need to include lodash.

It have been a nightmare for me this. I couldn't duplicate a object properly keeping the functions, lodash clone and cloneDeep didn't work for me.
JSON Parse does not keep functions
I've created this function for this:

Vue.prototype.$clone = function(value) {

  if(typeof value != 'object'){

    return  value

  }

  var obj = value
  var newObj

  if (obj instanceof Array) {
    newObj = []
  }else if(typeof obj == 'object'){
    newObj = {}
  }

  for (let k in obj) {
    let v = obj[k]

    if (obj instanceof Array) {

      newObj.push(this.$clone(v))

    } else
    if(typeof obj === 'object'){

      newObj[k] = this.$clone(v)

    }else{
//should not arrive at this point
}

  }

  return newObj
}

Hope it helps

if you're using ES6, have you tried
const newObj = {...obj};
or something like (map, filter)

if you're using ES6, have you tried
const newObj = {...obj};
or something like (map, filter)

That method does a shallow copy as well. So any objects will still be referencing the original

Including jQuery when you use Vue in your project should be prosecutable.

Imagine the face of a legacy project moving to vue


vbm.go typo

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "patch-1" git@github.com:henrik/machine.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Hi @henrik It looks good to me, but you have to sign your commit

Like @dgageot said, once the commit is properly signed with DCO LGTM

closing as done in #2869


set-working-directory

Hello,
Mounting volumes didn't work for me until I used acbuild set-working-directory...is this needed to mount volumes when building ACIs? I didn't see it in the NGINX example and would appreciate some info showing exactly when and under which setting the working directory is needed.  Possibly I just missed something when running my acbuild commands which is why I needed to add it.
Thank you!

I don't really see why that should be necessary. What happened when you didn't have it provided?

@jonboulle The container wasn't able to write to or read to the files in the location I mounted to. I didn't change anything except set the working directory.

ok, I bet @dgonyeo can investigate :-)
On Thu, May 19, 2016 at 6:06 PM, Faraz Fazli<EMAIL_ADDRESS>wrote:

@jonboulle https://github.com/jonboulle The container wasn't able to
write to or read to the files in the location I mounted to. I didn't change
anything except set the working directory.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/appc/acbuild/issues/209#issuecomment-220372551

Sorry about the lengthy delay, school was ending and things were very hectic. This sounds very interesting though, is there any chance you still have an acbuild script and/or the ACIs that exhibited this behavior? acbuild set-working-directory shouldn't impact how mounts work at all.


Fix tint does not work on CanvasRenderer

Fix #5889
demo: https://www.pixiplayground.com/#/edit/WF0gD7FRlpVCtvUB8iuWJ
fixed: https://www.pixiplayground.com/#/edit/tCSzOdIh7zj8_om9WEvKs

Codecov Report

Merging #5893 into dev will increase coverage by 0.11%.
The diff coverage is 80%.

@@            Coverage Diff             @@
##              dev    #5893      +/-   ##
==========================================
+ Coverage   70.38%   70.49%   +0.11%
==========================================
  Files         206      206
  Lines       10454    10456       +2
==========================================
+ Hits         7358     7371      +13
+ Misses       3096     3085      -11

Impacted Files
Coverage Δ

...ackages/canvas/canvas-renderer/src/CanvasTinter.js
2.35% <0%> (ø)
:arrow_up:

packages/canvas/canvas-mesh/src/NineSlicePlane.js
8.88% <0%> (ø)
:arrow_up:

...nvas/canvas-graphics/src/CanvasGraphicsRenderer.js
27.56% <100%> (+8.08%)
:arrow_up:

Continue to review full report at Codecov.

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


Does moduleForComponent (integration true) support one way bound inputs yet?

I started playing around with some one-way data binding tonight and found that integration tests don't seem to work as they did when I used a simple 2WDB setup. I'm mostly curious if one way bound inputs should work or if that feature is just yet to be implemented :)
ember 2.2.0-beta 2
qunit 1.19.0
ember-qunit 0.4.15
ember-cli-qunit 1.0.3
Here is the integration test that broke once I upgraded from 2WDB to 1WDB
test('name validation is configured to show and hide error messages', function(assert) {
    this.set('model', user);
    this.render(hbs`{{user-detail model=model}}`);
    let $component = this.$('.name-validation-error');
    assert.ok($component.is(':hidden'));
    this.$('.detail-name').val('a').trigger('change');
    assert.ok($component.is(':hidden'));
    this.$('.detail-name').val('').trigger('change');
    assert.ok($component.is(':visible')); //the line that fails the test
});

Here was the original 2WDB template setup
{{input id="name" class="form-control detail-name" value=model.name placeholder="name"}}

Here is the new template (that breaks the integration test)
<input id="name" class="form-control detail-name" placeholder="name" value={{model.name}} oninput={{action "nameDidChange" value="target.value"}} />

And here is the JS for the oninput action
export default Ember.Component.extend({
    actions: {
        nameDidChange: function(value) {
            this.get('model').set('name', value);
        }
    }
});

Here is the full blown example app
https://github.com/toranb/ember-2-skeleton-app
And here is the test (failing part is commented out at the moment)
https://github.com/toranb/ember-2-skeleton-app/blob/master/tests/integration/components/user-detail-test.js

Using the technique you describe as one way inputs completely hoses the cursor position. Unless that doesn't matter I would not suggest that you use that mechanism.  If you would like a nice reusable one way input you should use ember-one-way-input package (which is an extraction of some work I did in a twiddle).

I've already "shut down" for the evening but will try to review in more detail and give a more fully detailed response tomorrow.

No worries my friend :) it's Sunday night and I'm in no hurry

Demo of completely broken cursor position with <input oninput={{action 'foo'}}>:
http://ember-twiddle.com/afd593c0bb0130b280c5

@rwjblue ah that was the issue :) and now the test below works just fine!
test('name validation is configured to show and hide error messages', function(assert) {
    this.set('model', user);
    this.render(hbs`{{user-detail model=model}}`);
    let $component = this.$('.name-validation-error');
    assert.ok($component.is(':hidden'));
    this.$('.detail-name').val('a').trigger('input');
    assert.ok($component.is(':hidden'));
    this.$('.detail-name').val('').trigger('input');
    assert.ok($component.is(':visible'));
});


Do not use system curl to build cpr

In #7385 we introduced libcpr to Velox. It set CPR_USE_SYSTEM_CURL
true, and it may cause a construction issue if the host installed a lower version curl.
This PR disables this flag to force the use of bundled curl in libcpr, to avoid
the potential curl version issues, and make the dependencies version more
accurate and controllable and isolated from the state of the host machine.
Also, see the blog https://velox-lib.io/blog/velox-build-experience.

Could you add to the description why this change is needed?

Could you add to the description why this change is needed?

@assignUser Sure, done.

@pedroerp @kgpai Could you please help to review this PR? I used to turn this flag on to try to fix the build issue in #7385, but it turned out to be another issue that I've fixed in #7385. This flag should be turned off (see the PR description). Thanks a lot.

@duanmeng Can we add a curl.cmake dependency in CMake/resolve_dependency_modules? This way, we would be able to specify VELOX_CURL_URL to a local path.

Adding a custom curl version is likely to lead to conflicts with host openssl/curl but you can give it a try ^^
Alternatively you could manually pass -DCPR_USE_SYSTEM_CURL=ON to the build if you don't want to use it.

@duanmeng, libcpr seems to have an issue in its CMakeLists.txt file when CPR_USE_SYSTEM_CURL=OFF.
It disables the BUILD_TESTING globally. See link below. This caused https://github.com/prestodb/presto/issues/21505
https://github.com/libcpr/cpr/blob/master/CMakeLists.txt#L216
Can you add unset(BUILD_TESTING) after FetchContent_MakeAvailable(cpr) inside cpr.cmake?

Maybe we should just unset it in our root cmakelists just before we turn testing on to avoid such issues in the future?

| Maybe we should just unset it in our root cmakelists
@assignUser we should do this.

We should also add --no-tests=error to the ctest command to ensure it fails if no tests are found.

@majetideepak @assignUser I could not find any VELOX flags that would make BUILD_TESTING enabled. Should we add the unset just before the include(CTest) in the root cmakelist, and set it according to some flags like here?
https://github.com/facebookincubator/velox/blob/main/CMakeLists.txt#L556

@duanmeng let's discuss this here https://github.com/facebookincubator/velox/issues/7964


Move math related functions to a separate source file

currently the new math.c file only contains float stuff.
What else would be added?  Perhaps more float-only functions, such as string2float().
What non-float math code could be added?  If nothing obvious, perhaps we should call the new file float.c


Cognito integration

@manishPh @spiderworm - Could you please review the pull request?

review comments are fixed


Add discord link in the footer

Is your feature request related to a problem? Please describe.
please update the docusaurus.config.js file to redicrect to the 4c community Discord server

link to use: https://discord.com/invite/JZ2btyTfzQ
Describe the solution you'd like
clicking on the discord link in the footer you should be redirected to the discord server
Describe alternatives you've considered
No response
Additional context
No response

Hi @FrancescoXX @ardasevinc, I would like to help with this issue. Thanks.

resolved with #318


Moving documented headers into the parameters object

The documented headers in the description block describing the request headers. To have them picked up in the SwaggerUI they need to be in the parameters object with in: 'header' instead of a headers object, which used to document the response headers.

This is good, see minor comments above and please squash your commits.

Hi @daveWid … think we have to distinguish between the swagger-header and parameters in headers, as you mean.
for that I would propose, that all stuff that is described inside the params block is request related
and all from the desc is more general stuff

please have a look here: https://github.com/ruby-grape/grape-swagger/pull/362

@LeFnord I find swagger 2.0 don't support headers in path, so method headers can be response headers for 2xx response, or merge headers to parameters of path .
Or you can will remove headers feature in method, but I use old grape-swagger version, I update it,
and headers params  are lost.
I think that move headers to parameters of path is better.

sorry @songlipeng2003 it is a bit confusing to me what you want …
set headers on route level is done via headers, see: swagger-header-parameters
specifying headers as request parameters is done via param_type, see: api_swagger_v2_param_type_spec.rb


load run multiple times when opening multi-root workspace

Hi, so I am having this issue where I am getting duplicated tests when the user opens a multi-root workspace.
What I noticed is that the load method in the adapter is executed 2 times(cause there si 2 folders in the workspace), do you have any idea what could be causing this?.

found the problem. sorry


Add introduction section to README

Add a detailed introduction section of this project to the README file.

Section has been added via pull request and merged with main.


Discussion about proof of work changes

There are already some discussion about that since a while, let's discuss here as well.
Basically, the main idea is to replace the current 6-tuple pattern by something that would allow bigger or more diverse patterns. Indeed, with the current choice will never allow blocks to be a part of a 7-tuple or more, which is really a shame and defeat a lot of the Riecoin's purpose.
If we go in this direction, a hard fork is obviously needed, and we could already do it for 0.16.4, or 0.18.x if we choose to upgrade before.
Currently, many in the community are opposed to have a PoW that is GPU friendly so we should have something that is still GPU proof.
The change could be simply to use another pattern (probably of length 4, 5 or 7) that is compatible with longer constellations. This would already improve the Riecoin's purpose a lot.
We could also reward blocks with longer tuples (and get rid of the current SuperBlock system that confuses so many people with the 22.666... coins blocks) so miners have incentive to accept a slight loss of performance to configure the miner in order to find longer constellations.
There were also some (mainly ziiip) suggesting to improve the difficulty adjustment algorithm and make it much more dynamic and make the network more robust, we could do both to avoid having 2 hard forks.

Perhaps as a variation on Myriadcoin's multi-algo implementation, perhaps Riecoin could adopt a multi-length-tuple signaling in the blockheader version field. Essentially, each tuple length would have it's own independent difficulty. That way you can keep rewards the same per block since difficulty would govern rewards as intended.
concept ACK on dropping the superblock implementation, it's confusing and complicated.
concept ACK on faster difficulty adjustments.

My original idea was to allow 2 constellations and difficulties with 1 for CPUs and 1 for GPUs. There is some opposition to making things GPU friendly and it will be more difficult to implement so for now I think it makes sense to just change the constellation pattern. The best choices are probably 4 and 7. Current difficulties of around 1230 would correspond to roughly 3300 for 4-tuples and 700 for 7-tuples.
Choosing 4-tuples would allow us to break the 6-tuple record which is currently at 3445. Verification would take longer but would probably be manageable.
Choosing 7-tuples would probably allow us to break records from 8 or 9 to at least 10. 700 might be in the range of some GPU codes. This needs to be checked. It's possible there are some miner improvements that would raise the difficulty. If possible, it would be better to use 7-tuples because we could break more records and verification would be easier.
We should also keep in mind that not too long ago difficulties were almost 50% higher.
I really like the idea of rewards for finding larger constellations. This would encourage miners to sieve for larger constellations which will make them much more likely to be found. It would also add some excitement to mining. I think the reward would have to be paid out in the following block since the miner won't know ahead of time if a larger constellation will be found. I think this is possible.
There haven't been many issues with difficulty but it should be easy to change the difficulty adjustment algorithm and would make things more robust. ziiip recommended an algorithm which was roughly a 144 block moving average.

concept ACK on higher tuples.
unsure on lower tuples, anything that makes validation more costly, especially initial sync validation are going to be a problem going forward.
We could increase blocktime and rewards drastically for longer blocks, higher difficulties, lower validation costs (less blocks in the same amount of time), correct? I'm not sure if there is support for that, but might that give a high likelihood to hit more interesting records?

I think that the transaction processing should remain fast, 2.5 minutes is a good choice. Finding more tuples also means more chances to find longer tuples.
Agree that for the long term, 7-tuples are much better. Not sure how we could manage Difficulties of 5000+ or even 10000+ later... Looks like it is the way to go, even though rieMiner would likely need improvements.
I can mine 7-tuples at ~800 as hard as the current Difficulties by increasing the Primorial Number so we might also already need to update the way the solution is encoded.
Rockhawk suggested:

One change that would be nice and would make a small boost to the number size that could be found would be to change the way that the prime is encoded to allow a larger primorial number to be used.
To explain, Riecoin primes must be of the form: P = 2^D + S.2^(D-265) + X
where X < 2^(D-265). Additionally, X must be < 2^256 as only 256 bits may be submitted for the proof of work.
In practice, the best way to choose X is to have it of the form: X = n# - (2^D + S*2^(D-9)) % n# + k.n# + x
where # denotes the primorial operator (n# is the product of all primes <= n), x = q + (0, 4, 6, 10, 12, 16), with q normally = 16057 though the smallest prime in any small sextuplet will do.
The advantage of this form is that it guarantees that no primes <= n can be factors of P for any k. Sieving is then used to eliminate k with factors up to some limit and finally primality tests are used for candidates.
Choosing a larger n allows for faster sieving and a higher density of candidates across a given range of k, so allowing a larger n could provide a modest boost to the size of primes the network finds.
My suggestion would be to change the proof of work to consist of just k, n and q instead of the full representation of X, as it is easy to calculate X given k, n and q. This would allow X larger than 2^256, and hence larger n values to be used.
Suitable ranges for the values to give plenty of flexibility to the mining implementation would be k < 2^128, n < 2^16, q < 2^96, which would give 16 bits spare in a 256-bit submission, maybe to encode the tuple constellation.
Maybe a bit could be used to indicate whether the client was using this form or not, in case someone wants to continue using an older mining implementation. The bottom bit of the 256-bit submission would do for this, as it must always be 1 in the current implementation (if it is zero then P would be even). I'd suggest reserving another bit to indicate use of a different form in future too.

Fork changes are now implemented in c8f815925cb2b0dff373a55bc283fe9874a6451c.
After the fork, 7-tuples will be mined instead of sextuplets. After thinking again about it, it would be better to let mining longer tuples be a voluntary choice not incentived by the block rewards. Someone that wants to mine longer tuples will still have fun doing so, and they should be rewarded not by the Riecoin protocol but rather by community donations and publicity. Also not all longer tuples will be records, and it makes less sense to reward many constellations that do not beat a record.
The RockHawk suggestion was implemented. More details about the implementation can be found here. 15 bits are reserved and could be used later to for new encodings or even new/additional PoWs.
The superblocks will be removed after the fork.
The difficulty adjustment algorithm will be replaced by one based on ASERT/EMA, recommended by Zawy12, a reference person in the domain. To enable small variations for a DAA that retargets every block, difficulties can now be fractional, with 1/256 precision (see the link about the PoW above). The implementation is very slightly imprecise, but it should not cause any issue in practice as rounding errors will just be compensated over time, and the simplicity of implementing this is a real advantage. More information on the DAA implementation in Riecoin.
In complement to the DAA change, the adjusted time system was removed and the actual time is used, a node will not connect to ones with more than 5 s offset, and the blocks will have to be within 15 s before the previous one or in the future. These should prevent any attack abusing the large DEFAULT_MAX_TIME_ADJUSTMENT and Timestamp Manipulations abusing the large MAX_FUTURE_BLOCK_TIME and Median Time Past. The only drawback of these changes is that every node are now required to have correct clock and timezone, but really, that is not a problem today and a very reasonable expectation, and most of the Riecoin nodes I connect to already have a 0 s or +/- 1 s  time offset.


Expose View::default_compute_layout

While this method is implementable in custom component by copy-paste programming, it would be preferable for custom components to be able to keep up with any changes in the default implementation by calling it directly instead.

maybe we can put the method under ComputeLayoutCx and call it compute_view_children_layout?

Sure, sounds good.


x/text/language: matcher incorrect handling of zh

What version of Go are you using (go version)?

$ go version
go version go1.12.5 darwin/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/frederic/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/frederic/.go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/Cellar/go/1.12.5/libexec"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.12.5/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/frederic/Creative/src/wayke/backend/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/h9/05jw9tbx44941w86t3ml3bmw0000gn/T/go-build309324644=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
Building on CLDR LocalMatcher tests, I tested the case where both zh-CN and zh-HK are supported and zh-TW is desired. I switched CN and HK relative positions in supported.
https://play.golang.org/p/4bG57qBzNQr
What did you expect to see?
I expected zh-HK to be returned in both cases.
What did you see instead?
zh-HK is returned when HK is before CN in supported, en is returned when CN precedes HK.

Thanks for reporting this.
cc @mpvl for investigation.


Env var not evaluated correctly in pre-request for v18 v19 v20

I have checked the following:

[X] I use the newest version of bruno.
[X] I've searched existing issues and found nothing related to my issue.

Describe the bug
Since v18, the environment variable is not getting evaluated correctly in pre-request. As you can see in my screenshots, in v17, the env var gets evaluated with the correct value while v20 does not get evaluated at all and stays with the double brackets {{}}. I'm also attaching my simple test file/collection.

.bru file to reproduce the bug
Test collection to reproduce the above bug reported.
bruno-test.zip
Screenshots/Live demo link

The behavior of the request object (URLs, headers, body) being interpolated before the pre-request execution has caused several issues.
For example, consider the following scenario:
The request URL is:
http://localhost:8080/users?token={token}
And the pre-request script contains:
bru.setVar("token", "secret token");

In this case, if interpolation happens before the pre-request script is executed, the code in the script becomes ineffective, as the URL would already have been interpolated without the updated token value.
That said, I agree that there should be a way to enable request object interpolation ahead of time when needed. I’m considering introducing a bru.interpolate() API that can be invoked at the start of the script to address this requirement.


Can you share your VM Image

Hi,
First of all Thank you for building this but after trying a lot I didn't setup correctly MACOS Cuckoo.
.
if you won't mind, can you please share your VM Image of Guest machine so that it Help us.
.
I hope you understand our problem.
.
Thanks & Regards
Seantree

@seantree hi again,
In other issue I sent the manual + the wrapper-script to set up MacOS X. Had you a chance to use that?

Hi @zentavr
No I didn't implemented that part because I already implemented this one. The manual which is given by you it was good but I didn't get a time to implement it properly because somewhere it confuses me a lot.

What was the problem?
--
Thanks,
Andrey   Miroshnichenko<EMAIL_ADDRESS>6 серп. 2018 р. о 11:45 seantree<EMAIL_ADDRESS>пише:

Hi @zentavr
No I didn't implemented that part because I already implemented this one. The manual which is given by you it was good but I didn't get a time to implement it properly because somewhere it confuses me a lot.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Same thing I was facing  which you discussed here. I have tried this method by using latest cuckoo version with darwin but it runs for few seconds and doesn't gather any behaviour information thereafter I moved to the mac-a-mal cuckoo
https://github.com/cuckoosandbox/cuckoo/issues/2401

I had nothing to work with cuckoo <IP_ADDRESS>, but with 2.0-rc2 seems like it is better:
# Cloning the stock repo
git clone --depth=1 https://github.com/cuckoosandbox/cuckoo.git cuckoo -b 2.0-rc2

# Adding Mac-A-Mal code on top of cuckoo
cd cuckoo
git remote add mac-a-mal https://github.com/phdphuc/mac-a-mal-cuckoo.git
git pull --allow-unrelated-histories --no-edit -s recursive -X theirs mac-a-mal master

Pack it:
rm -rf .git .codeclimate.yml .gitignore .travis.yml LICENSE README.md
tar zcvf ../cuckoo-2.0-rc2-mac-a-mal-8bbec99d.tar.gz .

As for guest - I used MacOS X Yosemite (10.10), because I have no valid certificate to sign mac-a-mal.kext, but with VirtualBox I can specify the command-line boot parameter in order to be able to load unsigned kexts.

Frankly speaking my bash script which downloads mini Ubuntu iso file worked only one time from 6 trials.

Ok but If we go as per the MAC-A-Mal Cuckoo it will work I think because I heard that it's working perfectly only the thing is we need to configure mac-a-mal properly for it.
.
I did lots of experiments afterwards I came here to take the help from its developer. So, waiting for the @phdphuc to come and help us.


⚡ Payable constructors

Description
Implement payable constructors.
You can cut out 10 opcodes in the creation-time EVM bytecode if you declare a constructor payable. The following opcodes are cut out:

CALLVALUE
DUP1
ISZERO
PUSH2
JUMPI
PUSH1
DUP1
REVERT
JUMPDEST
POP

h/t @pcaversaccio https://github.com/OpenZeppelin/openzeppelin-contracts/issues/3059
Checklist

[x] Ran forge snapshot?
[x] Ran npm run lint?
[x] Ran forge test?

that hurts :-(


[Subtask] Improved Gradle Build Scripts for Python Module

Describe the subtask
Currently, Clients/client-python/build.gradle.kts import java plugin to support gradle test command,
But the python module doesn't actually depend on this plugin, and must add below config in the build.gradle.kts.
  compileJava {
    dependsOn(pipInstall)
  }

  spotlessJava {
    dependsOn(pipInstall)
  }

Maybe we can improve this script, and delete these.
Parent issue
#2113

This issue fixed by #2753, So I closed this issue.


Feature request: console.table

In JavaScript, console.table is a very useful utility that pretty prints the input data.
Example:
console.table(["apples", "oranges", "bananas"]);

You would get something like this in the console:

Many times I find myself adding empty spaces to my Solidity console.log statements just so that I can see the outputs aligned on the vertical axis.
It would be nice to have a helper function that creates a table with ASCII characters (e.g. -) and auto-indents the outputs for us.

@mds1 is this smth that should be in Foundry? (I don't know how the console works under the hood)

It should definitely be possible to instruct Forge to selectively format the whitespaces differently based on what log events get emitted.

Definitely supportive of a console2.table command

@PaulRBerg should it follow C printf's format? printf("%-32s", tmp); this works for fixed character arrays
or Maybe something like console2.rlog32() ?

@lucaslain I honestly don't mind either way. Just having the feature implemented (in whichever way is simpler) would be a huge boon for the Foundry debugging UX.


Show appears in search results before its page is available

Description
Newly released episodes can appear in search results before the corresponding show page is actually available.
To Reproduce

Eagerly listen to a newly released episode
Get curious about a topic mentioned in the episode; search the syntax site for that topic before 12:00 GMT on release day
Click the search result for the newly released episode
The episode's show page throws an Oopsie-daisy

Screenshots

Episode 687 in podcast player, 6:59am Eastern US:

Searching syntax website for topic in episode 687; episode appears in results at 7:24am Eastern US (I must have re-taken this screenshot after seeing the oopsie-daisy):

Episode 687 show page not available yet at 7:15am Eastern US:

This is a good find. Need to tweak and standardize that db query.

Not sure if this is a bug.
I have noticed that in about section the no. of episodes mentioned doesn't match the total number by 1.

The Shows page

The episodes start from the number '0' which makes the total number of episodes 688 and not '689'.
Am I missing something? 🤔

Fixed https://github.com/syntaxfm/website/pull/1354

It might be counting the uploaded but unreleased ones. Since we're just doing a show.count(). We'll probably toss a where date lte today on that bad boy. Scott Tolinski www.scotttolinski.com
…
On Fri, Nov 03, 2023 at 3:50 AM, Pranav Goel @.> wrote: Not sure if this is a bug. I have noticed that in about section the no. of episodes mentioned doesn't match the total number by 1. [image: image] https://user-images.githubusercontent.com/48860494/280237549-0d3b5958-44d7-42d1-934f-aa082a178b77.png The Shows page [image: image] https://user-images.githubusercontent.com/48860494/280237624-6d805bf1-fe8a-4a7d-bb98-643f9a583fbc.png The episodes start from the number '0' which makes the total number of episodes 688 and not '689'. Am I missing something? [image: 🤔] — Reply to this email directly, view it on GitHub <#1334 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFDNR42BU3ZS6SDA5P6ZYLYCS45FAVCNFSM6AAAAAA6ZJ7NRKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJSGE2DCMBVGI . You are receiving this because you were assigned.Message ID: @.>

Thanks for the info 🙌🏻


Add CppUTestExt to IAR

This patch adds the possibility to compile the CppUTestExt project in the IAR environment.
The IAR EWARM version is now 7.7.

Coverage remained the same at 99.875% when pulling cf0b74ff5689bd4ef8a89ad7a663982fe72b617c on dangu:dev/IAR7.7_CppUTestExt into 2eb420a8002cc09cded8aa2deb7a76addb517376 on cpputest:master.

The diff looks a bit weird. Did you have a look at it?

Well, I guess some of the weirdness comes from the removed project files? (I ignored the *.ewt and *.dep-files that are automatically generated from the IAR software)
Then there are a lot of diffs in the actual project files as I let the IAR EWARM upgrade them to version 7.7. These files are not really human readable so it doesn't make much sense to try and diff them.
Apart from that I don't see any problems?


RISC-V: CH32V307 support

This patch adds support for CH32V307, including the flashing algorithm. Adding support for CH32V3xx and CH32V2xx should be trivial, but I don't have them, so I can't test it.
target-gen only allows a single byte for "erased state", half word is needed at least for this target.
The flashing is also very slow, at about 3.2 KiB/s. I suspect it is due to no batching with WCHLink.

Implementation of the algorithm is available here: https://github.com/ch32-rs/flash-algorithms

@Marcuss2 I have a CH32V203 and would be happy to test an implementation if you could provide one, as I'm having trouble coming up with one myself. Also shouldn't the flash section start at 0x0800 0000 as per the reference manual, otherwise the mapping from 0x0 depends on the connection of the boot pins. As well as including the boot section from 0x1FFF 8000.

@Marcuss2 Also shouldn't the flash section start at 0x0800 0000 as per the reference manual, otherwise the mapping from 0x0 depends on the connection of the boot pins. As well as including the boot section from 0x1FFF 8000.

The flashing algorithm does take this into account https://github.com/ch32-rs/flash-algorithms/blob/main/ch32v307/src/main.rs it actually adds 0x08000000 to the address. This was inspired by the ch32v003 version.

I have a CH32V203 and would be happy to test an implementation if you could provide one, as I'm having trouble coming up with one myself.

I think the CH32v307 flashing algorithm should work. As the CH32V3* and CH32V2* share most peripherals, include the FLASH controller.


HBASE-22526 RejectedExecutionException could be thrown from TableOver…

…AsyncTable.coprocessor service if the connection has been shutown

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
186
Docker mode activated.

_ Prechecks _

+1
hbaseanti
0
Patch does not have any anti-patterns.

+1
@author
0
The patch does not contain any @author tags.

-0
test4tests
0
The patch doesn't appear to include any new or modified tests.  Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ HBASE-21512 Compile Tests _

+1
mvninstall
250
HBASE-21512 passed

+1
compile
21
HBASE-21512 passed

+1
checkstyle
27
HBASE-21512 passed

+1
shadedjars
289
branch has no errors when building our shaded downstream artifacts.

+1
findbugs
56
HBASE-21512 passed

+1
javadoc
20
HBASE-21512 passed

_ Patch Compile Tests _

+1
mvninstall
271
the patch passed

+1
compile
22
the patch passed

+1
javac
22
the patch passed

+1
checkstyle
27
the patch passed

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedjars
272
patch has no errors when building our shaded downstream artifacts.

+1
hadoopcheck
805
Patch does not cause any errors with Hadoop 2.8.5 2.9.2 or 3.1.2.

+1
findbugs
63
the patch passed

+1
javadoc
18
the patch passed

_ Other Tests _

+1
unit
97
hbase-client in the patch passed.

+1
asflicense
11
The patch does not generate ASF License warnings.

2751

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-286/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/286

Optional Tests
dupname  asflicense  javac  javadoc  unit  findbugs  shadedjars  hadoopcheck  hbaseanti  checkstyle  compile

uname
Linux 561c986aea82 4.4.0-137-generic #163-Ubuntu SMP Mon Sep 24 13:14:43 UTC 2018 x86_64 GNU/Linux

Build tool
maven

Personality
/testptch/patchprocess/precommit/personality/provided.sh

git revision
HBASE-21512 / bb4d11275a

maven
version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z)

Default Java
1.8.0_181

findbugs
v3.1.11

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-286/1/testReport/

Max. process+thread count
276 (vs. ulimit of 10000)

modules
C: hbase-client U: hbase-client

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-286/1/console

Powered by
Apache Yetus 0.9.0 http://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
56
Docker mode activated.

_ Prechecks _

+1
hbaseanti
0
Patch does not have any anti-patterns.

+1
@author
0
The patch does not contain any @author tags.

-0
test4tests
0
The patch doesn't appear to include any new or modified tests.  Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ HBASE-21512 Compile Tests _

+1
mvninstall
256
HBASE-21512 passed

+1
compile
23
HBASE-21512 passed

+1
checkstyle
30
HBASE-21512 passed

+1
shadedjars
285
branch has no errors when building our shaded downstream artifacts.

+1
findbugs
53
HBASE-21512 passed

+1
javadoc
20
HBASE-21512 passed

_ Patch Compile Tests _

+1
mvninstall
246
the patch passed

+1
compile
24
the patch passed

+1
javac
24
the patch passed

+1
checkstyle
28
the patch passed

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedjars
269
patch has no errors when building our shaded downstream artifacts.

+1
hadoopcheck
826
Patch does not cause any errors with Hadoop 2.8.5 2.9.2 or 3.1.2.

+1
findbugs
65
the patch passed

+1
javadoc
20
the patch passed

_ Other Tests _

+1
unit
103
hbase-client in the patch passed.

+1
asflicense
10
The patch does not generate ASF License warnings.

2633

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-286/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/286

Optional Tests
dupname  asflicense  javac  javadoc  unit  findbugs  shadedjars  hadoopcheck  hbaseanti  checkstyle  compile

uname
Linux 6131afcfa43a 4.4.0-137-generic #163-Ubuntu SMP Mon Sep 24 13:14:43 UTC 2018 x86_64 GNU/Linux

Build tool
maven

Personality
/testptch/patchprocess/precommit/personality/provided.sh

git revision
HBASE-21512 / bb4d11275a

maven
version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z)

Default Java
1.8.0_181

findbugs
v3.1.11

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-286/2/testReport/

Max. process+thread count
297 (vs. ulimit of 10000)

modules
C: hbase-client U: hbase-client

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-286/2/console

Powered by
Apache Yetus 0.9.0 http://yetus.apache.org

This message was automatically generated.


feat(docs): add "!.next/cache/**" everywhere

Description
Turbo doesn't need to cache this (it's cached by the Vercel build cache) and can make cache unnecessarily large.

This is really important! Our team actually fell for this trap! 😱


Fix log filename for Vagrant

Reasons for making this change:
Actually, the log generated by debug mode is *.log
i.e. ubuntu-xenial-16.04-cloudimg-console.log
Links to documentation supporting these rule changes:
https://www.vagrantup.com/docs/other/debugging.html
If this is a new template: No

Link to application or project’s homepage:

cc @utkonos who originally added this in #2407 - are you fine with this change?

Yes, this looks fine. Thanks for catching my typo!


[SUGGESTION] Plate/Radar Spoofer

Hello,
We’re currently using this script in our city and it works well! I’ve been wondering though if the following could be possible.
This radar script I believe works by looking at the hash on the vehicle as it drives by and doesn’t solely care about the plate of the car.
My question is if it would be possible to create an item, such as a Spoofer, that could be added into our server for criminals to use, and when someone has this device in their pockets while driving it would block the cop and this script from being able to radar or see any information on the car passing by as if it’s “jamming” their signal.
Let me know your thoughts and if you understand what I’m getting at, and if there would be anyway to block what this radar is looking for as a vehicle passes by.
I really appreciate your time!
Thank you

This would be a great addition for RP cities and a little more realisms since the plate radar does ignore the actual plate of the car, whether it's on the car or not.


Update: looks like NHD updated this file from 04 to 05

Thanks for this! They seem to change one URL every 2 months or so; not quite fast enough to make me bite the bullet and write some auto-discovery code.


nat64 - Fix molecule, and touch ups to stabilize

The molecule tests was failing because the interfaces did not end up in the 'libvirt' firewall zone.
Added the zone attribute to the libvirt bridge element. This should work according to libvirt documentation, but for some reason not in this test environment. So, had to do that manually with firewalld.
Also:

Pin dnsmasq to the v2.89 tag.
Should be more stable than running of the main branch with frequent changes.
Set do-daemonize: no in unbound config.
This removes a warning logged by the unbound service, do-daemonize and use-systemd should not be used togheter.

There is a lot of "crude" debug info gathering added in the molecule tests, I think we should keep that around as is to make troubleshooting any potentital future issues in this job.
As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running
[x] Appropriate documentation exists and/or is up-to-date:

[x] README in the role
[x] Content of the docs/source is reflecting the changes

/approve


Unhandled Exception: NoSuchMethodError: The getter 'version' was called on null.

Unhandled Exception: NoSuchMethodError: The getter 'version' was called on null.   (android)

#31 .


Add py37 to the TOX config

Fixes #736

Codecov Report

Merging #740 into master will increase coverage by 1.04%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #740      +/-   ##
==========================================
+ Coverage   79.39%   80.44%   +1.04%
==========================================
  Files          22       22
  Lines        4382     4617     +235
  Branches      638      713      +75
==========================================
+ Hits         3479     3714     +235
- Misses        847      848       +1
+ Partials       56       55       -1

Impacted Files
Coverage Δ

gpiozero/exc.py
100% <0%> (ø)
:arrow_up:

gpiozero/boards.py
99.69% <0%> (+0.34%)
:arrow_up:

gpiozero/input_devices.py
94.46% <0%> (+0.41%)
:arrow_up:

Continue to review full report at Codecov.

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


standalone version

If you want to create a standalone Version of this tool, i would recommend to use something like ElectronJS or NW.js, however Electron is probably the way to go here.


fail to build with latest rocm

hello everyone.
im using ubuntu 22.04
I need to install opensycl/rocm to use it with gromacs.
It is recommended to use the clang compiler bundled with ROCm for building both hipSYCL and GROMACS
(https://manual.gromacs.org/documentation/current/install-guide/index.html#sycl-gpu-acceleration-for-amd-gpus)
I've already installed latest amd drivers and rocm
when I try to build opensycl using instructions it fails with error
Can anybody please help find a way to solve the error?
here is my options:
cmake .. \         -DCMAKE_C_COMPILER=${ROCM_PATH}/llvm/bin/clang \         -DCMAKE_CXX_COMPILER=${ROCM_PATH}/llvm/bin/clang++ \         -DLLVM_DIR=${ROCM_PATH}/llvm/lib/cmake/llvm/ \         -DROCM_PATH=$ROCM_PATH \         -DWITH_ROCM_BACKEND=ON \
here is an error:
"CMake Error at /usr/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake:62 (message):
  The C++ compiler

    '/opt/rocm/llvm/bin/clang++'

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: /home/alex/OpenSYCL-0.9.4/build/CMakeFiles/CMakeTmp

    Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_a632f/fast && /usr/bin/gmake  -f CMakeFiles/cmTC_a632f.dir/build.make CMakeFiles/cmTC_a632f.dir/build
    gmake[1]: Entering directory '/home/alex/OpenSYCL-0.9.4/build/CMakeFiles/CMakeTmp'
    Building CXX object CMakeFiles/cmTC_a632f.dir/testCXXCompiler.cxx.o
    /opt/rocm/llvm/bin/clang++   -O3 -D_GLIBCXX_USE_CXX11_ABI=0  -MD -MT CMakeFiles/cmTC_a632f.dir/testCXXCompiler.cxx.o -MF CMakeFiles/cmTC_a632f.dir/testCXXCompiler.cxx.o.d -o CMakeFiles/cmTC_a632f.dir/testCXXCompiler.cxx.o -c /home/alex/OpenSYCL-0.9.4/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
    Linking CXX executable cmTC_a632f
    /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a632f.dir/link.txt --verbose=1
    /opt/rocm/llvm/bin/clang++ -O3 -D_GLIBCXX_USE_CXX11_ABI=0  CMakeFiles/cmTC_a632f.dir/testCXXCompiler.cxx.o -o cmTC_a632f
    ld.lld: error: unable to find library -lstdc++
    clang-15: error: linker command failed with exit code 1 (use -v to see invocation)
    gmake[1]: *** [CMakeFiles/cmTC_a632f.dir/build.make:100: cmTC_a632f] Error 1
    gmake[1]: Leaving directory '/home/alex/OpenSYCL-0.9.4/build/CMakeFiles/CMakeTmp'
    gmake: *** [Makefile:127: cmTC_a632f/fast] Error 2"
    ```

If I build without these C_COMPILER/CXX_COMPILER options It can be installed succesfully but it seems like not detecting my GPU
hipsycl-info
[hipSYCL Warning] backend_loader: Could not load backend plugin: /usr/local/lib/hipSYCL/librt-backend-hip.so
[hipSYCL Warning] /usr/local/lib/hipSYCL/librt-backend-hip.so: undefined symbol: hipDriverGetVersion
=================Backend information===================
Loaded backend 0: OpenMP
  Found device: hipSYCL OpenMP host device

=================Device information===================
***************** Devices for backend OpenMP *****************
Device 0:
 General device information:
  Name: hipSYCL OpenMP host device
  Backend: OpenMP
  Vendor: the hipSYCL project
  Arch: <native-cpu>
  Driver version: 1.2
  Is CPU: 1
  Is GPU: 0
 Default executor information:
  Is in-order queue: 1
  Is out-of-order queue: 0
  Is task graph: 0
 Device support queries:
  images: 0
  error_correction: 0
  host_unified_memory: 1
  little_endian: 1
  global_mem_cache: 1
  global_mem_cache_read_only: 0
  global_mem_cache_read_write: 1
  emulated_local_memory: 1
  sub_group_independent_forward_progress: 0
  usm_device_allocations: 1
  usm_host_allocations: 1
  usm_atomic_host_allocations: 1
  usm_shared_allocations: 1
  usm_atomic_shared_allocations: 1
  usm_system_allocations: 1
  execution_timestamps: 1
 Device properties:
  max_compute_units: 24
  max_global_size0:<PHONE_NUMBER>3709551615
  max_global_size1:<PHONE_NUMBER>3709551615
  max_global_size2:<PHONE_NUMBER>3709551615
  max_group_size: 1024
  max_num_sub_groups:<PHONE_NUMBER>3709551615
  preferred_vector_width_char: 4
  preferred_vector_width_double: 1
  preferred_vector_width_float: 1
  preferred_vector_width_half: 2
  preferred_vector_width_int: 1
  preferred_vector_width_long: 1
  preferred_vector_width_short: 2
  native_vector_width_char: 4
  native_vector_width_double: 1
  native_vector_width_float: 1
  native_vector_width_half: 2
  native_vector_width_int: 1
  native_vector_width_long: 1
  native_vector_width_short: 2
  max_clock_speed: 0
  max_malloc_size:<PHONE_NUMBER>3709551615
  address_bits: 64
  max_read_image_args: 0
  max_write_image_args: 0
  image2d_max_width: 0
  image2d_max_height: 0
  image3d_max_width: 0
  image3d_max_height: 0
  image3d_max_depth: 0
  image_max_buffer_size: 0
  image_max_array_size: 0
  max_samplers: 0
  max_parameter_size:<PHONE_NUMBER>3709551615
  mem_base_addr_align: 8
  global_mem_cache_line_size: 64
  global_mem_cache_size: 1
  global_mem_size:<PHONE_NUMBER>3709551615
  max_constant_buffer_size:<PHONE_NUMBER>3709551615
  max_constant_args:<PHONE_NUMBER>3709551615
  local_mem_size:<PHONE_NUMBER>3709551615
  printf_buffer_size:<PHONE_NUMBER>3709551615
  partition_max_sub_devices: 0
  vendor_id:<PHONE_NUMBER>3709551615
  sub_group_sizes: 1

rocminfo
ROCk module is loaded
=====================
HSA System Attributes
=====================
Runtime Version:         1.1
System Timestamp Freq.:  1000.000000MHz
Sig. Max Wait Duration:<PHONE_NUMBER>3709551615 (0xFFFFFFFFFFFFFFFF) (timestamp count)
Machine Model:           LARGE
System Endianness:       LITTLE

==========
HSA Agents
==========
*******
Agent 1
*******
  Name:                    AMD Ryzen 9 5900X 12-Core Processor
  Uuid:                    CPU-XX
  Marketing Name:          AMD Ryzen 9 5900X 12-Core Processor
  Vendor Name:             CPU
  Feature:                 None specified
  Profile:                 FULL_PROFILE
  Float Round Mode:        NEAR
  Max Queue Number:        0(0x0)
  Queue Min Size:          0(0x0)
  Queue Max Size:          0(0x0)
  Queue Type:              MULTI
  Node:                    0
  Device Type:             CPU
  Cache Info:
    L1:                      32768(0x8000) KB
  Chip ID:                 0(0x0)
  ASIC Revision:           0(0x0)
  Cacheline Size:          64(0x40)
  Max Clock Freq. (MHz):   3700
  BDFID:                   0
  Internal Node ID:        0
  Compute Unit:            24
  SIMDs per CU:            0
  Shader Engines:          0
  Shader Arrs. per Eng.:   0
  WatchPts on Addr. Ranges:1
  Features:                None
  Pool Info:
    Pool 1
      Segment:                 GLOBAL; FLAGS: FINE GRAINED
      Size:                    65773404(0x3eb9f5c) KB
      Allocatable:             TRUE
      Alloc Granule:           4KB
      Alloc Alignment:         4KB
      Accessible by all:       TRUE
    Pool 2
      Segment:                 GLOBAL; FLAGS: KERNARG, FINE GRAINED
      Size:                    65773404(0x3eb9f5c) KB
      Allocatable:             TRUE
      Alloc Granule:           4KB
      Alloc Alignment:         4KB
      Accessible by all:       TRUE
    Pool 3
      Segment:                 GLOBAL; FLAGS: COARSE GRAINED
      Size:                    65773404(0x3eb9f5c) KB
      Allocatable:             TRUE
      Alloc Granule:           4KB
      Alloc Alignment:         4KB
      Accessible by all:       TRUE
  ISA Info:
*******
Agent 2
*******
  Name:                    gfx1030
  Uuid:                    GPU-5528264235b5db93
  Marketing Name:          AMD Radeon RX 6900 XT
  Vendor Name:             AMD
  Feature:                 KERNEL_DISPATCH
  Profile:                 BASE_PROFILE
  Float Round Mode:        NEAR
  Max Queue Number:        128(0x80)
  Queue Min Size:          64(0x40)
  Queue Max Size:          131072(0x20000)
  Queue Type:              MULTI
  Node:                    1
  Device Type:             GPU
  Cache Info:
    L1:                      16(0x10) KB
    L2:                      4096(0x1000) KB
    L3:                      131072(0x20000) KB
  Chip ID:                 29615(0x73af)
  ASIC Revision:           1(0x1)
  Cacheline Size:          64(0x40)
  Max Clock Freq. (MHz):   2720
  BDFID:                   12032
  Internal Node ID:        1
  Compute Unit:            80
  SIMDs per CU:            2
  Shader Engines:          8
  Shader Arrs. per Eng.:   2
  WatchPts on Addr. Ranges:4
  Features:                KERNEL_DISPATCH
  Fast F16 Operation:      TRUE
  Wavefront Size:          32(0x20)
  Workgroup Max Size:      1024(0x400)
  Workgroup Max Size per Dimension:
    x                        1024(0x400)
    y                        1024(0x400)
    z                        1024(0x400)
  Max Waves Per CU:        32(0x20)
  Max Work-item Per CU:    1024(0x400)
  Grid Max Size:<PHONE_NUMBER>(0xffffffff)
  Grid Max Size per Dimension:
    x<PHONE_NUMBER>(0xffffffff)
    y<PHONE_NUMBER>(0xffffffff)
    z<PHONE_NUMBER>(0xffffffff)
  Max fbarriers/Workgrp:   32
  Pool Info:
    Pool 1
      Segment:                 GLOBAL; FLAGS: COARSE GRAINED
      Size:                    16760832(0xffc000) KB
      Allocatable:             TRUE
      Alloc Granule:           4KB
      Alloc Alignment:         4KB
      Accessible by all:       FALSE
    Pool 2
      Segment:                 GROUP
      Size:                    64(0x40) KB
      Allocatable:             FALSE
      Alloc Granule:           0KB
      Alloc Alignment:         0KB
      Accessible by all:       FALSE
  ISA Info:
    ISA 1
      Name:                    amdgcn-amd-amdhsa--gfx1030
      Machine Models:          HSA_MACHINE_MODEL_LARGE
      Profiles:                HSA_PROFILE_BASE
      Default Rounding Mode:   NEAR
      Default Rounding Mode:   NEAR
      Fast f16:                TRUE
      Workgroup Max Size:      1024(0x400)
      Workgroup Max Size per Dimension:
        x                        1024(0x400)
        y                        1024(0x400)
        z                        1024(0x400)
      Grid Max Size:<PHONE_NUMBER>(0xffffffff)
      Grid Max Size per Dimension:
        x<PHONE_NUMBER>(0xffffffff)
        y<PHONE_NUMBER>(0xffffffff)
        z<PHONE_NUMBER>(0xffffffff)
      FBarrier Max Size:       32
*** Done ***

It is recommended to use the clang compiler bundled with ROCm for building both hipSYCL and GROMACS

I know that the Gromacs devs recommend this, but from our perspective this is not always a good choice. In fact, we discourage such setups because ROCm LLVM often times is... broken: https://github.com/OpenSYCL/OpenSYCL/blob/develop/doc/install-rocm.md
Unless you are using some brandnew HPC GPU, you are usually better off just using regular clang of the same version as the one that comes with ROCm.
Your cmake error tells you what the problem is:

ld.lld: error: unable to find library -lstdc++

Probably you don't have libstdc++ installed.

If I build without these C_COMPILER/CXX_COMPILER options It can be installed succesfully but it seems like not detecting my GPU

It cannot load the HIP backend because there are unresolved symbols. This is a linking issue. Most likely, it is the same issue as here:
https://github.com/OpenSYCL/OpenSYCL/issues/939
Please look at the post towards the end where there is a solution and check if that works for you.

thank you @illuhad
I installed the proper version of  libstdc and the issue is gone
sudo apt install libstdc++-12-dev

I also built gromacs following the same guide and ran
md_run command using -nb gpu flag
Im not sure about how much HPC my GPU is (RX 6900XT) but now it is computing twice faster then without it on Ryzen 9 5900X :smile:
thanks OpenSYCL ! :heart:


Add Google Analytics / Tags extra

It would be cool if you made an option to add an analytics code!
You could then create a script element and insert it into the DOM as the first child of the head element.
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=THE_MEASUREMENT_ID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'THE_MEASUREMENT_ID');
</script>

Good idea! Added in v2.3.2


Support Acquire-By-Hash for index files

The added "aptly publish repo" option "-access-by-hash" publishes
the index files (Packages*, Sources*) also as hardlinked hashes.
Example:
/dists/yakkety/main/binary-amd64/by-hash/SHA512/31833ec39acc...
The Release files indicate this with the option "Acquire-By-Hash: yes"
This is used by apt >= 1.2.0 and prevents the "Hash sum mismatch" race
condition between a server side "aptly publish repo" and "apt-get update"
on a client.
See: http://www.chiark.greenend.org.uk/~cjwatson/blog/no-more-hash-sum-mismatch-errors.html
This implementation uses symlinks in the by-hash/*/ directory for keeping
only two versions of the index files and deleting older files
automatically.
Note: this only works with aptly.FileSystemPublishedStorage
Closes: #536
Signed-off-by: André Roth<EMAIL_ADDRESS>

I wonder if we should expose "symlinking" for S3/Swift supported publishing destinations (it could be as simple as PUT Copy)?

S3 does not support symlinks, so we could put the name of the hash into the file instead of creating a symlink. We could also do this for the local file system, or keep the symlinks there.
What would you prefer?

I think we should try to avoid going with special-case depending on PublishedStorage. I would rather add new method Symlink to the interface of PublishedStorage, and implement it accordingly for each storage type - local files published storage can really create symlink, while S3/Swift can do PUT copy to emulate symlinks.

Agree, I suggest to add the following to the PublishedStorage interface:

PutSymlink(src, dst) creates symlink or file containing link dst
ReadLink(path) returns readlink or content of file, nil if file not found
PutHardlink(src, dst) created hardlink or file copy
all non-existing directories will be created automatically.

Are you OK with that?

Oh, I didn't know we can put filename as fallback option. I think this would work the best and that even doesn't require any changes to PublishedStorage interface?
I'm trying to keep it simple if possible.

The fallback is only for the houskeeping. The interface has to be extended to support creating hardlinks (or a copy of the file when hardlinks are not available) with an arbitrary (hash) name. I agree on keeping the interface simple, but I think the acquire-by-hash support needs these 4 extensions in the interface.
Alternatively we could modify the interface to receive the file object, and do the acquire-by-hash handling in the storage.
What do you prefer?

Hi,
I've updated the PublishedStorage interface with the following functions:

// SymLink creates a symbolic link, which can be read with ReadLink
SymLink(src string, dst string) error
// HardLink creates a hardlink of a file
HardLink(src string, dst string) error
// FileExists returns true if path exists
FileExists(path string) bool
// ReadLink returns the symbolic link pointed to by path
ReadLink(path string) (string, error)

This allows the Acquire-By-Hash to be implemented by other the storage backends s3 and swift. If hardlinks are not supported, the file can simply be copied, if symlinks are not supported, the destination can be written to a file, which can be read and returned by ReadLink. FileExists is for convenience.
If this is OK with you, I'll implement the s3 support, maybe someone else can implement these functions for swift.

Thanks, @neolynx. Plan sounds good to me. I didn't quite get to the point where I can do through review, but I keep this PR on my radar.

Closing in favor of #664


fork gaphql-js and use as npm dependency

The current graphql-server implementation patches part of the graphql-js npm library in order to support multiple transactions. This approach is not very clean and is difficult to maintain.
This ticket is about forking the graphql-js and extending it so that our patched library can be used as a regular npm dependency as:
"graphql": "git://github.com/LiUGraphQL/graphql-js.git#npm"

The forked library should be maintained separately and extend (not change) the current functionality of the graphql-js. To this end, the current approach to transactions (and the corresponding functions (create, createEdge, etc.) will have to be updated to return promises, since this is the expected result in graphql-js, and not use the async-wait pattern.

The graphql-js project has been forked and updated according to the ticket. It is now available at LiUGraphQL/graphql-js. In order to use the new library, update package.json in the driver to use:
"graphql": "git://github.com/LiUGraphQL/graphql-js.git#npm"

instead of:
"graphql": "^14.2.1"

See the refactored arangodb driver at 69-fork-gaphql-js-and-use-as-npm-dependency
@epii-1, could you have a look and provide some feedback on the structure? If anything is unclear, strange or plain wrong, please let me know. There's still (possibly) a bug with edge validation for nested creation of fields. If you encounter this, simply disable edge validation during server startup for now. I'll have another go at it tomorrow morning. I also haven't done much testing with annotations yet.

I've made a few bug fixes and key and edge validation should now work. I've also updated starwars-db.graphql with required name key fields for Planet and Human and added an explicit setting of the seed parameter.

The issue has been resolved in 69-fork-gaphql-js-and-use-as-npm-dependency and the branch has been merged with master into the new branch develop. Note that merging develop into master is on hold until the currently pending features have been adapted for the develop branch.

@keski Sorry for being a bit delayed with my response (even if you got a minor response earlier by mail). Had some other things I had to do first.
Now I have looked through the changed to the driver a bit better and I think it a lot cleaner then before and the structure of creations and updates are now easier to follow. I really missed the possibility to call createEdge from create (as you have now made possible and done) as the getting the ids to the right format was not trivial before. As you now made this easy, certain changes and implementations now becomes much easier to do.
There are some minor odd things with how getScalarsAndEnums and formatFixInput are now used (you basically made having a different formatFixInput unnecessary, so the two functions can be merged again), but I will clean that up later. It really is just very minor things and should have no impact of the actual usage.


Update tvtv.us_us.channels.xml

I updated some of this i can update the rest of it if it's ok with you

That would be great.


Couldn't install DepthAI requirements. Check internet connection and try again.

Hello,
Today, I have received my oak lite d. After installing, openen the application results in error. I have installed the requirements manually.
After  that trying running the script "depthai_demo", I get the following error message:
Communication exception - possible device error/misconfiguration. Original message "COuld not read data from stream color (X_LINK_ERROR)".
Can someone help?
thnx!

Hi @oakliteuser ,
What OS are you on?  And did you install the platform dependencies (development tools) for your OS first?
https://docs.luxonis.com/projects/api/en/latest/install/
Generally this error is a result of 1 of 2 things:

A USB Cable issue.  Running depthai_demo -usbs usb2 can often circumvent that if it's the case.
USB rules having not been installed/setup (Linux only).  In which case this can help.

I think this is case 1 though at first glance.
Thanks,
Brandon


Merge pull request #1 from quantopian/master

update from upstream

Sorry, I didn't mean to create the pull request. I don't know how to delete it.


conway experimental version

for EXPERIMENTAL PROVIDER ONLY
The purpose of this PR is to get Conway features on the experimental provider so that SW wallets can try them and make sure our Ledger app implementation is consistent with what they do.
We need to do this before doing the security audit.
Some features are missing and will be added later (optional 258 tags in CBOR, increased URL length etc.).
Checklist

[ ] App update process has been followed
[ ] Target branch is develop
[ ] Application version has been bumped

superseded with https://github.com/LedgerHQ/app-cardano/pull/67


Projects layout issue

The layout of some projects cards needs to be improved. Can we have some kind of padding rule? The text should not get so close to the border of the card:

@sapetti9 can you please test it again?

It still is sometimes a bit too close to the edge:

Also, the cards should be all the same size, with the logo closer to the line (cfr Figma: https://www.figma.com/file/r4rsxnq5wEpJUbA1qJl8ar/OKFN-Network-Platform?node-id=1%3A28&t=kVbCYvgIY1fg76Gb-0)


It doesn't work properly in Windows 11

sorry i need to change my github account

I'll remove the issue then.


perf (RingTheory.OreLocalization): make data irreducible

We generally do not want to unfold operations passing through Quotient if we can avoid it for performance reasons.

!bench

Coming here from PR triage: can you comment on the status of this PR? Is this an experiment, basically not intended to land, or would you like this to get reviewed? In the latter case, please merge master. Thanks!


Migrate tests to jest

This is a rather large PR but I refactored the tests to use jest, and in doing so:

removed the dependency on nock in tests
organized tests into separate files, co-located with source
leveraged snapshot testing heavily
removed ~600 lines of test code
abstracted away some repetitiveness to make it easier to add test cases
in addition to src, run against es build (TODO figure out running against lib build too)

Coverage remained the same at 100.0% when pulling 4532813cc241d1e067396f61309a9c17b9a1d17a on test-w-jest into 1ed4ab0363c6d0e9a9731ed40627b3cc7e09ed01 on next.


do not update po files, just return translation if found in db

If the translation string of a translation entry is "", don't use that. (Currently, a blank string is displayed then, e.g. go to the Log out page in French)
After editing a translation, all filters are reset. Ideally keep the filters the user had enabled, or at least enable the filters that we use by default (i.e. limited translatable strings = Yes)


[SMALLFIX] [branch-1.6] Update exception message to have channel info

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/16977/
Test PASSed.


Log message

Hello good afternoon.
I would like to know if it is possible to consult the complete log of attempted delivery of a message.
I have an error but the error is inconclusive.
Thank you, gentlemen.

If you look at the technical details of the message in the Postal UI, I think you can see the support ref of the email which should appear in the smtp_server.log file to group related log entries together.


[Feature] Support Taildrive

Use case
Tailscale official function, a very convenient way to share files with WebDAV and manage file sharing permissions with ACLs.
Description
This function is implemented in Tailscale official client by command tailscale drive and documented here https://tailscale.com/kb/1369/taildrive
Contribution

[ ] I can write the design doc for this feature
[ ] I can contribute this feature

How can it be implemented?
No response

As documented in jsiebens/ionscale#62, Taildrive requires support for nodeAttrs and grants in ACL policy.


user create flow updates in novu server

To be merged, pending cleanup and any other changes pending for the novu server.

Closed, as the main branch implements these changes


there's no picture appears when i run demo.py, do you know why?  there's only codes and no picture!

Loaded network output\vgg16\voc_2007_trainval+voc_2012_trainval\default\vgg16_faster_rcnn_iter_500.ckpt
Demo for data/demo/000456.jpg
Detection took 15.544s for 300 object proposals

Demo for data/demo/000457.jpg
Detection took 13.887s for 300 object proposals
Demo for data/demo/000542.jpg
Detection took 12.505s for 300 object proposals

Demo for data/demo/001150.jpg
Detection took 14.122s for 300 object proposals
Demo for data/demo/001763.jpg
Detection took 13.798s for 300 object proposals

Demo for data/demo/004545.jpg
Detection took 12.136s for 300 object proposals

i meet this question,too.Have you solved this problem?


[NuGet.org Bug]: A lot of SPAM - PHISHING websites into NUGET!

Impact
I'm unable to use NuGet.org
Describe the bug
Hello DEVs.
I am user of NUGET since 5 months, but i found a LOT OF SPAMMY/PISHING WEBSITES!
How it is possible?
Part of links:
https://www.nuget.org/packages/Unused-Free-PSN-Codes-Generator-App-2022-XtC/
https://www.nuget.org/packages/Hack-Among.Us.Hack.Unlimited.2022/3.0.2
https://www.nuget.org/packages/BUXFLY-ROBUX-HACK-2022-JANUARY-28-2022/
and more more.
HOW TO FIX IT?
Thanks for review, best regards.
https://www.myget.org/feed/verified/package/nuget/Free-PSN-Codes-List-2022-Unused-Codes-For-Playstation-Plus-PS4-Sh9d
Repro Steps
spammy links
Expected Behavior
spammy links
Screenshots
No response
Additional Context and logs
No response

@repelentosa - thank you for reporting these issues. We will take a look at these packages and investigate.

Ok.
My team found following links again.
Can you help me with contact with myget.org?
I did notice about spammy but no answer.
https://www.nuget.org/packages/Earn-Free-iTunes-Gift-Cards-in-2022/
https://www.nuget.org/packages/Free-Itunes-Gift-Card-Generator-2022/
https://www.nuget.org/packages/Imvu-Credits-Free/5.6.1
https://www.myget.org/feed/free-code/package/nuget/PS-Plus-Codes-Free-PSN-Cards-Online-PS4-Giftcards-PSN-Cards-Me
BEST REGARDS, TEAM


Atom should warn user if file changed on disk if file is unsaved on Atom and has been modify else where

Prerequisites

[x] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: http://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: http://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
Atom should warn user if file changed on disk if file is unsaved on Atom and has been modify else where
Steps to Reproduce

Open a file on atom and make some changes (e.g add a space somewhere)
Open the same file on vim, make some changes to the file and save.
Go back to atom and save the file

Expected behavior: [What you expect to happen]
Atom should warn the user that the file on disk has been modify since it was last loaded.
Actual behavior: [What actually happens]
Atom doesn't show or do anything.
Reproduces how often: [What percentage of the time does it reproduce?]
100%
Versions
You can get this information from copy and pasting the output of atom --version and apm --version from the command line. Also, please include the OS and what version of the OS you're running.
Atom    : 1.19.0-dev-d289ca447
Electron: 1.6.9
Chrome  : 56.0.2924.87
Node    : 7.4.0
Additional Information
subl warns the user:

Vim does too:

VS Code:

Any additional information, configuration or data that might be necessary to reproduce the issue.
/cc @iolsen @maxbrunsfeld

A closely related point:

edit in Atom a file F in a directory X
move X elsewhere (mv on unix-like systems)
save file F from Atom
ouch:
file is silently re-created in X (no warning)
directory X is created by Atom !

This is specially annoying when editing remotely shared files (eg NFS): if the volume is not mounted, Atom create the mounting point directory (empty, et /Volumes/X on MacOS) and fails. This empty directory stay in the way and prevent mounting the server's volume.


'git.checkout' command hangs after cancelled

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.85.1
OS Version: Ubuntu 20.04.6 LTS

Steps to Reproduce:

Execute git.checkout command
Press <Esc> or click away the quick open window

After executing git.checkout (or git.checkoutDetached) command if you click away or press Esc to cancel the action the command hangs.
Seeing the code source it seems the choice promise doesn't resolve so is like the command never ends.

This causes that other extensions (e.g. vscodevim) after configuring a keyboard shortcut that executes a command hangs because is waiting for the command to be terminated. Related Issue
I'm not very familiar with the codebase so maybe someone has a better solution, but this is what comes to my mind

So after that it will resolve and fall into the no choice case
If you think it's worth it I can try to make a PR

Fixed with https://github.com/microsoft/vscode/pull/202495.

@lszomoru I tried running "Git: Checkout to..." and cancelling in stable, but I didn't notice any hang. What is the best way to reproduce and verify this?

Verification steps:

Clone https://github.com/microsoft/vscode-extension-samples
Open hello world-sample folder in VS Code Insiders, run npm i
Add the following to the package.json

	"extensionDependencies": [
		"vscode.git"
	],

Update the code of the helloWorld command

const disposable = vscode.commands.registerCommand('extension.helloWorld', async () => {
		await vscode.commands.executeCommand('git.checkout');

		// Display a message box to the user
		vscode.window.showInformationMessage('Hello World!');
	});

Run the sample using F5
Invoke the Hello World command

Confirm that the checkout quick pick is being shown

Press ESC

Confirm that the checkout quick pick is hidden
Confirm that the "Hello World" notification is shown


need help for explaining the output loss

❓ Questions and Help
Hi, when the training starts, I got loss info below. I found every there is a parentheses with a number included following after every loss, like loss: 0.3502 (0.3666). May I ask what does '(0.3666)' mean? Thanks a lot!
maskrcnn_benchmark.trainer INFO: eta: 12:09:25  iter: 60  loss: 0.3502 (0.3666)  loss_box_reg: 0.0919 (0.0962)  loss_classifier: 0.2111 (0.2162)  loss_objectness: 0.0264 (0.0290)  loss_rpn_box_reg: 0.0211 (0.0252)  time: 0.4228 (0.4866)  data: 0.0123 (0.0657)  lr: 0.004120  max mem: 5558

It stands for its median and global average. You can check it here: https://github.com/facebookresearch/maskrcnn-benchmark/blob/master/maskrcnn_benchmark/utils/metric_logger.py#L64

That's precisely what @LeviViana mentioned: it stands for the median (over the last 20 iterations) and the global average (since the beginning of the training).


Describe platform dependencies

Summary
Provides a uniform description of all platform dependencies for .NET.  This is the basis for all of the other user stories in this epic.  It collects the dependency data into a machine-readable format that serves as the complete database for reasoning about .NET's dependencies.
Goal
.NET contributors can describe the product's platform dependencies -- both runtime and source build toolset -- in a common format that can be used to satisfy other dependent workflows that require the data.

A big question here is the granularity of the dependency. In the case of Linux, you could describe dependencies in terms of which packages are needed. However, there are some scenarios where that can be overly broad.
For example, in .NET 5.0, dotnet watch has a dependency on pgrep (see https://github.com/dotnet/dotnet-docker/issues/2396).  That utility is part of the procps package.  In Alpine, pgrep comes pre-installed but the procps package is not. So it's not accurate to say that procps is a requirement for dotnet watch in Alpine.  A more granular way would be to say that it requires just the pgrep utility and not even describe it in terms of packages.
Maybe cases where a required component comes pre-installed in the operating system do not need to be described here.  It's not really actionable information when configuring what to install into an environment.  Although, perhaps it is necessary from the standpoint of knowing what can be removed from an environment.

A big question here is the granularity of the dependency. In the case of Linux, you could describe dependencies in terms of which packages are needed. However, there are some scenarios where that can be overly broad.
For example, in .NET 5.0, dotnet watch has a dependency on pgrep (see https://github.com/dotnet/dotnet-docker/issues/2396).  That utility is part of the procps package.  In Alpine, pgrep comes pre-installed but the procps package is not. So it's not accurate to say that procps is a requirement for dotnet watch in Alpine.  A more granular way would be to say that it requires just the pgrep utility and not even describe it in terms of packages.
Maybe cases where a required component comes pre-installed in the operating system do not need to be described here.  It's not really actionable information when configuring what to install into an environment.  Although, perhaps it is necessary from the standpoint of knowing what can be removed from an environment.

Runtime platform dependency model for .NET 6 has been defined: https://github.com/dotnet/core/pull/6170


Docs for Mathlib failing on PiL2

Hi, I am seeing the following error:
✖ [10964/11538] Building Mathlib.Analysis.InnerProductSpace.PiL2:docs
trace: .> ELAN=elan ELAN_HOME=/home/runner/.elan ELAN_TOOLCHAIN=leanprover/lean4:v4.15.0-rc1 LAKE=/home/runner/.elan/toolchains/leanprover--lean4---v4.15.0-rc1/bin/lake LAKE_HOME=/home/runner/.elan/toolchains/leanprover--lean4---v4.15.0-rc1 LAKE_PKG_URL_MAP={} LEAN=/home/runner/.elan/toolchains/leanprover--lean4---v4.15.0-rc1/bin/lean LEAN_GITHASH=ffac974dba799956a97d63ffcb13a774f700149c LEAN_SYSROOT=/home/runner/.elan/toolchains/leanprover--lean4---v4.15.0-rc1 LEAN_AR=/home/runner/.elan/toolchains/leanprover--lean4---v4.15.0-rc1/bin/llvm-ar LEAN_CC= LEAN_PATH=././.lake/packages/batteries/.lake/build/lib:././.lake/packages/Qq/.lake/build/lib:././.lake/packages/aesop/.lake/build/lib:././.lake/packages/proofwidgets/.lake/build/lib:././.lake/packages/importGraph/.lake/build/lib:././.lake/packages/LeanSearchClient/.lake/build/lib:././.lake/packages/plausible/.lake/build/lib:././.lake/packages/MD4Lean/.lake/build/lib:././.lake/packages/BibtexQuery/.lake/build/lib:././.lake/packages/UnicodeBasic/.lake/build/lib:./.
info: stderr:
uncaught exception: parser 'subscript' was not found
error: external command '././.lake/packages/doc-gen4/.lake/build/bin/doc-gen4' exited with code 1

My versions can be found here: https://github.com/habemus-papadum/sum_first_n_bp/blob/main/lake-manifest.json
I'm new to lean4; please let me know what other info I can provide.  Thanks!

This is not your mistake but something weird happening in mathlib that's affecting multiple meta programs right now and being investigated.

🙏 thanks