CPU: atomicAdd(float*)

I'm trying to parallelize the layernorm_backward and encoder_backward. I'm a Windows only programmer and need some help making the CPU atomicAdd portable. I know there is already one for CUDA. @karpathy is this something we want to do?
// TODO: Make this portable. The order of parameters for CAS might be different.
#include <windows.h>

void atomicAdd(float* dest, float val) {
    long* address = (long*)dest;
    long old = *address, assumed;
    do {
        assumed = old;
        float desired = (val + *((float*)&assumed));
        // Note: uses integer comparison to handle nan cases
        old = InterlockedCompareExchange(
            address,
            *((long*)&desired),
            assumed);
    } while (assumed != old);
}

void layernorm_backward(float* dinp, float* dweight, float* dbias,
                        float* dout, float* inp, float* weight, float* mean, float* rstd,
                        int B, int T, int C) {
    assert(sizeof(long) == 4);
    assert(sizeof(float) == 4);
    int b;
    int t;
    #pragma omp parallel for collapse(2)
    for (b = 0; b < B; b++) {
        for (t = 0; t < T; t++) {
            ...
            // now iterate again and accumulate all the gradients
            for (int i = 0; i < C; i++) {
                ...
                // dbias[i] += dout_bt[i];
                atomicAdd(&dbias[i], dout_bt[i]);
                // gradient contribution to weight
                // dweight[i] += norm_bti * dout_bt[i];
                atomicAdd(&dweight[i], norm_bti * dout_bt[i]);
                ...
                // dinp_bt[i] += dval;
                atomicAdd(&dinp_bt[i], dval);
            }
        }
    }
}

D:\Repos\llm.c>test_gpt2.exe
[GPT-2]
max_seq_len: 1024
vocab_size: 50257
num_layers: 12
num_heads: 12
channels: 768
num_parameters: 124439808
[State]
batch_size: 4
seq_len: 64
num_activations: 73323776
-43.431702 -43.431740
-39.836426 -39.836460
-43.065937 -43.066002
OK (LOGITS)
LOSS OK: 5.269984 5.270009
dwte
TENSOR OK
dwpe
TENSOR OK
dln1w
TENSOR OK
dln1b
TENSOR OK
dqkvw
TENSOR OK
dqkvb
TENSOR OK
dattprojw
TENSOR OK
dattprojb
TENSOR OK
dln2w
TENSOR OK
dln2b
TENSOR OK
dfcw
TENSOR OK
dfcb
TENSOR OK
dfcprojw
TENSOR OK
dfcprojb
TENSOR OK
dlnfw
TENSOR OK
dlnfb
TENSOR OK
step 0: loss 5.269984 (took 9829.000000 ms)
step 1: loss 4.059653 (took 10047.000000 ms)
step 2: loss 3.374920 (took 10157.000000 ms)
step 3: loss 2.800694 (took 10109.000000 ms)
step 4: loss 2.315437 (took 10094.000000 ms)
step 5: loss 1.849182 (took 10125.000000 ms)
step 6: loss 1.394891 (took 13360.000000 ms)
step 7: loss 0.999076 (took 15719.000000 ms)
step 8: loss 0.624470 (took 15250.000000 ms)
step 9: loss 0.376849 (took 15469.000000 ms)
loss ok at step 0: 5.269984 5.270007
loss ok at step 1: 4.059653 4.059707
loss ok at step 2: 3.374920 3.375123
loss ok at step 3: 2.800694 2.800783
loss ok at step 4: 2.315437 2.315382
loss ok at step 5: 1.849182 1.849029
loss ok at step 6: 1.394891 1.394656
loss ok at step 7: 0.999076 0.999147
loss ok at step 8: 0.624470 0.624080
loss ok at step 9: 0.376849 0.376511
overall okay: 1

@azret - what about using C11 Atomics?

Would you be able to port it to atomic_compare_exchange_weak?

Sure - will let you know.

@rosslwheeler Unless otherwise mentioned, I don’t think it’s safe to assume C11 support. There’s pretty broad compiler support for atomics via intrinsics (GCC/Clang/etc.)—maybe use those instead? You could also check if the __STDC_NO_ATOMICS__ macro constant is defined, use C11 atomics if available, and fallback to the compiler intrinsics otherwise…

@azret - didn't get any speedup - was it supposed to? This is the same as your code above (basically). This will need the MSVC OpenMP changes in the source which I think you mentioned you've already done (if so, please don't do the alternative workaround using /TP since it fails with these C11 Atomics).
#include <stdatomic.h>`
...
void atomic_add(_Atomic float* dest, float val) {
    float old = *dest;
    float new_value;
    do {
        new_value = old + val;
    } while (!atomic_compare_exchange_weak(dest, &old, new_value));
}
...
void layernorm_backward(float* dinp, float* dweight, float* dbias,
                        float* dout, float* inp, float* weight, float* mean, float* rstd,
                        int B, int T, int C) {
...
              // dbias[i] += dout_bt[i];
              atomic_add((_Atomic float*)&dbias[i], dout_bt[i]);
              // gradient contribution to weight
              // dweight[i] += norm_bti * dout_bt[i];
              atomic_add((_Atomic float*)&dweight[i], norm_bti * dout_bt[i]);
,,,
              // dinp_bt[i] += dval;
              atomic_add((_Atomic float*)&dinp_bt[i], dval);

@jonathanmarvens - no worries. We're just experimenting at this point.

void atomic_add(_Atomic float* dest, float val) {
    float old = *dest;
    float new_value;
    do {
        new_value = old + val;
    } while (!atomic_compare_exchange_weak(dest, &old, new_value));
}

Does not look right. Can you make a small program to add 1000 floating points in parallel. And compare it with adding 1000 floating points in a single thread. Your sum should match.

Try this:
void test() {
// verify basic case.... expect about ~ 1.0
float sum = 0.999991;
atomicAdd(&sum, 0.000009);

int B = 1024;
int T = 1024;
int C = 1024;

float VALUE_1 = 0.0f;

int b;
int t;

for (int b = 0; b < B; b++) {
    for (int t = 0; t < T; t++) {
        VALUE_1 += 0.98992113;
    }
}

float VALUE_2 = 0.0f;

#pragma omp parallel for collapse(2)
for (int b = 0; b < B; b++) {
    for (int t = 0; t < T; t++) {
        atomic_add(&VALUE_2, 0.98992113);
    }
}

printf("%f6 %f6", VALUE_1, VALUE_2);

}

You forgot to move the int's out of the loop :-)
They are the same...1045264.5000006 1045264.5000006

Btw some of these kernels i was being very lazy, e.g. encoder_backward, it's very possible we don't need to use atomics at all. Personally I'm a bit sus about them, had some weird issues earlier with correctness.

(The repo is very new, I was just trying to get it to check w.r.t. PyTorch quickly, and then some of these kernels don't make it the biggest time sink so they don't get re-visited)

We might need atomic accumulation in the back pass if the number if collisions to the same bucket is significant that it will screw up the gradient. And I say might because I'm not sure yet. We'd have to measure the number of collisions and see.
But the accumulated difference is very significant when you force collisions to occur.
Here is a simple test run to compare.
    // layernorm_backward_cpu

    struct timespec start, end;
    clock_gettime(CLOCK_MONOTONIC, &start);
    for (int i = 0; i < NUM_ITERS; i++) {
        layernorm_backward_cpu(
            dinp, dweight, dbias, // output
            dout, inp, weight, mean, rstd, // input
            B, T, C);
    }
    clock_gettime(CLOCK_MONOTONIC, &end);
    double time_elapsed_s = (end.tv_sec - start.tv_sec) + (end.tv_nsec - start.tv_nsec) / 1e9;
    printf("layernorm_backward_cpu (took %f ms)\n", time_elapsed_s * 1000);

    // layernorm_backward_cpu_omp

    float* d_dinp = make_zeros_float(B * T * C);
    float* d_dweight = make_zeros_float(C);
    float* d_dbias = make_zeros_float(C);

    clock_gettime(CLOCK_MONOTONIC, &start);
    for (int i = 0; i < NUM_ITERS; i++) {
        layernorm_backward_cpu_omp(
            d_dinp, d_dweight, d_dbias, // output
            dout, inp, weight, mean, rstd, // input
            B, T, C);
    }
    clock_gettime(CLOCK_MONOTONIC, &end);
    time_elapsed_s = (end.tv_sec - start.tv_sec) + (end.tv_nsec - start.tv_nsec) / 1e9;
    printf("layernorm_backward_cpu_omp (took %f ms)\n", time_elapsed_s * 1000);

without atomicAdd
layernorm_backward_cpu (took 2312.000000 ms)
layernorm_backward_cpu_omp (took 797.000000 ms)
Checking correctness...
dinp:
-63.765575 -63.765575
-5.533450 -5.533450
64.612320 64.612320
6.844718 6.844718
-61.464909 -61.464909
OK
dweight:
-5634.315430 -5562.363281
MISMATCH of dweight at 0: REF: -5634.315430 vs NEW: -5562.363281, DIFF: 71.952148
-1950.344482 -1888.767212
MISMATCH of dweight at 1: REF: -1950.344482 vs NEW: -1888.767212, DIFF: 61.577271
108.557045 91.927727
MISMATCH of dweight at 2: REF: 108.557045 vs NEW: 91.927727, DIFF: 16.629318
-729.878113 -704.006714
MISMATCH of dweight at 3: REF: -729.878113 vs NEW: -704.006714, DIFF: 25.871399
-2341.773682 -2262.675049
MISMATCH of dweight at 4: REF: -2341.773682 vs NEW: -2262.675049, DIFF: 79.098633
MISMATCH of dweight at 5: REF: 76.753174 vs NEW: 68.295410, DIFF: 8.457764
MISMATCH of dweight at 6: REF: 330.326080 vs NEW: 383.033966, DIFF: 52.707886
MISMATCH of dweight at 7: REF: -2848.663330 vs NEW: -2732.886230, DIFF: 115.777100
MISMATCH of dweight at 8: REF: 2761.050293 vs NEW: 2718.891602, DIFF: 42.158691
MISMATCH of dweight at 9: REF: 584.252319 vs NEW: 510.019684, DIFF: 74.232635
dbias:
2925.032715 2855.006104
MISMATCH of dbias at 0: REF: 2925.032715 vs NEW: 2855.006104, DIFF: 70.026611
4758.886719 4685.164551
MISMATCH of dbias at 1: REF: 4758.886719 vs NEW: 4685.164551, DIFF: 73.722168
8586.708008 8341.341797
MISMATCH of dbias at 2: REF: 8586.708008 vs NEW: 8341.341797, DIFF: 245.366211
9051.006836 8799.977539
MISMATCH of dbias at 3: REF: 9051.006836 vs NEW: 8799.977539, DIFF: 251.029297
-6168.655762 -6065.003418
MISMATCH of dbias at 4: REF: -6168.655762 vs NEW: -6065.003418, DIFF: 103.652344
MISMATCH of dbias at 5: REF: 2633.766357 vs NEW: 2505.043945, DIFF: 128.722412
MISMATCH of dbias at 6: REF: 13067.747070 vs NEW: 12786.553711, DIFF: 281.193359
MISMATCH of dbias at 7: REF: 9480.796875 vs NEW: 9303.245117, DIFF: 177.551758
MISMATCH of dbias at 8: REF: -6072.158691 vs NEW: -5987.854004, DIFF: 84.304688
MISMATCH of dbias at 9: REF: -789.956421 vs NEW: -698.946106, DIFF: 91.010315
WITH atomicAdd
layernorm_backward_cpu (took 2281.000000 ms)
layernorm_backward_cpu_omp (took 1438.000000 ms)
Checking correctness...
dinp:
-63.765575 -63.765575
-5.533450 -5.533450
64.612320 64.612320
6.844718 6.844718
-61.464909 -61.464909
OK
dweight:
-5634.315430 -5634.321289
MISMATCH of dweight at 0: REF: -5634.315430 vs NEW: -5634.321289, DIFF: 0.005859
-1950.344482 -1950.346680
MISMATCH of dweight at 1: REF: -1950.344482 vs NEW: -1950.346680, DIFF: 0.002197
108.557045 108.558006
-729.878113 -729.877075
MISMATCH of dweight at 3: REF: -729.878113 vs NEW: -729.877075, DIFF: 0.001038
-2341.773682 -2341.782959
MISMATCH of dweight at 4: REF: -2341.773682 vs NEW: -2341.782959, DIFF: 0.009277
MISMATCH of dweight at 6: REF: 330.326080 vs NEW: 330.329285, DIFF: 0.003204
MISMATCH of dweight at 7: REF: -2848.663330 vs NEW: -2848.661865, DIFF: 0.001465
MISMATCH of dweight at 8: REF: 2761.050293 vs NEW: 2761.036621, DIFF: 0.013672
MISMATCH of dweight at 12: REF: 4411.086426 vs NEW: 4411.091797, DIFF: 0.005371
MISMATCH of dweight at 15: REF: 2047.633301 vs NEW: 2047.635376, DIFF: 0.002075
MISMATCH of dweight at 16: REF: 3462.655273 vs NEW: 3462.651611, DIFF: 0.003662
dbias:
2925.032715 2925.036621
MISMATCH of dbias at 0: REF: 2925.032715 vs NEW: 2925.036621, DIFF: 0.003906
4758.886719 4758.886230
8586.708008 8586.682617
MISMATCH of dbias at 2: REF: 8586.708008 vs NEW: 8586.682617, DIFF: 0.025391
9051.006836 9051.012695
MISMATCH of dbias at 3: REF: 9051.006836 vs NEW: 9051.012695, DIFF: 0.005859
-6168.655762 -6168.645508
MISMATCH of dbias at 4: REF: -6168.655762 vs NEW: -6168.645508, DIFF: 0.010254
MISMATCH of dbias at 5: REF: 2633.766357 vs NEW: 2633.772217, DIFF: 0.005859
MISMATCH of dbias at 6: REF: 13067.747070 vs NEW: 13067.738281, DIFF: 0.008789
MISMATCH of dbias at 7: REF: 9480.796875 vs NEW: 9480.806641, DIFF: 0.009766
MISMATCH of dbias at 8: REF: -6072.158691 vs NEW: -6072.162598, DIFF: 0.003906
MISMATCH of dbias at 9: REF: -789.956421 vs NEW: -789.950256, DIFF: 0.006165
MISMATCH of dbias at 10: REF: -2587.304688 vs NEW: -2587.274902, DIFF: 0.029785


Support borrowed ranges

This marks C++/WinRT ranges as "borrowed": they can be taken by value and iterators to them can be returned without dangling. It's safe for C++/WinRT because collections are reference types, so the lifetime issues typical of C++ collections do not apply.
This enables range algorithms that would previously return std::ranges::dangling (a dummy object that isn't dereferencable) to return the appropriate iterator instead. For example, std::ranges::max_element or std::ranges::find would be quite useless without this, as you can't do anything useful without the returned iterator.
Added tests confirming this works, as well.
The inner range namespace in the codegen is a workaround for a compiler bug.

I added the  include, removed the bogus operator on fast_iterator and updated comments in my test!
Had to mess around with the NuGet unit tests to get a full test run passing (they wouldn't build on VS 2022 before).

/azp run


Program crashes when video files are too long

Hi, I am noticing the video files that exceed around 2 minutes and 30 seconds are crashing the software. I will reach about 80% on a file that is 3 minutes long and the program will disappear and I cannot open the software again. I have to uninstall, reinstall, and then it works again. I've tried this 3 times now. I am using the standard out of the box settings screenshotted below. If there is a way I can grab the issue log or something similar for you, let me know and I will do so. Thank you.

Same issue it crashes randomly on large folders of images (I think above 5k+ or so?). Some workarounds are to process the images individually (but very slow) or divide it into smaller folders with maybe 1k images each and process those.
But this should still work properly on large folders I think there is probably a memory leak.


Add better support for checkout type config

This PR fixes #95385

Up.

One of the suggestions @rehangit made is not implemented, and it did seem like a better and more readable solution than what is there now.

@heksesang
If my memory is correct.  The problem is the checkoutTypes must have the original order rather than in the set.


Use separate container clusters

I'll do some more work on illustrations, but they are not wrong, at least
HA customers will now start up with separate feed and query container clusters - tested on my laptop with 16G for Docker

FYI @baldersheim

Yes, It runs well on my laptop. It is using approx 16G ram, so will test using same screwdriver.cd config as in https://github.com/vespa-engine/documentation/blob/master/screwdriver.yaml#L60 - the goal is to automate this too, very close now


Debugger can't attach to Python project

Python Extention: 2019.1.0
Azure Functions: 0.13.1
CLI: 2.4.317
I just created a new azure function project (HttpTrigger) and then tried to debug it, I then got the error Failed to attach (connect ECONNREFUSED <IP_ADDRESS>:9091)
From what I've gathered so far, it seems to indicate that python debugger tried to attach before function host had fully started. I've tried various suggested tweaks in launch.json and tasks.json but none have worked for me.
launch.json
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Attach to Python Functions",
      "type": "python",
      "request": "attach",
      "port": 9091,
      "host": "localhost",
      "preLaunchTask": "runFunctionsHost"
    }
  ]
}

tasks.json
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "runFunctionsHost",
      "type": "shell",
      "osx": {
        "command": ". ${config:azureFunctions.pythonVenv}\\bin\\activate && func extensions install && pip install -r requirements.txt && func host start"
      },
      "windows": {
        "command": "${config:azureFunctions.pythonVenv}\\Scripts\\activate ; func extensions install ; pip install -r requirements.txt ; func host start"
      },
      "linux": {
        "command": ". ${config:azureFunctions.pythonVenv}\\bin\\activate && func extensions install && pip install -r requirements.txt && func host start"
      },
      "isBackground": true,
       "options": {
        "env": {
          "languageWorkers__python__arguments": "-m ptvsd --host <IP_ADDRESS> --port 9091"
        }
      },
       "problemMatcher": "$func-watch"
    },
    {
      "label": "funcPack",
      "type": "shell",
      "osx": {
        "command": ". ${config:azureFunctions.pythonVenv}\\bin\\activate && func pack"
      },
      "windows": {
        "command": "${config:azureFunctions.pythonVenv}\\Scripts\\activate ; func pack"
      },
      "linux": {
        "command": ". ${config:azureFunctions.pythonVenv}\\bin\\activate && func pack"
      },
      "isBackground": true
    }
  ]
}

Terminal printed out the message below before the error window popped up

Executing task: .env\Scripts\activate ; func extensions install ; pip install -r requirements.txt ; func host start
Terminal will be reused by tasks, press any key to close it.

@hongyiqin please see this comment and let me know if it helps your situation: https://github.com/Microsoft/vscode-azurefunctions/issues/892#issuecomment-459054366

@EricJizbaMSFT  Thanks! Changing the separator from ; to && works!
Changing the terminal to Powershell doesn't work for python, the command to activate virtual env fails in powershell.


Why here you can see your skin?

Why here you can see your own skin, and agar.io no. Why?
http://<IP_ADDRESS>/agar/#ip=<IP_ADDRESS>:777
Why on thath page you can see skin and agar no whyy plz explain meee

Agar Protocol

Agar.io won't display any skins on private servers.

@Jhair2015 So?

view-source:http://<IP_ADDRESS>/agar/#ip=<IP_ADDRESS>:777
da fuq Lol

No External files

@adib696 whut?

is that ur site ?

@adib696 view-source:http://<IP_ADDRESS>/agar/#ip=<IP_ADDRESS>:777 **** xD

lol

That's @MineMoore's website

@ItzLevvie yep, but im asking how, in minemoore site you can see your own skins and agar.io no.

Because the client is based on Agar.io v72

@ItzLevvie can anyone add auto restart in "custom_time" to multiogar edited ?

bcz after 20mins the server stops
but it still work in the cmd !!

@ItzLevvie How to make work agar Expose?


User Experience Enhancements | Restructuring and Redesigning of Navbar

There is not an attractive and well-structured navbar at all, also its getting merge in the container making it difficult to difference between the navbar and the container.
The redesigning of Navbar should be implement to improve the UI as well as UX.
https://github.com/user-attachments/assets/c421eb4c-7e43-45dc-9e11-6f97dd095e40
@vanshchauhan21 please assign this to me,

Under GSSOC EXT

@vanshchauhan21 please add lables, gssoc-ext and and the label of level (1,2 or 3)


BUG:  Host functions not called when javascript has overloaded functions

Description
Overloaded host object functions not called when javascript code has an overloaded function.
See also #421
Steps to reproduce

run project
observe console output

Expected

some console output

TestStreamer | WriteStream | {"Line":64,"Character":128,"Message":"Needs more work"}
TestStreamer | schema | {"Line":64,"Character":128,"Message":"Needs more work"}

Observed

no output

Configuration

Microsoft.ClearScript Version="7.3.4"
Microsoft.ClearScript.V8.Native.linux-x64 Version="7.3.4"
Windows 10
.NET Core 6.0.302

v8Test-bug-host-not-called.zip

Hi @TrevorDArcyEvans,
JavaScript doesn't support method overloading. In your code here:
class TestStreamer
{
  write(obj)
  {
    host.WriteStream("TestStreamer", JSON.stringify(obj));
    host.WriteStream("TestStreamer", "schema", JSON.stringify(obj));
  }

  write(schema, obj)
  {
    //host.WriteStream(this.name, schema, JSON.stringify(obj));
  }
}

The second write method overwrites the first. Since it contains only a comment, it produces no output.
In JavaScript, a method is just a property whose value is a function. You can't have two properties with the same name, so method overloading is impossible.
Good luck!


Create performance test for vBNG VNF

Goal: Testing Throughput, latency, resource util per unit of performance
VMs:

vBNG
Packetgen
(VXLan VM)  may not be needed

Tasks:

[x] Investigate ability to do testing with Packetgen + vBNG w/o the need for vxlan.

[x] Remove vxlan as requirement in this issue if that is possible
[x] Update vBNG VM configuration to use needed network setup via ticket #31

[x] Create script to use Packetgen for testing vBNG VM
[x] Create top-level comaparison script for testing vBNG

[x] create vBNG_vm_test.sh  to start VMs and run the test.  Eg.

Starts vBNG VM
Starts Packgen VM
Runs tests from packgen vm

[x] Test script with no VMs running

top-level script created with the following functionality:
/vBNG_vm_test.sh

Update host network (VPP) with configuration needed for vBNG
(if necessary) Create vBNG and Pktgen VMs
Run benchmark

Low throughput by default (2002pps)
Higher throughput can be specified when running script
./vBNG_vm_test.sh <rate> (e.g. 10Kpps, 1Mpps)

Remove vBNG and Pktgen VMs

./vBNG_vm_test.sh clean


Support for cookie version 0.17

https://github.com/SergioBenitez/cookie-rs/blob/master/CHANGELOG.md

Resolved by #26


Pimpl needs more separation from interface objects.

Need to check and put pimpl files  in a different file structure for more clarity.

Done.


Undefined react-redux/native on react-redux 4.* on react-native

Sorry for using issue, but I don't have the infrastructure to PR these days (holidays! :D) but react-redux/native seems to be deprechated and regular {connect} from 'react-redux' seems to work fine! :)

Excellent. Thanks.

That's weird. Doesn't RN still ship with its own fork of React? https://github.com/facebook/react-native/issues/2985 is still open.

Please note our README (nobody seems to read it, sigh):
https://github.com/rackt/react-redux#react-native

Until React Native works on top of React instead of shipping a fork of React, you’ll need to keep using React Redux 3.x branch and documentation.

Yeah, I know that, but since I wanted to try functional components, and had issues time ago with 3.*, I tried to upgrade all packages, and it worked. Somehow. Can you reproduce this?

Unfortunately I don't have time at the moment. Maybe it worked by some some lucky combination of factors. I can't guarantee it'll keep working, or that some edge cases are not broken.

Just updated my project with RN 0.18.0-rc, which claims (and in fact) to use react from NPM.
Changing the line mentioned on the issue seems to make everything work.
@gaearon will confirm that

just for update:
facebook/react-native#2985 has closed.
see also: rackt/react-redux#236
I modified the redux-form faq pages for react-native integration guide:
#605

I have to add some code to make redux-form work in react-native with react-redux 4+
#608

Fixed by #897 #608


[fix-#3843][api]When update workflow definition,first verify the name of the workflow definition, save the data

What is the purpose of the pull request
fix #3843
1.When update workflow definition,first verify the name of the workflow definition, save the data.
2.Be consistent with the 1.3.3-release branch code
Brief change log
udp.vue

@break60
done. the code is merged to 1.3.3-release, I update to the dev branch to keep the code consistent.

+1

Branch 1.3.3 will be merged into dev, so close this pr.


[added] noop tar compressor

Added noop compressor (creates uncompressed tar archive)

Thanks, and welcome for Pull request yours other changes.

Thanks, and welcome for Pull request yours other changes.

I'd be happy to share all our changes. However, since the our code base has diverged quite a bit from yours, I'd like to know where you see the application going.
Perhaps it's helpful to explain our use case: We use gobackup for our Kubernetes projects, it's mostly running as a sidecar container and performing periodic backups. Since we are managing a lot of applications with both a database and and persistent data, we like to keep both the database dump and the persistent data archive in a single place. This is something for example Velero can't do, since it lacks a database dump feature.
However, we had to make some adjustments which may make it difficult to merge back:

We had to remove the cycler since that's handled by either S3 retention policies or our backup monitoring tool. I don't remember exactly why we had to actually remove the code, but something did interfere.
Viper lacks some kind of variable interpolation feature. I can't do something like secret_access_key: ${AWS_SECRET_KEY} which would be replaced by the corresponding environment variable. Since those credentials are usually stored in Kubernetes secrets and have to be merged together with the rest of the configuration when the pod is started, we had to write our interpolator tool

Ultimately, we'd love to have a Kubernetes operator available, which would inject gobackup into Deployments/StatefulSets/etc without having to touch the manifest/Helm chart at all.
If this is sound good to you, we could work out a way to merge it all back into your repo.


ScanCode.io: Create a package deployment to development (d2d) framework

To properly handle the binary deployment analysis, the proposed design would be see a core pipeline to perform the binary to source analysis steps, and to use this as the base for all the tech stack-specific pipelines for end-to-end package binary to source analysis.

This is completed and we now have a way to tag pipeline steps https://github.com/nexB/scancode.io/pull/1055 for a specif tech as part of a larger pipieline. See The doc at https://scancodeio.readthedocs.io/en/latest/built-in-pipelines.html#scanpipe.pipelines.deploy_to_develop.DeployToDevelop
and also the "Map Deploy To Develop" core pipeline.
This is a screen capture of the pipeline built-in documentation

This show the Java and JS-specific steps:

The way we tag and group the steps is seen in action here with the @group decorator:
https://github.com/nexB/scancode.io/blob/d6389b28841c4edf25075208eaf0708658650d06/scanpipe/pipelines/deploy_to_develop.py#L169
And in the UI, you can select the tech stack to "include" in the analysus (here Java and JS):


Remove Exception with Unsupported Constraint

The extension is used for all the form. this can be an issue if we use custom or unsupported constraint.
It's preferable to not apply parsley to the field without supported constraint to throw an exception

Not needed as you can disable Parsley using the "parsely_enabled" option, or globally using the configuration key.


Enable configuration of gesture direction

Enables configuration of the back gesture direction. This is useful if the app uses custom right-to-left navigation transitions with the transitionConfig.sreenInterpolator configuration parameter. Discussion around this topic can be found in issue #2393.
Test plan
Configuring the repository ReduxExample app with the following right-to-left transition configuration
export const AppNavigator = StackNavigator({
  Login: { screen: LoginScreen },
  Main: { screen: MainScreen },
  Profile: { screen: ProfileScreen },
}, {
  navigationOptions: () => ({
    gestureDirection: 'inverted',
  }),
  transitionConfig: () => ({
    screenInterpolator: sceneProps => {
      const { layout, position, scene } = sceneProps;
      const { index } = scene;
      const width = layout.initWidth;

      return {
        transform: [{
          translateX: position.interpolate({
            inputRange: [index - 1, index, index + 1],
            outputRange: [-width, 0, width],
          }),
        }]
      };
    },
  })
});

yields the following results

Just like https://github.com/react-community/react-navigation/pull/3075#issuecomment-351020933 everything works smoothly and the code looks fine.
Doing to "pre-test" to ensure that "actual" reviews can be faster :3

Improvement idea for the configuration API: Instead of having a separate configuration parameter for inverting the direction of the gesture navigation, what if we used the negative values of the gestureResponseDistance fields? So in order to have the back gesture from the right edge, one would set navigationOptions to return:
{
  gestureResponseDistance: {
    horizontal: -25,
  },
}

In my opinion this would make for a cleaner API, with less single configurations. On the other hand, it might be harder to find from the configuration documentation. Ideas, comments?

My instinct is to not couple the two. Imagine if somebody was reading some code, trying to figure out what made a screen recognize gestures from the wrong side. They might not notice the negative sign. I think a separate setting is more explicit.

Updated code to actually invert the behaviour based on I18nManager.isRTL, even though that behaviour does seem to be broken at the moment. If we are not changing the format of the configuration API, then the implementation is complete as far as I can see.

not works when i used https://github.com/aksonov/react-native-router-flux
please help me by an example 👍

i improved code by this changes:
deleted this lines:
if (gestureVelocity < -0.5) {
    this._reset(immediateIndex, resetDuration);
    return;
}

and changes these values:
const POSITION_THRESHOLD = 1 / 6; // 1/2 to 1/6
and
const ANIMATION_DURATION = 100; // 500 to 100


What's the use of WASM (if a backend server is needed anyway)?

Hi @ekzhang
Thank you for this excellent piece of work.
I am looking to hook this up with a frontend code editor using @codemirror/collab.
Can you help me to understand why is there a need to have a WASM binary even though the OT is resolved/computed at the server?
Thank you.

Rustpad applies transformations on both client and server.

Rustpad applies transformations on both client and server.

Are you saying that there are two 'binaries', one on the server and another (a wasm binary) in the client, both applying the transformations parallelly?
Thank you.

No, that's not right

Hi @ekzhang
Thank you for sharing. Anyway, I still don't get it but it is okay, I'll use Rushlight instead.
Thank you for writing both.

No worries, it is a bit complex, I needed to take a while to understand the client-server ot model too

As far as I understand, rustpad uses the WASM backend to do the operational transformation operations since it would require much more resources/time to send the data to the server and process the response. Instead, they are calculated on user's browser. I might be wrong though - but that's what I remember from the time that I looked into rustpad's code back in the day.
Just my 2 🪙


migrate scoring fns to resource

tests:
pytest -v -s -m meta_reference_scoring_fireworks_inference llama_stack/providers/tests/scoring/test_scoring.py --env FIREWORKS_API_KEY=<KEY>

/Users/dineshyv/miniconda3/envs/stack/lib/python3.10/site-packages/pytest_asyncio/plugin.py:208: PytestDeprecationWarning: The configuration option "asyncio_default_fixture_loop_scope" is unset.
The event loop scope for asynchronous fixtures will default to the fixture caching scope. Future versions of pytest-asyncio will default the loop scope for asynchronous fixtures to function scope. Set the default fixture loop scope explicitly in order to avoid unexpected behavior in the future. Valid fixture loop scopes are: "function", "class", "module", "package", "session"

  warnings.warn(PytestDeprecationWarning(_DEFAULT_FIXTURE_LOOP_SCOPE_UNSET))
=========================================================================================================== test session starts ============================================================================================================
platform darwin -- Python 3.10.15, pytest-8.3.3, pluggy-1.5.0 -- /Users/dineshyv/miniconda3/envs/stack/bin/python
cachedir: .pytest_cache
rootdir: /Users/dineshyv/code/llama-stack
configfile: pyproject.toml
plugins: asyncio-0.24.0, anyio-4.6.2.post1
asyncio: mode=strict, default_loop_scope=None
collected 6 items / 3 deselected / 3 selected

llama_stack/providers/tests/scoring/test_scoring.py::TestScoring::test_scoring_functions_list[meta_reference_scoring_fireworks_inference] Resolved 10 providers
 inner-datasetio => meta-reference
 datasets => __routing_table__
 datasetio => __autorouted__
 inner-inference => fireworks
 models => __routing_table__
 inference => __autorouted__
 inner-scoring => meta-reference
 scoring_functions => __routing_table__
 scoring => __autorouted__
 inspect => __builtin__

Registering model Llama3.2-3B-Instruct with provider fireworks
PASSED
llama_stack/providers/tests/scoring/test_scoring.py::TestScoring::test_scoring_score[meta_reference_scoring_fireworks_inference] PASSED
llama_stack/providers/tests/scoring/test_scoring.py::TestScoring::test_scoring_score_with_params[meta_reference_scoring_fireworks_inference] `test_dataset` already registered with `meta-reference`
PASSED

=============================================================================================== 3 passed, 3 deselected, 8 warnings in 9.45s ================================================================================================
❯ git status
On branch dineshyv/scoringfn-resource

Added a new test fixture for braintrust for scoring:
pytest -v -s -m meta_reference_scoring_fireworks_inference scoring/test_scoring.py
pytest -v -s -m braintrust_scoring_together_inference scoring/test_scoring.py


Libxmljs needs to be updated to 0.18

https://github.com/libxmljs/libxmljs/issues/406
Have a project that uses spark as a dependency somewhere, it uses libxmljs 15 and crashes on node 6.2.0
unable to compile.

@ericlw should already be on 0.18.0

Ok, the real issue is when I try to npm install open311 it errors on
limbxmljs 15 called by sparkxml
On Mon, May 23, 2016 at 1:57 PM koesbong<EMAIL_ADDRESS>wrote:

@ericlw https://github.com/ericlw should already be on 0.18.0
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/codeforamerica/node-sparkxml/issues/9#issuecomment-221093898

the package.json file says "libxmljs": "^0.15.0"
and despite the wildcard that is the one that it attempts to install and it causes a crash

@ericlw can't you create a PR to update the version # in package.json?


Messages in Storage queues are typically first-in-first-out

This page states that "Messages in Storage queues are typically first-in-first-out".
One example is given where messages can arrive out of order.  Are there other possible causes/scenarios?
Ignoring the visibility-timeout scenario, is it expected that FIFO would be maintained under the following scenarios?
Scenario 1:
High volume, i.e. when there is a very large number of messages in the queue (e.g. would a message from half-way down the queue suddenly appear at the top?  How non-deterministic is the ordering?).
Scenario 2:
High throughput, i.e. a large number of readers and writers.
Scenario N:
Are there any other known scenarios where FIFO is not adhered to?  (E.g. if a failover occurs within Azure Storage).

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

ID: afed582b-fb3f-30b3-b119-6c4a9218bf34
Version Independent ID: d4cf3473-21c1-2409-e7ac-9ad93fbc5895
Content: Azure Storage queues and Service Bus queues compared and contrasted
Content Source: articles/service-bus-messaging/service-bus-azure-and-service-bus-queues-compared-contrasted.md
Service: service-bus-messaging
GitHub Login: @axisc
Microsoft Alias: aschhab

@cbailiss Thank you for your feedback! We will review and provide an update as appropriate.

@KetanChawda-MSFT
Thanks.
This question is about Azure Storage queues - not Service Bus (I see you have added a Service Bus label).

@cbailiss Thank for confirmation. Added the storage label as well. The labels are added based on the documentation.
@SumanthMarigowda-MSFT can you please help here on storage query.

@cbailiss The fact is more about FIFO guarantee in the event of failures. Both storage and service bus queues add failed messages to the end of the queue (as if its a newly added message), so the order is not maintained.
But Service Bus guarantees FIFO through the use of message sessions as stated in the documentation.
The scenarios you've mentioned are still FIFO assuming there are no failures causing messages to be re-added to the queue. Also, if you have more than one consumer on the same queue, the messages would be load balanced across them thereby losing the order there to.
If FIFO is strictly required for you use case, service bus + message sessions is the way to go. Note that sessions are locked by the first consumer to connect.

Thank you @PramodValavala-MSFT - that is useful information.
One follow-up question - you say:

Also, if you have more than one consumer on the same queue, the
messages would be load balanced across them thereby losing the
order there to.

To what extent is the order lost when there are multiple consumers?  If there is a single consumer on a queue that contains 1000 messages, then a second consumer connects, is it possible that a newly added message would go straight to consumer B whilst consumer A still has a backlog of 1000 messages to consume? (which is not very FIFO at all)
Or is it more that both consumers would work through the 1000 messages consuming messages from the front of the queue, but at the very front it is not exactly FIFO within the first X number of messages where X is a very small percentage of the total messages in the queue?
In the two scenarios above, the first is not really FIFO, but the second is very close to FIFO.
I am asking because my requirement is to have close to FIFO, but I want to ensure there are no scenarios (ignoring failures) where a newly added message could jump to the front of the queue bypassing most of the messages already in the queue.
Put it another way, if in a high throughput scenario, at a point in time a queue only contains say 4 messages, and two consumers are rapidly reading messages, I am OK with consumer these being read slightly out of order, but I am not OK with one consumer picking up a newly added message when there are 1000 older messages waiting to be read.
It feels to me like storage queues have a reasonable guarantee of ordering, but that for simplicity/efficiency they don't guarantee it down to the level of single specific messages at the very front of the queue.  Is my rough understanding correct?

@cbailiss Always from the front unless you are setting Prefetch or using ReceiveBatch.

It feels to me like storage queues have a reasonable guarantee of ordering (ignoring failures), but that for simplicity/efficiency they don't guarantee it down to the level of single specific messages at the very front of the queue. Is my rough understanding correct?

Yes. Service Bus queues are similar too except that they optionally offer Message Sessions to overcome it.
Also, I believe the re-added messages are not necessarily added to the end of the queue contrary to what I said before but ordering is still not guaranteed because the consumers may pick up the next messages before its re-added.

Thank you, that makes sense and is all very useful information.
It might be useful to request some of this information is added into the docs page, to expand on what "typically" means in a bit more detail.  "Typically" followed by one example (as the current page is written) is a bit ambiguous.
A statement like the following provides a more clarity:
Storage queues are always read from the front of the queue, except:
a) When failed messages are re-added to the queue (the failed message may appear after messages added more recently)
b) When using Prefetch of ReceiveBatch (since these read sets of messages from the front of the queue that could be processed at different times/rates by the consumer).

@cbailiss Glad we could help! I believe these details are scattered around the Service Bus docs and this doc is probably assuming key workings are understood.
@axisc Thoughts?


Create gitlab pipeline to deploy application on AKS cluster

Create gitlab pipeline to deploy devon4quarkus application on AKS cluster.
Requires below list of variables from package pipeline and AKS provision pipeline.

Image name, registry, Private registry credentials list of variables from package pipeline.
Kubeconfig, aks_dns_name from AKS provision pipeline.
These variables are input to deploy pipeline to connect AKS cluster and deploy application.
Acceptance Criteria:-
Use existing Azure devops pipeline and scripts to deploy app in AKS cluster.

Connect AKS cluster - waiting for kubeconfig, AKS provision pipeline not yet started.
Deploy pipeline stages - Created deploy pipeline stages to deploy application into AKS cluster.
Need to connect AKS cluster and deploy application in to AKS cluster - In progress

Blocking this story by provision AKS cluster, I need environment and kubeconfig to test deploy pipeline on AKS cluster.


mwprocapture: Broken package?

I'm trying to use the mwprocapture nixos module (which uses the mwprocapture kernel package) on 20.09 (linuxPackages_latest), and I get the following:
Package ‘mwprocapture-1.2.4177-5.8.18’ in /nix/store/smd91bacvzcqbqldb58j47lqvgjxjwfs-nixos-20.09.1889.58f9c4c7d3a/nixos/pkgs/os-specific/linux/mwprocapture/default.nix:62 is marked as broken, refusing to evaluate.

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

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

Is this known and/or already fixed somewhere? (Also, is it safe to use it anyways?)
I'd love to try and fix it further myself, but I don't know how to splice in a local/development nix file into my boot.kernelPackages for development purposes :sweat_smile:
@MP2E (also CC @pwetzel)

Looks like upgrading the package version resolved things. Will create a PR soon.

Thanks for the heads up.


Whitespace support for defaults and plist resources

This PR

Adds better handling of whitespace when maniulating plists by making sure the plist file and the plist keys/entries are properly quoted and/or escaped depending on the calling resource
defaults utilizes the coerce property method and Shellwords.shellescape
plist simply checks for whitespace and quotes the plist accordingly to match the other logic in the resource.

All default suites passing locally.


ARROW-15235: [R] drop support for R 3.3

glue depends on R >= 3.4, and vctrs depends on glue

@github-actions crossbow submit test-r-versions

Shouldn't you update other occurrences?
r/DESCRIPTION
21:Depends: R (>= 3.3)

r/tests/testthat/test-compute-aggregate.R
286:    "The median generic lacks dots in R 3.3.0 and earlier"

r/tests/testthat/test-dplyr-funcs-conditional.R
349:    x = c(NA_real_, NaN, 3.3),
350:    y = c(NA_real_, 2.2, 3.3),
351:    z = c(1.1, 2.2, 3.3)

r/tests/testthat/test-filesystem.R
31:  # This fails due to a subsecond difference on Appveyor on Windows with R 3.3 only

r/tools/nixlibs.R
25:  # default method doesn't work on R 3.3, nor does libcurl
303:    # tools::Rcmd introduced R 3.3

r/tools/winlibs.R
31:    if (getRversion() < "3.3.0") setInternet2()

r/vignettes/install.Rmd
95:* `gcc` >= 4.9 or `clang` >= 3.3; note that the default compiler on CentOS 7 is gcc 4.8.5, which is not sufficient

Thanks for catching those, I'll update the relevant ones (most of those are false postives/reference other things). At first I didn't want to pull out the various 3.3 bits (since if someone had an old version of glue on 3.3, everything will work just fine, but I don't think it's worth trying to support that)

@github-actions crossbow submit test-r-versions test-r-linux-as-cran test-r-arrow-backwards-compatibility

@paleolimbot would you mind taking a look too (I can't seem to request a review from you in GH)


Show permissions count on user list

Description
Shows the number of permissions and content scope in the user permissions admin panel.

Please regenerate the schema.gql files to fix the lint workflow


coreclr debugger can not set breakpoints in code opened in a folder.

Issue Description
The C# Debugger in VSCode cannot debug in code that is just in the current open folder (Open Folder instead of a project file)
Steps to Reproduce
I have C# code that is compiled via a nonstandard build process into an exe, that is inside a folder. I opened that folder in VSCode, and I setup a launch.json file that would run the built exe. When I Run the debug target, VSCode launches the exe and attaches a debugger, but I can't set breakpoints in my code and the pause button does nothing. Mousing over breakpoints indicates that no symbols were loaded, but the pdb files are right next to the exe and I have set the symbol search path to include the same path.
Expected Behavior
I can set breakpoints, pause, and debug my code
Actual Behavior
The debugger does nothing beyond launching the title.
Environment information
VSCode version: 1.62.3
C# Extension: 1.23.16
Dotnet Information
A valid dotnet installation could not be found.

You didn't include enough information to make much of a guess as to what you are setting up incorrectly. Based on very little I might suspect you aren't debugging the process containing your code.
Breakpoint troubleshooting instructions: link
If you aren't able to figure out your problem that way, please include the content of your launch.json and a debugger log (instructions).

This was due to using the wrong debugger type, I was using coreclr instead of clr.


Unable to do device.launchApp() using macos-11

What happened?
Upgraded my vm image to macos-11 and tried running detox tests with latest version but I am not able to run ios app. Get an error saying
    DetoxRuntimeError: The pending request #-1000 ("isReady") has been rejected due to the following error:

    The app has unexpectedly disconnected from Detox server.

       8 | describe('Attribution test', () => {
       9 |   beforeAll(async () => {
    > 10 |     await device.launchApp();

What was the expected behaviour?
App is meant to launch and run tests without error.
Was it tested on latest Detox?

[X] I have tested this issue on the latest Detox release and it still reproduces.

Did your test throw out a timeout?

[ ] I have followed the instructions under Identifying which synchronization mechanism causes us to wait too much.

Help us reproduce this issue!
Run any ios detox tests using macos vm image macos-11
In what environment did this happen?
Detox version: 19.8.4
React Native version: 0.64.3
Node version:
Device model: iPhone 12
iOS version:
macOS version: macOS-11
Xcode version:
Test-runner (select one): jest-circus / jest+jasmine / mocha / other
Detox logs
Detox logs
running command: jest --config ../../__tests__/e2e/config.json --maxWorkers 1 --detectOpenHandles --group=mobile/any/smoke --group=mobile/default/smoke
09:41:46.941 detox[10875] WARN:  [composeDeviceConfig.js] --force-adb-install CLI override is not supported by device type = "ios.simulator" and will be ignored
09:41:46.946 detox[10875] WARN:  [composeDeviceConfig.js] --readonly-emu CLI overriding is not supported by device type = "ios.simulator" and will be ignored
09:44:41.445 detox[10875] WARN:  at ../../node_modules/browserslist/node.js:381:15
 Browserslist: caniuse-lite is outdated. Please run:
  npx browserslist@latest --update-db
  Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating
09:44:43.739 detox[10875] INFO:  at ../../__tests__/detox-common/util/WSServer.ts:23:13
 WebSocketServer started
09:44:44.812 detox[10875] INFO:  Attribution test is assigned to F2650D69-14E5-4193-B04B-A0144F417732 (iPhone 12)
09:44:53.001 detox[10875] INFO:  [AppleSimUtils.js] nz.co.sky.one.dev launched. To watch simulator logs, run:
        /usr/bin/xcrun simctl spawn F2650D69-14E5-4193-B04B-A0144F417732 log stream --level debug --style compact --predicate 'process == "Sky One"'
09:44:55.870 detox[10875] WARN:  [DetoxConnection.js/ERROR, #50438] Action dispatched too early, there is no session to use:

HINT: Please report this issue on our GitHub tracker:
https://github.com/wix/Detox/issues

{
  messageId: -10000,
  params: [Object],
  type: 'AppWillTerminateWithError'
}
09:45:04.050 detox[10875] INFO:  Attribution test: Open My Hub and tap on Licenses
09:45:04.082 detox[10875] INFO:  Attribution test: Open My Hub and tap on Licenses [FAIL]

Device logs
Device logs
paste logs here!

More data, please!
No response

I'm having the same issue trying to run detox tests in Android emulator on debug mode.

same issue on ios release mode

I had this error for over a year now. Finally solved it by upgrading react-native-reanimated to the latest version.

Get this problem on IOS release mode, even when changing my app to this:
  return (
    <View style={{ flex: 1, justifyContent: 'center', alignContent: 'center' }}>
      <Text>hello</Text>
    </View>
  );


Fixed transaction history download

Hello guys,
this will fix the transaction history download.
Cheers
Tamas

Would be great to get this merged. Fix works for me.


Add FORTLS

Insert URLs to the project here:
https://github.com/Molina-Valero/FORTLS

[x] The projects is active, documented, open source licensed, shows usage from external parties and is directly targeting environmental sustainability. Find more details in the Contribution Guide.

All issues labeled as 'Good First Issue' of the project listed on OpenSustain.tech will be visible on ClimateTriage.com. This is a great way to welcome new community members to your project.

@Molina-Valero


Cannot get builders from registry for ParticleEffect sub types

Currently you are unable to get instances of the builders for any of the particle subtypes (Colored etc.). This is due to the fact that the createBuilder method in the GameRegistry is looking for a type of <T extends ResettableBuilder<T>> and the builders for the particle subtypes extend the common ParticleEffect builder which extends ResettableBuilder<ParticleEffect.Builder>, whereas the subtype builders need to be unltimately extending ResettableBuilder<SubTypeParticle.Builder>.
We might be able to add a generic argument to ParticleEffect.Builder to pass to the ResettableBuilder but I'd need to look into it a bit more.

I thought I fixed this in 92a9d1bd595939a. The signature of the createBuilder method is now:
<T extends ResettableBuilder<? super T>> T createBuilder(Class<T> builderClass)

Oh you are correct <.<
Apparently when you open a class from the repository search page it opens it up referencing the tree of when that file was last modified (which for ColoredParticle was 2a7c654 6 days ago) so when I navigated to the GameRegistry from there I was looking at a 6 day old game registry.
My bad. I guess I should use the Find File feature rather than the search box, it doesn't seem to have this issue.


Add: Power of Four

Codecov Report

Merging #388 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #388   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files         138    139    +1
  Lines        1414   1416    +2
=====================================
+ Hits         1414   1416    +2

Impacted Files
Coverage Δ

problems/power-of-four/power_of_four.go
100% <100%> (ø)

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 5e46c15...86c8a3f. Read the comment docs.


Clock faces not showing after Upgrading to MM 2.12

My analog clock faces are not visible anymore after upgrading to MagicMirror 2.12, not sure if anyone else experienced this or not?
Can you please check if it works for others?
i have face-004 configured in config file but i dont see it on MagicMirror.

Duplicate of: https://github.com/MichMich/MagicMirror/issues/2072


[PI13] Transfer to Tractus-X

As open-source project,
I want to have all project information inside the GitHub project,
so that no project relevant information is hidden in restricted plattforms.
Links

child of https://github.com/eclipse-tractusx/sig-release/issues/212
relates to https://github.com/eclipse-tractusx/item-relationship-service/issues/312
relates to https://github.com/eclipse-tractusx/item-relationship-service/issues/344
relates to https://github.com/eclipse-tractusx/item-relationship-service/issues/223

Hints / Details

Concept #223
Sources: JIRA Xray, MIRO, Confluence
Xray: Test Execution files & Feature Files
Confluence: ??
Miro: none

Outcome / Acceptance Criteria
Outcome

...

Acceptance Criteria

[x] Content to be transferred to association is known
[ ] Relevant Confluence pages are transferred to GitHub
[ ] Take IP under consideration (Ask POs before moving sensitive information not provided by irs team)
[ ] Confluence pages are moved to archive after migration to GitHub  - mark migrated pages as deprecated
[ ] Cucumber Feature files and test executions are stored in GitHub
[ ] Cucumber Tests are executed via Github workflow
[ ] Cucumber Test results are uploaded to workflow
[ ] Transfer to association is completed.
[ ] Move HELM Environments from CATENA-NG to Eclipse

DO NOT DELETE THE XRAY Files in JIRA as this is used on e.V. LATER.
Out of Scope

...

Also check these workflows. They refer to catena-x specific environments and should be updated/removed.

https://github.com/eclipse-tractusx/item-relationship-service/blob/main/.github/workflows/BETA-xray-cucumber-integration.yaml
https://github.com/eclipse-tractusx/item-relationship-service/blob/main/.github/workflows/integration-test-DEV.yaml
https://github.com/eclipse-tractusx/item-relationship-service/blob/main/.github/workflows/integration-test-DIL.yaml
https://github.com/eclipse-tractusx/item-relationship-service/blob/main/.github/workflows/integration-test-INT.yaml
https://github.com/eclipse-tractusx/item-relationship-service/blob/main/.github/workflows/irs-load-test.yaml
https://github.com/eclipse-tractusx/item-relationship-service/blob/main/.github/workflows/jira-publish-release.yaml
https://github.com/eclipse-tractusx/item-relationship-service/blob/main/.github/workflows/synch-env-branch.yml
https://github.com/eclipse-tractusx/item-relationship-service/blob/main/.github/workflows/tavern.yml
https://github.com/eclipse-tractusx/item-relationship-service/blob/main/.github/workflows/tavern-integration.yml
https://github.com/eclipse-tractusx/item-relationship-service/blob/main/.github/workflows/xray-cucumber-integration.yaml

@jzbmw  Before moving the features files from Xray to Github we should align with the testmanagment that Xray is not used any more for R24.5

@jzbmw We should directly start this in PI 13 Iteration 1. With the  new test analyst staffed in april 2024  we could directy start moving this and have the opportunity to document the process and make the necessary changes. Right now it is impacted with too much risk.

Acceptance Criteria

[ ] Content to be transferred to association is known
[ ] Relevant Confluence pages are transferred to GitHub
[ ] Take IP under consideration (Ask POs before moving sensitive information not provided by irs team)
[ ] Confluence pages are moved to archive after migration to GitHub  - mark migrated pages as deprecated
[x] Cucumber Feature files and test executions are stored in GitHub
[x] Cucumber Tests are executed via Github workflow
[x] Cucumber Test results are uploaded to workflow
[ ] Transfer to association is completed.
[ ] Move HELM Environments from CATENA-NG to Eclipse

Content to be transferred to Association is defined here: https://confluence.catena-x.net/display/IRS/TRANFER2ASSOCIATION

Review & Tests:

[ ]  Not executed since 3 weeks https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/helm-test-backwards-compatability.yaml -> not part of this story

[ ]  Not working https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/release.yaml -> not part of this story

[ ]  Not working https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/update-docs-for-release.yml -> not part of this story

[ ]  Not working https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/release.yaml -> not part of this story

[ ]  Not working https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/int-test-automation.yml  -> not part of this story

[ ]  Not working https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/owasp.yml  -> not part of this story

[ ]  Not working https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/publish-swagger-hub.yml -> not part of this story

[ ]  Not working https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/trivy-image-scan.yml -> not part of this story

[ ]  Disabled https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/int-setup-testdata.yml -> not used

[ ]  Disabled  https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/cucumber-integration-test.yaml -> not disabled, this is the base workflow for the specific environments

[ ]  Not running https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/cucumber-integration-test-DIL.yaml -> DIL is not a active environment right now

[ ]  Not working https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/cucumber-integration-test-INT.yaml  -> We do not have INT test cases right now

[ ]  Not working https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/tavern.yml -> failing because of ESS (https://github.com/eclipse-tractusx/item-relationship-service/runs/26497706080), DEV cases are working. The workflow in itself is working which was the goal of this story

[ ]  Disabled https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/tavern-integration.yml -> we do not have INT test cases right now

[ ]  Please provide cucumber test execution where all cucumber tests are executed successfully -> https://github.com/eclipse-tractusx/item-relationship-service/actions/runs/9597500957 (see the artifact or the report which is available until 15:00 today)

[ ]  Where to find the environments merged from catenaxng please link branch here -> https://github.com/eclipse-tractusx/item-relationship-service/tree/catena-x-environments

PO acceptance in  behalf of @jzbmw .
Move content to association will be done in https://github.com/eclipse-tractusx/item-relationship-service/issues/686.


chore: import repository https://github.com/lucaiacono2275/nextcloud.git

this commit will trigger a pipeline to generate the CI/CD configuration which will create a second commit on this Pull Request before it auto merges

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign
You can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@lucaiacono2275: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

verify
db2afc5cface8ae63cbc390cbfd939929c66fb34
link
/test verify

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

/approve

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: lucaiacono2275
To complete the pull request process, please assign
You can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/assign

/approve

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: lucaiacono2275
To complete the pull request process, please assign
You can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Matmul 2d hang when subblock h and w > 1 on N300

There still seem to be hangs with matmuls with 8,8 grid size on N300 (the initial issue: https://github.com/tenstorrent/tt-metal/issues/7066), although much less frequently. Hang is not reproducible on N150.
The problematic matmul is used for FF1 in Falcon7b MLP.
Repro steps:

git checkout sjovic/matmul-hang-repro
./build_metal.sh
WH_ARCH_YAML=wormhole_b0_80_arch_eth_dispatch.yaml pytest models/experimental/falcon_7b/tests/test_reproduce_hang_matmul.py -k "ff1-hang"

The test runs 5000 iterations of matmul. On bgd-lab machine, hag appears around 2000th iteration; on a cloud machine, hang appears earlier (around 300th).
To run the test 5000 times with subblock h/w = 1 (to validate it passes), run the following command

pytest models/experimental/falcon_40b/tests/test_reproduce_hang_matmul.py -k "ff1-pass"

Added branch 8665-mixtral-ff2-hang with a similar matmul test that also hangs after many iterations.
This one specifically matches the shapes for FF2 in the Mixtral8x7b code with subblock_w=2.
When running the full model we seen hangs with this config on the 2nd iteration. When running just the unit test below, the hang appears after more than 7000 iterations.
Program cache is enabled in the test. T3k mesh config is used.
Repro steps:
git checkout 8665-mixtral-ff2-hang
./build_metal.sh
WH_ARCH_YAML=wormhole_b0_80_arch_eth_dispatch.yaml pytest models/demos/t3000/mixtral8x7b/tests/test_di_dt_mixtral_mlp_hang.py::test_mixtral_mlp_hang[wormhole_b0-True-ff2-hang]

The test runs 10000 iterations of matmul. on latest main on sjc-lab-t3002 I'm seeing the hang around iteration 7226.
To run the testwith subblock_w = 1 just use
pytest models/demos/t3000/mixtral8x7b/tests/test_di_dt_mixtral_mlp_hang.py::test_mixtral_mlp_hang[wormhole_b0-True-ff2-pass]

on sjc-snva-t3010, @mtairum 's repro hangs on iteration 129, 130, 129 when I run three times in a row.
The test which passes on his machine,
WH_ARCH_YAML=wormhole_b0_80_arch_eth_dispatch.yaml pytest models/demos/t3000/mixtral8x7b/tests/test_di_dt_mixtral_mlp_hang.py::test_mixtral_mlp_hang[wormhole_b0-True-ff2-pass]

fails on sjc-snva-t3010 after 1719 iterations.
fyi @davorchap

Another repro, already wrote in the Slack channel, but posting here to track all in one place:
$ git checkout sjovic/didt-with-stagger
$ pytest tests/didt/test_sharded_ff1.py

It's a single matmul loop that usually hangs on the first op; the hang is avoided if we apply delay on each matmul block, delaying just the first block doesn't help.

@s-jovic what is the status of inserting the 12k cycle delay for half the grid? And does that fix this issue?

We expect it to resolve the issues in combination with the upcoming firmware patch, however this needs to be tested once the firmware is ready. Some more info here: https://github.com/tenstorrent/tt-metal/issues/9857.

We expect it to resolve the issues in combination with the upcoming firmware patch, however this needs to be tested once the firmware is ready. Some more info here: #9857.

Thanks @s-jovic

Another repro, already wrote in the Slack channel, but posting here to track all in one place:
$ git checkout sjovic/didt-with-stagger
$ pytest tests/didt/test_sharded_ff1.py

It's a single matmul loop that usually hangs on the first op; the hang is avoided if we apply delay on each matmul block, delaying just the first block doesn't help.

@s-jovic is the hang evident using the default loop count in the test?

@abhullar-tt yes, it is on problematic n300 chips; adding 'problematic' since not all n300 boards expose this behavior.


Does Rapier 3d Implement Spatial Partitioning?

Scenario
I have a simple program that employs 1000 units on screen. Each unit has its own dynamic rigidbody, as well as a collider. On startup, these units are spaced far enough apart that they are not colliding. My program runs at a very slow 15 FPS, and when the units actually start colliding, it drops to below 5 FPS.
From my understanding, collision happens in two phases, the Broadphase & Narrowphase. The Broadphase checks to see if there are any collisions or intersections, while the narrowphase uses the data from the broadphase to actually compute the contact points required for actual collision.
Because of the exponentially bad performance as I increase the amount of units on screen, I would assume that spatial Partitioning is not implemented.
Questions

Is the broadphase checking for collisions on a collider which every other collider on screen? If this is this case, with 1000 units, that means there are 1000000 calculations being made every frame?
If this^^ is the case, is there a way to implement spatial awareness so that the broadphase is only checking for intersections in a certain proximity to a collider?

Short answer: yes, rapier3d has space partitionning.
Slightly longer response is that the broadphase setups the space partitioning and the narrowphase does the finer detection. On top of that there is an IslandManager to be able to parallelize these 2 steps better.
This repository is focused on bevy integration though, and I feel like your question is more oriented towards "lower level" performance: Consider looking into the lower level crates such as rapier or Parry.
If you have a particular performance issue, double check you're running in release mode (or your dependency is), as mentioned in the documentation.
If you still have a problem, please reopen an issue! Minimal reproducible examples are appreciated :)


chore(SetTheory/Ordinal/Arithmetic): WellFounded.rank → IsWellFounded.rank

We make the WellFounded argument of rank an instance argument. This matches Ordinal.typein.

[x] depends on: #17683

It might be desirable to make the type an explicit argument. This is something that could also be done for typein.

bors merge


Fix ServicePrincipalCredentials authentication

Fixes #22
Updated the login logic to wrap the credentials when they are not already of the Authentication type.
It fixes the scenario in which the user passes the ServicePrincipalCredentials in the workspace.credentials property, which is already of the Authentication type and should not be wrapped again in a BasicTokenAuthentication object.

@vxfield sorry, I just noticed the unit tests failed! It looks like we need to update the recordings.

@vxfield did you ignore all my comments and suggestions?

As synced offline with @guenp and team, all the comments will be addressed in a future PR as part of #28 Follow Azure SDK for Python guidelines  work.
Since the focus of this PR was to fix a critical authentication scenario that are blocking customers, I've made the decision of not risking delaying our QDK Feb release by not addressing code styling or pre-existing issues that do not directly impact customers.
Nevertheless, the suggestions are super valid and should be addressed accordingly by the next release.


Motivation section should not show polyfills; it should show use cases

That is, it should show actual code that uses O.gOPDs to do something useful.

I guess this is covered in the "Illustrative Examples" section. In which case the polyfills in the Motivation section could probably be deleted.

cleaned up motivation https://github.com/WebReflection/Object.getOwnPropertyDescriptors#motivation
improved illustrative examples https://github.com/WebReflection/Object.getOwnPropertyDescriptors#illustrative-examples

Hmm. This is a lot better but I am still concerned.

Even if highly optimized, the amount of operations needed in order to obtain an object compatible with Object.defineProperties or with the second argument of Object.create is huge and it could be surely improved if performed directly in core.

Guessing about the idea that the performance will be better with native is not going to work well. Usually these are implemented in a self-hosted way (i.e. implemented in JS, even in the engine). If there was a way to make them faster, then they would just do that to the JS version. So that argument is probably going to get shouted down.
The rest of the paragraphs talk about copying. They seem like more of an argument for Object.define/Object.copy/Object.mixin or whatever. What is the motivation for Object.getOwnPropertyDescriptors in particular?
Your examples actually show good use cases. You just need to port that back to the "motivation" section. So maybe instead of talking so much about copying, talk in a bit more detail about mixing in or copying the behavior of an object (including any getters/setters or nonenumerable properties) to different targets, perhaps with some preprocessing to filter out or modify certain descriptors.

A boilerplate example capable of solving what Object.assign is not covering with current ES2015 capabilities is shown here:

This should probably be rephrased to something like "Let's say you wanted a version of Object.assign that uses [[DefineOwnProperty]]/[[GetOwnProperty]] instead of [[Set]]/[[Get]], to avoid side effects and copy setters/getters, but still use enumerability as the distinguishing factor. Before this proposal, such a method would look like:"

Hopefully, and following your suggestions, I've made the motivation more compelling/attractive.
I've also updated the part regarding assign copy&pasting your sentence.
Thanks

I still think you should remove any mention of "faster". But otherwise LGTM.

Forgot that, changed now


(2) Integrate new scopes related API

This does the refactoring of Hubs and Scopes. Existing API is not changed but under the hood the new scopes are used. Existing functions living on the Hub are deprecated. All integrations are updated to use the new Scopes.
The PR that added the new API used in this PR was added here: https://github.com/getsentry/sentry-python/pull/2609

Status of general tests:

[x] test_api.py
[x] test_basics.py (!PUSH_SCOPE)
[X] test_client.py (one improvement makes test fail)
[X] test_conftest.py
[X] test_crons.py
[X] test_envelope.py
[x] test_exceptiongroup.py
[X] test_lru_cache.py
[x] test_metrics.py
[X] test_monitor.py
[X] test_profiler.py
[x] test_scope.py
[x] test_scrubber.py
[X] test_serializer.py
[X] test_sessions.py
[X] test_spotlight.py
[x] test_transport.py
[X] test_utils.py

Status of tests for integrations:

[x] aiohttp
[x] ariadne
[x] arq
[x] asgi
[x] asyncpg
[ ] aws_lambda
[x] beam
[x] boto3
[x] bottle
[x] celery
[x] chalice
[x] clickhouse_driver
[x] cloud_resource_context
[x] django
[x] falcon
[x] fastapi
[x] flask
[x] gevent
[x] gcp
[x] gql
[x] graphene
[x] grpc
[x] httpx
[x] huey
[x] loguru
[x] opentelemetry
[x] pure_eval
[x] pymongo
[x] pyramid (errors in event_processors that are picked up by logging integration do not work anymore)
[x] quart
[x] redis
[x] rediscluster
[x] requests
[x] rq
[x] sanic
[x] starlette
[x] starlite
[x] sqlalchemy
[x] strawberry
[x] tornado
[x] trytond

Gotta take a break here, my brain is fried, will continue first thing on Monday.
🥔🥔🥔🥔🥔 for undertaking this massive change.


[Cider Tow] Material + Tie Error

Hello,
I just purchased the gamemode Cider Two and mentioned some bugs.

Even though I have subscribed to both content addons, the logo after joining is black/pink checkered.
I am tied after spawning.

Also the bars in the top left corner and the background when switching the weapon are checkered.


Usage help text

Is it possible to print a usage help text, based on the config?

And maybe add optionally some help message per configuration ?


Add Llama Models

We should add Llama models, as llama models are freely and limitedly available on platform like Hugging face or groqCloud, So we can integrate that to in TaxyAI.
Note: If Maintainer want this feature, i can do it as i have Experience in developing chrome extension.

Support for gpt4o-mini should be added. It is multi-modal and incredibly cheap to run. With it, the community could come up with many many experiments at little to no cost, and make a library of automated features for use across the web. This crowdsourced data could also be used to fine-tune this model as well, making performance even better. I think that I will fork this over the weekend.

Hi Elad,
Thanks for the clarification! gpt4o-mini sounds like a great idea, especially since it's multi-modal and can handle images. I've already joined the waitlist for this model and would love to contribute once it’s available. Let me know if there’s anything I can assist with in the meantime!
Best,
@CoderRahul9904


Enable dsc config resolve for included configs

Summary of the new feature / enhancement
As part of https://github.com/PowerShell/DSC/issues/412 we would want to enable rendering a complete config that includes other config files.  Some considerations:

needs to be done recursively as an included config may itself include another config
render in execution order based on dependsOn to show the sequence top to bottom
probably expose as a new Resolve capability for Group and Adapter resources to implement

Proposed technical implementation details (optional)
No response

Does it make sense for resolve to also validate the configuration by default? Should the command have a flag for skipping/enforcing validation (depending on default behavior)?


WIP First pass at rebalancing producer.

Opening as a draft because there's one failing test that I'm not sure how to handle.

I'm closing this to reduce the noise while I'm working on the new idea. It might take awhile, but I do still plan on contributing this feature if nobody else gets to it first

It's a great addition and am happy to assist in getting it added. :)

Would you like me to open a PR reverting everything but those two things, so you're clear to cut 0.20.0-final if you think it's time but I haven't opened an alternative PR yet?

Yes, that would be great!

Side question: I see there are still some G[_] bounds floating in the non-transactional types. Would it make sense to replace them all with Chunk for consistency & efficiency?

Yes, sounds good.


Fixes a typo in the Workbox docs

Fixes #6496

Whoops!
There were 3 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/tools/workbox/guides/generate-complete-sw.md#L21 - Common typo found: 'node' Should it be 'Node'?
src/content/en/tools/workbox/guides/generate-complete-sw.md#L9 - Common typo found: 'Service Worker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/tools/workbox/guides/generate-complete-sw.md#L207 - Common typo found: 'behaviour' Should it be 'behavior'? Please use American spellings. See: https://developers.google.com/style/spelling

:tada: This has been pushed live to https://developers.google.com/web/


New aka.ms link

Url not found

The link https://aka.ms/(Merill23) is not a valid aka.ms link.

The link https://aka.ms/Merill23 is not a valid aka.ms link.

Thank you for submitting aka.ms/. Your link will soon be available on aka.cmd.ms. 🙏✅

The link https://aka.ms/ is not a valid aka.ms link.

The link https://aka.ms/ is not a valid aka.ms link.


Support output from unit tests (not just Cypress E2E tests) in test section of console

Is your feature request related to a problem? Please describe.
Currently the amplify console supports E2E tests with Cypress and can show the report and artifacts in a nice format within the test section of each build. Unfortunately there is not a way to show unit test results (from Jest for example) in this section. Even if you run your tests in this section, a non-zero exit code won't actually break the build and it will still deploy.
Describe the solution you'd like
Allow the test section to accept different, common report formats so that tests can be shown in the nice UI of the test section. Most test runners can output into common formats like junit reports so if the console can support 2-3 of these that would be great. Cypress seems to use the mochawesome format so perhaps some inbuilt converters into this format?
Additional context
Currently we have to place linting and unit tests during the build phase. Failing tests will break the build at least but you have to dive into the output to figure out which ones.

Thanks for your input! We've taken this as a feature request

Thanks for your input! We've taken this as a feature request

Thanks @kahdojay much appreciated.

I too support this feature request.
Having the CI step properly cover the unit tests is a key decision factor in staying with Amplify long-term.
Thank you!

a non-zero exit code won't actually break the build and it will still deploy.

Realized this today. Bummer.

+1 for this feature

a non-zero exit code won't actually break the build and it will still deploy.

spent few hours today to set up tests in test phase to realize that 🤦

Any news, about it?

Another important feature ignored.

Any updates?


files_count working on Windows

The files_count method requires wc which isn't available on Windows. Changed to return the number of lines from ruby.

Again sorry for the long delay, LGTM. Thank you for the fix!


[5.0] NSRange: fix init from region RangeExpression in target String

Cherry pick #1894 to swift-5.0-branch

@swift-ci test

Do I still need to do anything about this?

@swift-ci please test and merge


I-765 Page 4, part 3 Salvadoran or Guatemalan national eligible for (some benefit)

This is a checkbox we don't answer yet.
Probably need to ask this as a question, if they have any legal status in Guatemala including country of birth?

Need to ask Jane.

Matt is asking TRP. Update other issue with response

Jane said this does not need to be asked or filled in @aidanielson


Upgrade to mcli0.4, smaller mcli improvements

What does this PR do?
Upgrades to mcli 0.4.0
Small changes:

Uses root import instead of mcli.sdk (This is not required, but feels nicer 🙂)
Renames mcp to mcli
Removes mcli init --mcloud for CI testing - this is only user facing, not actually needed if api key env variable is set

What issue(s) does this change relate to?
Dependabot wants to update since we recently pushed 0.4.0 https://github.com/mosaicml/composer/pull/2220

@aspfohl can you please fix unit tests and then we'll merge?

Note: In the logger, we now do mcli.update_run_metadata so the unit test can actually monkeypatch it. Otherwise, it gets imported and we can't actually change it without something a lot more complicated (monkeypatching the body of the fn without changing the fn pointer, which is nasty)


Add Specifying Rails Version to Readme

When I tried to rebuild my database, I received an error saying that one should add the specific rails version to the migration file rather than ActiveRecord base class. I thought it would be convenient from a developer standpoint to have that right on the first page of the readme.

Hey @ZASMan thanks for the PR.  In the interest of keeping things user friendly, I'm thinking we could  add that version tag ourselves, similar to what we have in https://github.com/theSteveMitchell/after_party/blob/master/db/migrate/20130208204820_create_task_records.rb
Would that work?

refer to #43

Excellent, thanks for this!


Should use module request instead of loader config

I've had a problem similar to #207, which brings me to questioning react-toolbox assuming certain webpack configs such as css?modules.
Currently the way I've solved this is adding a line in my webpack.config.js just for react-toolbox
      { loader: 'style!css!sass', test: /\.scss$/, exclude: /react-toolbox/ },
      // react-toolbox assumes this config in order to work
      { loader: 'style!css?modules!sass', test: /\.scss$/, include: /react-toolbox/ },

The fact that users have to be aware that react-toolbox uses css-modules like this is a leaky abstraction. IMHO a more portable implementation will let user import <component> that just works without further config. Webpack has module request to provide this encapsulation but for some reason libraries still abuse the config.

Hi @sonhanguyen!
To my knowledge using css-modules and css-loader it's not the same thing. You can allow the user to require CSS files just with an import statement that resolves to nothing and the CSS will be bundled in the output. That solves one problem, but your CSS would not be scoped though. You would need to manually add string classNames to your rendered HTML.
In the README from css-loader you can see that to enable CSS Modules mode you need to pass modules option to the loader query string to enable the CSS Modules spec. So when we say React Toolbox uses css-modules we are speaking about the spec.
Also, you have to keep in mind that our components implement a className API that is based on CSS Modules. You can import components raw but you need to still provide a theme object with the appropriated classNames, just as css-modules import resolves to.
If we allow just to require a component bundling styles we are forcing everybody to use and configure CSS Modules. Currently there is no need to do it because you are free in import the component factory and inject an fake CSS Module with the className mapping you want.
But, of course, if you want to require and use a component with a single import you have to enable CSS Modules. Maybe I'm missing something but I don't see what would give module request over this.

I guess I didn't make my point clear enough. It IS great that react-toolbox uses css-modules, but to me it doesn't feel right when you change the default behavior. The default one is to have scoped style you need to explicitly use :local. With the modules option on, everything will be scoped.
For people have css-loader in their config and don't even know about css-modules or opt not to use it, or use :local when appropriate like I do, they have to either modify their webpack config like I did or change all their code to implicit :local and explicit :global.
However changing react-toolbox code to css-modules's default won't help since that would conflict with people who already have css?modules in their config.
I suggested module request because with it you can have the library loader queries independent from the consumer's config, that way users are not even required to have sass in their webpack setup.
Hope that makes sense.

Oh I see. The problem is that we would be coupled to webpack. Right now if your module can request a css module, react-toolbox would work. It doesn't matter if it's webpack or anything else. I don't know if that syntax is present in other module bundlers like JSPM. If so, it is not coupled to webpack and it would make sense I think

Thanks, I saw the issue regarding the !sass loader in jspm and assumed the syntax available. Couldn't find any regarding docs but now that I think about it, it seems not likely, especially in things like browserify or rollup.
How viable it is to change from import to require internally just for style, so that we can detect bundler and request accordingly?

I think that if we change from import to require we are missing some good parts that comes with ES6 imports. We are relying hardly on its implementation if you check how are dependencies exposed from the source files and index.js files. Of course we could change it but it also would be less verbose.
Anyway, I agree it would be could to configure automatically from the module request if we detect you are using webpack but that would also assume that you have already installed css-loader. Or, we can add css-loader as a peer dependency in the project which I don't like either because it requires a peer from webpack. It's not good for server side rendering either...
The most pragmatic solution in my opinion is to keep relying on user configuration. If you are more or less familiar with it, it shouldn't be difficult. Still be need to provide a better documentation to help people configuring webpack of whatever module bundler they are using. I'm closing this but feel free to reopen if you figure out a way that works better for you without too many side effects :)


Versions->doRollback causing SS_DatabaseException

When reverting or publishing reverted content I often get an error like the following:
INSERT INTO "Page_versions"
 ("MetaKeywords", "RecordID", "Version")
 VALUES
 (?, ?, ?, ?, ?)

Duplicate entry '35-36' for key 'RecordID_Version'

To me this suggests that a new version is being written with an already existing version number.
This is with Framework v3.2.1. I have no problem investigating the issue further, but wondered if anyone could shed any light on potential causes/previous experience with a similar issue?

Have you tried framework 3.2.3?

Possibly fixed with https://github.com/silverstripe/silverstripe-framework/pull/5074

Will give it a try now.

@charles-ritchie did it work?

I have done a fair bit of testing over the weekend and so far this seems to fix the issue.
I will run a few more tests, to check how reversion of content works with the workflow module (as there were issues in the past) and get back to you by this afternoon.

Thanks. Please close the issue if you're happy.

After the move to 3.2.3, I cannot replicate the problematic behaviour. Cheers guys.

Yeah, that fix was hard to close... glad it isn't coming back for more!


experiment: avoid double deserialization + deserialize arrays

Do not merge
Implements deserialization of queryRaw results serialized as arrays instead of objects.
QE related PR: https://github.com/prisma/prisma-engines/pull/4928

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


From the git doc on submodules:
"It often happens that while working on one project, you need to use another project from within it. Perhaps it’s a library that a third party developed or that you’re developing separately and using in multiple parent projects. A common issue arises in these scenarios: you want to be able to treat the two projects as separate yet still be able to use one from within the other."
The php project meets none in the criteria. It is a requirement of the project, but should not be part of its own repo due too it being an integral part of pomf which cannot be replaced (atm)

Technically it can be replaced and most certainly has been in a number of cases.
It separates the frontend and the backend so if someone wants to write a different implementation of pomf they can use the frotend with no bull.

If someone is going through the trouble of rewriting a backend for pomf, odds are they're not going to bother compiling pomf just for its front-end. Just merge them already. It's a part of pomf integrally and only serves to cause confusion when cloning.

resolved in https://github.com/pomf/pomf/commit/b4fc2f892b877fe0cfb90063248d720bf87b49c8


export default?

@MarcL I'm attempting to call a function in bot.js from another module, it's for the search part of the bot.
I can call the function from withing the bot.js module but when I try move it out into it;s own module and then import to the bot I get an error saying it's not a function, here's a quick overview:
Working
bot.js
import Twiter from 'twitter'
import config from './config'
import {
  getFunName,
  rando
} from './helpers/helpers'
import params from './helpers/parameters'

const client = new Twiter(config.twitter)

const tweetNow = async (txt) => {
  try {
    await client.post('statuses/update', { status: txt })
    console.log(txt)
  } catch (err) {
    console.log(err)
  }
}

// tweetNow(getFunName())

// setInterval(() => tweetNow(getFunName()), 1000 * 60 * 2)

const searchResult = async () => {
  let res
  try {
    res = await client.get('search/tweets', params)
    // const randoUser = rando(res.data.statuses).user.scree_name
    // console.log('rando user = ', randoUser)
  } catch (err) {
    console.log('error = ', err)
  }

  // console.log(JSON.stringify(res))
  console.log(rando(res.statuses).user.screen_name)
  console.log(rando(res.statuses).text)
  console.log(rando(res.statuses).id_str)
}

searchResult()

setInterval(() => searchResult(), 1000 * 60 * 2)

tweetNow(getFunName()) and setInterval(() => which are commented out work I'm just concentrating on setting a search working using the same structure so I can them move it out to another module when finished.
Some terminal output from the above code:

Not working an attempt to make things modular
bot.js
import Twiter from 'twitter'
import config from './config'
import {
  getFunName,
} from './helpers/helpers'
import { searchResult } from './helpers/search'

const client = new Twiter(config.twitter)

const tweetNow = async (txt) => {
  try {
    await client.post('statuses/update', { status: txt })
    console.log(txt)
  } catch (err) {
    console.log(err)
  }
}

// tweetNow(getFunName())

// setInterval(() => tweetNow(getFunName()), 1000 * 60 * 2)

searchResult()

setInterval(() => searchResult(), 1000 * 5)

search.js
import Twiter from 'twitter'
import config from '../config'
import {
  rando
} from './helpers'
import params from './parameters'

const client = new Twiter(config.twitter)

const searchResult = async () => {
  let res
  try {
    res = await client.get('search/tweets', params)
    // const randoUser = rando(res.data.statuses).user.scree_name
    // console.log('rando user = ', randoUser)
  } catch (err) {
    console.log('error = ', err)
  }

  // console.log(JSON.stringify(res))
  console.log(rando(res.statuses).user.screen_name)
  console.log(rando(res.statuses).text)
  console.log(rando(res.statuses).id_str)
}

export default searchResult()

Terminal output from the above code:

So I can use it in bot.js as a function but when I try abstract it out into it's own module it's a no?
Do you have any idea what I'm doing wrong?

You've defined searchResult as a function:
const searchResult = async () => {

But then you're actually executing the function and returning the result of it:
export default searchResult()

Your function doesn't currently return anything so it will return undefined by default. You're then attempting to call undefined as a function, which it's obviously not.
You should just be exporting the function so that you can call it from outside of the module:
export default searchResult;

^ Note: no () after it.
Shout if it's still not clear.

Hey @MarcL, I should have mentioned that I also tried to remove the parenthesis in search.js with the same error before posting this.

I thought it may have been something to do with Babel being a dev dependency not instead of a dependency, I then added the two require into index.js:
require('babel-register')
require('babel-polyfill')

looking at the error message TypeError: (0 , _search.searchResult) is not a function the underscore part is from Babel transpiling it for ES5 syntax correct?
TypeError: (0 , _search.searchResult) is not a function
    at Object.<anonymous> (C:/Users/spenc/gitrepos/twitter-bot-bootstrap/src/bot.js:48:1)
    at Module._compile (module.js:571:32)
    at loader (C:\Users\spenc\gitrepos\twitter-bot-bootstrap\node_modules\babel-register\lib\node.js:144:5)
    at Object.require.extensions.(anonymous function) [as .js] (C:\Users\spenc\gitrepos\twitter-bot-bootstrap\node_modules\babel-register\lib\node.js:154:7)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (C:/Users/spenc/gitrepos/twitter-bot-bootstrap/src/index.js:3:1)

I'm wondering if I have Babel set up incorrectly I'm confused, because it couldn't possibly be my code, right 😏

Ok no problem. Just relooked.
No, you've not set Babel up incorrectly. You're not quite using import/export correctly.
You've exported searchResult as a default:
export default searchResult; // Definitely without parentheses :)

But then you're importing as a named import:
import {searchResult} from './helpers/search';

But the export means that you're exporting an object with a default property which you'd have to import like this:
import searchResult from './helpers/search'; // No curly brackets

To use the import in the way you currently have it, you'd have to export it named like this:
export {
    searchResult
};

You normally do this when you have multiple functions to export, e.g.
function searchResult() {}
function tweetFunction() {}
function anotherFunction() {}

export {
     searchResult,
     tweetFunction,
     anotherFunction,
};

Make sense?
Imports and export with ES6 are sometimes confusing!

I was right, it wasn't my code at all 😄
jk! I had Babel pointing to the wrong file!! 😅
My dev script
"dev": "nodemon --exec babel-node src/index.js jest --coverage",

Well actually take a look at the git diff on the package.json

Moved all the things!!
Thanks for all your help @MarcL just being able to bounce Ideas off of you has helped me a ton 💯 🥇 👍
Oh, also, check this out:
search.js

^^ as a named export, it works but ESLint doesn't like it, so try as default export? Ok lets try that..
Nope!
Ok, what about as default and as a named export??

Sure that will work just fine...

wtf?
As you can clearly see I really have no idea what I'm doing 😕 😄

OMG!
Thanks for this @MarcL !!
https://github.com/spences10/twitter-bot-bootstrap/issues/37#issuecomment-293812053
Thing is I was just watching the Wes Bos ES6 course on this!!
Ok, changed the import, so it's the default and got rid of the export on searchResult all good now
Thanks again, really appreciate it

No problem. Happy to help.
I can't tell why the exports don't work without seeing the subsequent import I'm afraid.
Depends on the config but ESLint will probably tell you to use default export if you only export one function. See AirBnB ESLint module rules for some info.

Ah - didn't realise you hadn't seen my reply after replying to your additional comment.

I can't tell why the exports don't work without seeing the subsequent import I'm afraid.

It's because I wasn't importing it into bot.js correctly, I removed the curly braces from the import in bot.js as it was a default export and not a named one, then all is good.
This is a pretty big milestone for me @MarcL as I was struggling for weeks on this with that node module testing repo that you kindly had a look at for me all those weeks ago.

No problem. Always happy to help.
For testing your understanding of ES6/JS/modules in general, it might be easier to just to create a simple repo with import / export of simple functions to see how it works. I worry that you're getting bogged down with JS toolchains which can confuse the issue. Just export the classic calculator functions (function add(), function subtract() etc). You'll be able to get simple testing working too.
If you run a later version of node (> 6.4 I think) then you'll have 95% of ES6 functionality so you can avoid the transpile step with Babel. I'd also ignore things like Travis and snyk until you really need them. Otherwise you're adding more complication and more potential for pitfalls.
Have you seen this set of egghead.io videos from Trevor Miller?
Shows a really basic NPM module set up and I think he works through each step really clearly.
https://egghead.io/courses/publish-javascript-packages-on-npm

I worry that you're getting bogged down with JS toolchains which can confuse the issue.

@MarcL completely agree with you, I spent a couple of hours just setting up the tooling alone 😲 I think I set up Travis as part of the commitizen setup, gotta love those wizards 😄
I thought it best that I get familiar with working with all of the tooling needed as a real world example, building this bot, the current production one taught me a lot but I'll take your advice and do the basics. Typical me trying to run before I can walk!
I'll take a look at the videos, many thanks, really like egghead.io as a resource

Closed with c28e902fbdd9af1929ab1f087a9b6107f1af5ef5


Feature Request: Traders and json?

Ayo i have two questions:

Can traders be included into this?
Can this work on Json files?

thanks for updating this

JSON support has been added in v1.0.2. Should be updated on the marketplace.
I'll look into traders soon. Thanks for the suggestions!

Resolved in v1.1.0


HubSpot Forms updates for Umbraco 10; Fix unit tests.

Upgraded package for Umbraco 10.
Updated unit tests.

Updated.


Label artifact left behind on refresh

Grafana 4.4.3
Bubblechart 1.0.0
Chrome 61 and IE 11 tested
To reproduce, start with a fresh graph.
Hover over a bubble - the label appears with the value.
Let the graph auto refresh while hovering and after refresh, move the mouse to another bubble.
The first label remains and a new label appears for the new selected bubble.
In addition, going to another dashboard still leaves the artifact behind.

Thanks, @gibsonc for reporting the issue. I will try to fix this in next release.


How to use BMInf to inference 100000.tar 11B model?

I install bminf from docker just like:
docker run -it --gpus 1 -v ${100000_MODEL_FILE_PATH}:/root/.cache/bigmodels --rm openbmb/bminf python3 examples/fill_blank.py

Where 100000_MODEL_FILE_PATH containers 4 .pt files in my localhost. However, I got the following error
Loading model
Failed to connect to the source server
Traceback (most recent call last):
  File "examples/fill_blank.py", line 29, in <module>
    main()
  File "examples/fill_blank.py", line 24, in main
    cpm2 = bminf.models.CPM2()
  File "/usr/local/lib/python3.6/dist-packages/bminf/models/cpm2.py", line 60, in __init__
    super().__init__(config)
  File "/usr/local/lib/python3.6/dist-packages/bminf/arch/t5/model.py", line 72, in __init__
    model_path = data.ensure_file(config.MODEL_NAME, "checkpoint.pt")
  File "/usr/local/lib/python3.6/dist-packages/bminf/data/__init__.py", line 49, in ensure_file
    raise ConnectionError("Failed to connect to the source server")
ConnectionError: Failed to connect to the source server

I found that bminf/arch/t5/model.py required only one checkpoint.pt file, and vocab.txt file? So how to load the 4 splited model files.

This issue is moved to CPM-2-Pretrain