Remove byte, half and word vector loads and stores (vlb.v etc.)

Vector loads and stores with element width should be sufficient for most use cases and have higher performance, i.e. if wider register file ports are not used for vector loads and stores
For example, if two byte vectors need to be added to produce a 16-bit element vector, then it would be faster to use two vle.v instructions and widening add.
Of course, there are corner cases in which widening loads are useful but it's not a good idea to complicate ISA unless there are compelling common case uses.
It's not clear if there is a use case for truncating vector stores - it makes more sense to do narrowing or saturating operations instead.

Discussion so far:
From minutes 20200129:
Proposal:
to drop the fixed-size vector load/store
instructions, leaving only the SEW-sized load/store instructions.
Dropping these instructions would save considerable complexity in
memory pipelines. However, dropping support would also require
execution of additional instructions in some common cases.  A remedy
would be to add more widening or quad-widening (quadening) compute
instructions to reduce this impact.
The current design uses
constant SEW/LMUL ratios to align data types of different element
widths.  If only SEW-sized load/stores were available, then a
computation using a mixture of element widths would have to use larger
LMUL for larger SEW values, which effectively reduces the number of
available registers and so increases register pressure.  The fixed
width load/stores allow, e.g., a byte to be loaded into a vector
register with four-byte width with LMUL=1 so avoids this issue.
From minutes 20200129:
Discussion covered the new proposal to provide a fractional LMUL to
avoid one drawback of dropping these memory operations.  The general
consensus was in favor, as the scheme also aids mixed-width
floating-point arithmetic (for which there is no equivalent to the
widening/narrowing load/stores).  The proposal requires adding a new
bit to LMUL in vtype, so that a new instruction will not be required.

I think we need to add a related topic to this discussion.
Currently, the only way to change data layout in the register file, is by
using back-to-back vload/vstore instructions. That is, if you wish to
change the SEW/LMUL ratio, the previous data needs to be rearranged to
match the new ratio. (At least, I can't figure out a way to do this without
going through the memory system.)
I think we need a new vector move instruction that is like a typecast,
converting from one vtype to another. When the SEW/LMUL ratio changes, this
is a data move. When the ratio is the same, it is a NOP. The destination
vtype would be the current CSR vtype; the source vtype could be specified
in the same way as vsetvl{i}.
How is this related to removal of byte/half/word loads/stores? Because
back-to-back vload/vstores can also be used to change element sizes, which
the new vector move would also support (eg zero/sign extending or
truncating).
Guy
On Thu, Feb 13, 2020 at 1:53 PM David-Horner<EMAIL_ADDRESS>wrote:

Discussion so far:
From minutes 20200129:
Proposal:
to drop the fixed-size vector load/store
instructions, leaving only the SEW-sized load/store instructions.
Dropping these instructions would save considerable complexity in
memory pipelines. However, dropping support would also require
execution of additional instructions in some common cases. A remedy
would be to add more widening or quad-widening (quadening) compute
instructions to reduce this impact.
The current design uses
constant SEW/LMUL ratios to align data types of different element
widths. If only SEW-sized load/stores were available, then a
computation using a mixture of element widths would have to use larger
LMUL for larger SEW values, which effectively reduces the number of
available registers and so increases register pressure. The fixed
width load/stores allow, e.g., a byte to be loaded into a vector
register with four-byte width with LMUL=1 so avoids this issue.
From minutes 20200129:
Discussion covered the new proposal to provide a fractional LMUL to
avoid one drawback of dropping these memory operations. The general
consensus was in favor, as the scheme also aids mixed-width
floating-point arithmetic (for which there is no equivalent to the
widening/narrowing load/stores). The proposal requires adding a new
bit to LMUL in vtype, so that a new instruction will not be required.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/riscv/riscv-v-spec/issues/362?email_source=notifications&email_token=ABMAPWNRBXWEXT4ZQ6UA7MDRCW6OJA5CNFSM4KGYR7Z2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELWYACA#issuecomment-585990152,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABMAPWKWQ3H47IOWVF3GVULRCW6OJANCNFSM4KGYR7ZQ
.

I was struggling with a related (and perhaps the same issue) of splitting one LMUL register set into two with the same SEW but LMUL = (original LMUL) /2
This can be done by a vstore of the full register group and 2 consecutive (in memory) vloads at 1/2 the LMUL all with the same SEW.
However, I was wanting to avoid the memory references.
So what I came up with is successive vshift and vor. It's ugly.
If there is something better that is efficient, great.
If not specific hardware assist sounds useful for the case I was considering.
I think amalgamating 2 LMUL register groups into a single LMUL2 might be simpler, but I haven't worked through that yet.

David,  not only is the code that does not depend upon vload/vstore ugly,
but I believe it is very difficult to generalize for all possible SLEN
values. My proposal allows creation of portable software that does not
depend upon SLEN settings and does not require use of the cache or memory
system.
Adding a vmove that does typecast/data conversion instruction comes mostly
for free.
If actually doing a move (source/dest differ), you can just use the
provided vtype to control the address generator/control logic for the
associated register read port. That hardware already exists, you are merely
activating it, and it gets rewritten to the correct destination in the
correct format.
If the data doesn’t move (section/dest the same), you may be able to attach
the vtype property to the register / register group so it gets activated
every time that register/register group is read from, up until the point it
is redefined. This would require new dedicated logic, but it is only for
high performance / low power implementations.
There may be increased cost when width conversion and sign/zero extension
or truncation are done at the same time. I think most of this hardware
already exists in the data path for widening and narrowing instructions,
but it also needs to be activated. I haven’t thought this part through as
thoroughly.
Guy
On Thu, Feb 13, 2020 at 3:43 PM David-Horner<EMAIL_ADDRESS>wrote:

I was struggling with a related (and perhaps the same issue) of splitting
one LMUL register set into two with the same SEW but LMUL = (original LMUL)
/2
This can be done by a vstore of the full register group and 2 consecutive
(in memory) vloads at 1/2 the LMUL all with the same SEW.
However, I was wanting to avoid the memory references.
So what I came up with is successive vshift and vor. It's ugly.
If there is something better that is efficient, great.
If not specific hardware assist sounds useful for the case I was
considering.
I think amalgamating 2 LMUL register groups into a single LMUL2 might be
simpler, but I haven't worked through that yet.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/riscv/riscv-v-spec/issues/362?email_source=notifications&email_token=ABMAPWJUFAHJCVJ2WRTDG23RCXLJ7A5CNFSM4KGYR7Z2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELXA6OA#issuecomment-586026808,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABMAPWK72CGVKBZ6SGYL6DTRCXLJ7ANCNFSM4KGYR7ZQ
.

Actually, I take back the mostly free statement. I don’t think it’s true —
data needs to move across lanes, and since we are changing SEW/LMUL that
isn’t required by any other operation, the hardware will have to be newly
added.
I was mistakenly thinking only about data size
conversions with constant SEW/LMUL.
Guy
On Thu, Feb 13, 2020 at 4:01 PM Guy Lemieux<EMAIL_ADDRESS>wrote:

David,  not only is the code that does not depend upon vload/vstore ugly,
but I believe it is very difficult to generalize for all possible SLEN
values. My proposal allows creation of portable software that does not
depend upon SLEN settings and does not require use of the cache or memory
system.
Adding a vmove that does typecast/data conversion instruction comes mostly
for free.
If actually doing a move (source/dest differ), you can just use the
provided vtype to control the address generator/control logic for the
associated register read port. That hardware already exists, you are merely
activating it, and it gets rewritten to the correct destination in the
correct format.
If the data doesn’t move (section/dest the same), you may be able to
attach the vtype property to the register / register group so it gets
activated every time that register/register group is read from, up until
the point it is redefined. This would require new dedicated logic, but it
is only for high performance / low power implementations.
There may be increased cost when width conversion and sign/zero extension
or truncation are done at the same time. I think most of this hardware
already exists in the data path for widening and narrowing instructions,
but it also needs to be activated. I haven’t thought this part through as
thoroughly.
Guy
On Thu, Feb 13, 2020 at 3:43 PM David-Horner<EMAIL_ADDRESS>wrote:

I was struggling with a related (and perhaps the same issue) of splitting
one LMUL register set into two with the same SEW but LMUL = (original LMUL)
/2
This can be done by a vstore of the full register group and 2 consecutive
(in memory) vloads at 1/2 the LMUL all with the same SEW.
However, I was wanting to avoid the memory references.
So what I came up with is successive vshift and vor. It's ugly.
If there is something better that is efficient, great.
If not specific hardware assist sounds useful for the case I was
considering.
I think amalgamating 2 LMUL register groups into a single LMUL2 might be
simpler, but I haven't worked through that yet.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/riscv/riscv-v-spec/issues/362?email_source=notifications&email_token=ABMAPWJUFAHJCVJ2WRTDG23RCXLJ7A5CNFSM4KGYR7Z2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELXA6OA#issuecomment-586026808,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABMAPWK72CGVKBZ6SGYL6DTRCXLJ7ANCNFSM4KGYR7ZQ
.

This might work using vrgather, but the permutation pattern needs to be
defined and it gets more complicated when register groups are used.
Should this be fractured out as a separate (but related?) issue in github?
Guy
On Thu, Feb 13, 2020 at 4:07 PM Guy Lemieux<EMAIL_ADDRESS>wrote:

Actually, I take back the mostly free statement. I don’t think it’s true —
data needs to move across lanes, and since we are changing SEW/LMUL that
isn’t required by any other operation, the hardware will have to be newly
added.
I was mistakenly thinking only about data size
conversions with constant SEW/LMUL.
Guy
On Thu, Feb 13, 2020 at 4:01 PM Guy Lemieux<EMAIL_ADDRESS>wrote:

David,  not only is the code that does not depend upon vload/vstore ugly,
but I believe it is very difficult to generalize for all possible SLEN
values. My proposal allows creation of portable software that does not
depend upon SLEN settings and does not require use of the cache or memory
system.
Adding a vmove that does typecast/data conversion instruction comes
mostly for free.
If actually doing a move (source/dest differ), you can just use the
provided vtype to control the address generator/control logic for the
associated register read port. That hardware already exists, you are merely
activating it, and it gets rewritten to the correct destination in the
correct format.
If the data doesn’t move (section/dest the same), you may be able to
attach the vtype property to the register / register group so it gets
activated every time that register/register group is read from, up until
the point it is redefined. This would require new dedicated logic, but it
is only for high performance / low power implementations.
There may be increased cost when width conversion and sign/zero extension
or truncation are done at the same time. I think most of this hardware
already exists in the data path for widening and narrowing instructions,
but it also needs to be activated. I haven’t thought this part through as
thoroughly.
Guy
On Thu, Feb 13, 2020 at 3:43 PM David-Horner<EMAIL_ADDRESS>wrote:

I was struggling with a related (and perhaps the same issue) of
splitting one LMUL register set into two with the same SEW but LMUL =
(original LMUL) /2
This can be done by a vstore of the full register group and 2
consecutive (in memory) vloads at 1/2 the LMUL all with the same SEW.
However, I was wanting to avoid the memory references.
So what I came up with is successive vshift and vor. It's ugly.
If there is something better that is efficient, great.
If not specific hardware assist sounds useful for the case I was
considering.
I think amalgamating 2 LMUL register groups into a single LMUL2 might be
simpler, but I haven't worked through that yet.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/riscv/riscv-v-spec/issues/362?email_source=notifications&email_token=ABMAPWJUFAHJCVJ2WRTDG23RCXLJ7A5CNFSM4KGYR7Z2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELXA6OA#issuecomment-586026808,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABMAPWK72CGVKBZ6SGYL6DTRCXLJ7ANCNFSM4KGYR7ZQ
.

I believe there are a number of ideas that are converging to make the much superior combined product motivated by the removal of fixed width load/stores.
Fractional LMUL and the lmul calculation extension I proposed #376 as an example.
The thread you started here is relevant to this discussion.
And as you mention it is relevant to other tasks/considerations as well.
However, I don't know how to encapsulate the issue, there are dimensions that I haven't worked through yet.
If you make a separate issue for this I will contribute there.

I offered to share some real code that was mixed integer & floating point that would be impacted by the loss of these instructions. Below are 2 versions of the inner loop one where byte loads are used and another where only SEW loads are available. The additional instructions in the inner and enclosing loop contribute negligible incremental overhead. (Loop has been coded with GNU Extended ASM.)
With vlb, the relevant code looks like:
asm volatile ("vlb.v v0, (%[addr])\n\t" :: [addr] "r" (vec[index]) : );
asm volatile ("vadd.vx v0, v0, %[offset]\n\t" :: [offset] "r" (u) );
asm volatile ("vfcvt.f.x.v v0, v0\n\t");
Without vlb, the code looks like this:
asm volatile ("vsetvli x0, %[vec_len], e8, m2\n\t" : : [vec_len] "r" (VEC_LEN) : );
asm volatile ("vle.v v0, (%[addr])\n\t" :: [addr] "r" (vec[index]) : );
asm volatile ("vwcvt.x.x.v v4, v0\n\t");
asm volatile ("vsetvli x0, %[vec_len], e16, m4\n\t" : : [vec_len] "r" (VEC_LEN) : );
asm volatile ("vwcvt.x.x.v v16, v4\n\t");
asm volatile ("vsetvli x0, %[vec_len], e32, m8\n\t" : : [vec_len] "r" (VEC_LEN) : );
asm volatile ("vadd.vx v16, v16, %[offset]\n\t" :: [offset] "r" (u) );
asm volatile ("vfcvt.f.x.v v16, v16\n\t");
asm volatile ("vfmacc.vf v24, %[scale], v16\n\t" :: [scale] "f" (v));
The inner loop goes from about 10 instructions to about 15.

Repeating from the mailing list: the important thing is the number of cycles it takes to execute some code sequence on the vector HW, not the number of instructions.
Even in simple single-issue vector core it is often possible to execute vsetvli with zero impact on the total number of cycles (I am talking about simulation of synthesizable RTL). For dual or multi-issue core it is even more likely.
Let's assume there are 2 vector pipelines: memory and arithmetic. They can operate independently and can be chained with some cycle overhead.
Let's assume vle8.v occupies the memory pipeline for N cycles (where N >= 8 for large VL/LMUL), chaining overhead is 4 cycles, and vlb.v with extension occupies the memory pipeline for 4N cycles.
Original code with vlb.v with extension:
vlb.v     4N
vadd      4
vfcvt     4N
vfmacc    4N

Total 12N + 4
With vle8.v (@kasanovic proposal) and quad widening vector add:
vle8.v    N
vsetvli   0  (b/c the next instruction cannot be started immediately)
vwadd     4
vsetvli   0  (b/c arithmetic pipeline is still occupied)
vfcvt     4N
vfmacc    4N

Total 9N + 4

Of course, the above examples of cycle calculations are for single iteration of the loop.
Loop(s) with software pipelining can have lower cycle cost, e.g.: reduce cost of chaining to zero.


How to resume training with horovod spark keras?

I have followed the example of Horovod Spark Estimator Keras notebook: https://learn.microsoft.com/en-us/azure/databricks/_extras/notebooks/source/deep-learning/horovod-spark-estimator-keras.html
Everything works fine. But it doesn't mention how to restore the model or KerasEstimator from the checkpoint to resume training if people are not happy with current results. I have checked all the resources from horovod API https://horovod.readthedocs.io/en/latest/api.html#. But no useful information found.
Here is what I have tried:
checkpoint = ModelCheckpoint(work_dir + '/runs/'+run_id+'/checkpoint.tf', monitor='loss')
callbacks_list = [checkpoint]
keras_estimator = hvd.KerasEstimator(
  num_proc=num_proc,
  store=storeCon,
  model=model,
  optimizer=optimizer,
  loss=loss,
  metrics=['mse'],
  feature_cols=['description'],
  label_cols=['label'],
  batch_size=batch_size,
  epochs=epochs,
  verbose=0,
 callbacks=callbacks_list)

keras_model = keras_estimator.fit(train_df).setOutputCols(['predict'])
But I got this error:
[1,0]<stderr>:2023-10-25 15:45:52.693371: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX2 AVX512F AVX512_VNNI FMA
[1,0]<stderr>:To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
[1,1]<stderr>:2023-10-25 15:45:52.693371: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX2 AVX512F AVX512_VNNI FMA
[1,1]<stderr>:To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
[1,0]<stderr>:2023-10-25 15:45:52.859643: I tensorflow/core/util/port.cc:104] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.
[1,1]<stderr>:2023-10-25 15:45:52.859642: I tensorflow/core/util/port.cc:104] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.
[1,1]<stderr>:2023-10-25 15:45:52.918050: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/lib:/usr/local/lib:
[1,1]<stderr>:2023-10-25 15:45:52.918081: I tensorflow/compiler/xla/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
[1,0]<stderr>:2023-10-25 15:45:52.921956: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/lib:/usr/local/lib:
[1,0]<stderr>:2023-10-25 15:45:52.921983: I tensorflow/compiler/xla/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
[1,1]<stderr>:2023-10-25 15:45:53.775935: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/lib:/usr/local/lib:
[1,0]<stderr>:2023-10-25 15:45:53.782831: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/lib:/usr/local/lib:
[1,1]<stderr>:2023-10-25 15:45:53.833283: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer_plugin.so.7'; dlerror: libnvinfer_plugin.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/lib:/usr/local/lib:
[1,1]<stderr>:2023-10-25 15:45:53.833313: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.
[1,0]<stderr>:2023-10-25 15:45:53.841841: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer_plugin.so.7'; dlerror: libnvinfer_plugin.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/lib:/usr/local/lib:
[1,0]<stderr>:2023-10-25 15:45:53.841874: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.
[1,0]<stderr>:2023-10-25 15:45:55.508106: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/lib:/usr/local/lib:
[1,0]<stderr>:2023-10-25 15:45:55.508147: W tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:265] failed call to cuInit: UNKNOWN ERROR (303)
[1,0]<stderr>:2023-10-25 15:45:55.508168: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (0828-195106-3fr7yeq8-10-125-12-137): /proc/driver/nvidia/version does not exist
[1,1]<stderr>:2023-10-25 15:45:55.510473: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/lib:/usr/local/lib:
[1,1]<stderr>:2023-10-25 15:45:55.510504: W tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:265] failed call to cuInit: UNKNOWN ERROR (303)
[1,1]<stderr>:2023-10-25 15:45:55.510524: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (0828-195106-3fr7yeq8-10-125-12-137): /proc/driver/nvidia/version does not exist
[1,0]<stderr>:2023-10-25 15:45:55.516080: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX2 AVX512F AVX512_VNNI FMA
[1,0]<stderr>:To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
[1,1]<stderr>:2023-10-25 15:45:55.518183: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX2 AVX512F AVX512_VNNI FMA
[1,1]<stderr>:To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
[1,1]<stderr>:/databricks/python/lib/python3.9/site-packages/petastorm/fs_utils.py:88: FutureWarning: pyarrow.localfs is deprecated as of 2.0.0, please use pyarrow.fs.LocalFileSystem instead.
[1,1]<stderr>:  self._filesystem = pyarrow.localfs
[1,0]<stderr>:/databricks/python/lib/python3.9/site-packages/petastorm/fs_utils.py:88: FutureWarning: pyarrow.localfs is deprecated as of 2.0.0, please use pyarrow.fs.LocalFileSystem instead.
[1,0]<stderr>:  self._filesystem = pyarrow.localfs
[1,0]<stderr>:WARNING:tensorflow:From /databricks/python/lib/python3.9/site-packages/horovod/spark/keras/util.py:71: unbatch (from tensorflow.python.data.experimental.ops.batching) is deprecated and will be removed in a future version.
[1,0]<stderr>:Instructions for updating:
[1,0]<stderr>:Use `tf.data.Dataset.unbatch()`.
[1,1]<stderr>:WARNING:tensorflow:From /databricks/python/lib/python3.9/site-packages/horovod/spark/keras/util.py:71: unbatch (from tensorflow.python.data.experimental.ops.batching) is deprecated and will be removed in a future version.
[1,1]<stderr>:Instructions for updating:
[1,1]<stderr>:Use `tf.data.Dataset.unbatch()`.
[1,1]<stderr>:WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0013s vs `on_train_batch_end` time: 0.0428s). Check your callbacks.
[1,0]<stderr>:WARNING:tensorflow:Callback method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0023s vs `on_train_batch_end` time: 0.0991s). Check your callbacks.
[1,1]<stderr>:/databricks/python/lib/python3.9/site-packages/petastorm/tf_utils.py:378: UserWarning: Running multiple iterations over make_petastorm_dataset is not recommend for performance issue. Use Reader's num_epochs contructor arguments to set number of iterations,or use tf.data.Dataset's cache() function to cache data of first iteration beforecalling 'repeat' method of Datset class.
[1,1]<stderr>:  warnings.warn(_RESET_READER_WARN, category=UserWarning)
[1,0]<stderr>:/databricks/python/lib/python3.9/site-packages/petastorm/tf_utils.py:378: UserWarning: Running multiple iterations over make_petastorm_dataset is not recommend for performance issue. Use Reader's num_epochs contructor arguments to set number of iterations,or use tf.data.Dataset's cache() function to cache data of first iteration beforecalling 'repeat' method of Datset class.
[1,0]<stderr>:  warnings.warn(_RESET_READER_WARN, category=UserWarning)
[1,0]<stderr>:2023-10-25 15:46:50.671958: W tensorflow/core/framework/op_kernel.cc:1830] OP_REQUIRES failed at save_restore_v2_ops.cc:284 : NOT_FOUND: /dbfs/horovod_spark_estimator/b2691623-bc61-45f0-b0d3-c08d147d1291/runs/keras_1698166317/checkpoint.tf/variables/variables_temp/part-00000-of-00001.data-00000-of-00001; No such file or directory
[1,0]<stderr>:Traceback (most recent call last):
[1,0]<stderr>:  File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main
[1,0]<stderr>:    return _run_code(code, main_globals, None,
[1,0]<stderr>:  File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
[1,0]<stderr>:    exec(code, run_globals)
[1,0]<stderr>:  File "/databricks/python/lib/python3.9/site-packages/horovod/spark/task/mpirun_exec_fn.py", line 52, in <module>
[1,0]<stderr>:    main(codec.loads_base64(sys.argv[1]), codec.loads_base64(sys.argv[2]))
[1,0]<stderr>:  File "/databricks/python/lib/python3.9/site-packages/horovod/spark/task/mpirun_exec_fn.py", line 45, in main
[1,0]<stderr>:    task_exec(driver_addresses, settings, 'OMPI_COMM_WORLD_RANK', 'OMPI_COMM_WORLD_LOCAL_RANK')
[1,0]<stderr>:  File "/databricks/python/lib/python3.9/site-packages/horovod/spark/task/__init__.py", line 61, in task_exec
[1,0]<stderr>:    result = fn(*args, **kwargs)
[1,0]<stderr>:  File "/databricks/python/lib/python3.9/site-packages/horovod/spark/keras/remote.py", line 263, in train
[1,0]<stderr>:    history = fit(model, dm, steps_per_epoch,
[1,0]<stderr>:  File "/databricks/python/lib/python3.9/site-packages/horovod/spark/keras/util.py", line 41, in fn
[1,0]<stderr>:    return model.fit(dm.train_data(),
[1,0]<stderr>:  File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-9c693e0f-b633-4b2d-bc74-15b6e705c45c/lib/python3.9/site-packages/keras/utils/traceback_utils.py", line 70, in error_handler
[1,0]<stderr>:    raise e.with_traceback(filtered_tb) from None
[1,0]<stderr>:  File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-9c693e0f-b633-4b2d-bc74-15b6e705c45c/lib/python3.9/site-packages/tensorflow/python/eager/execute.py", line 52, in quick_execute
[1,0]<stderr>:    tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,
[1,0]<stderr>:tensorflow.python.framework.errors_impl[1,0]<stderr>:.NotFoundError: {{function_node __wrapped__MergeV2Checkpoints_device_/job:localhost/replica:0/task:0/device:CPU:0}} /dbfs/horovod_spark_estimator/b2691623-bc61-45f0-b0d3-c08d147d1291/runs/keras_1698166317/checkpoint.tf/variables/variables_temp/part-00000-of-00001.data-00000-of-00001; No such file or directory [Op:MergeV2Checkpoints]
[1,0]<stderr>:2023-10-25 15:46:50.817589: W tensorflow/core/kernels/data/generator_dataset_op.cc:108] Error occurred when finalizing GeneratorDataset iterator: FAILED_PRECONDITION: Python interpreter state is not initialized. The process may be terminated.

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

ID: 6d82289f-bcb4-6b3c-b774-3d610a22b907
Version Independent ID: 6d82289f-bcb4-6b3c-b774-3d610a22b907
Content: horovod.spark: distributed deep learning with Horovod - Azure Databricks
Content Source: databricks/machine-learning/train-model/distributed-training/horovod-spark.md
Service: azure-databricks
GitHub Login: @mssaperla
Microsoft Alias: saperla

@VAFSCLiX
Thanks for your feedback! We will investigate and update as appropriate.


Regrowth, a tile that should be permament winter always reports as spring

IMPORTANT: Please first search existing bugs to ensure you are not creating a duplicate bug report!
Describe the bug  When Regrowth and RT are loaded.
On a tile whose season should be permanent winter, it seems to be stuck on Spring for me.
Steps to reproduce the behavior (VERY IMPORTANT)

Create a game with 100% coverage on a very cold map
Create a new colony near the north pole, mine was mountainous ice sheet, mine was -11-110f
Instead of reporting permanent winter, the season locks in at Spring.
Remove RT, game reports permanent winter.

Error Log
https://gist.github.com/3f18833a2c710e75d16297eacf278be0
Save file
Added save file and player.log into attached z
regrowth issue.zip
ip
Screenshots
!!! Add screenshots to help explain your problem here !!!
Have you done any changes to the community mod list?
!!! YES / NO !!! Yes, added ones from the discord marked as compatible.
regrowth issue.zip
Mod list (Preferably a RimPy compatible list.)
https://rentry.co/nwwn8

one thin to note, is that the north pole does indeed have seasons, including spring. bit if the season was indeed stuck at spring, then that would be odd.
second thing. Was this indeed with the community mod pack? if it was with some other mod list, you should not select this template

They don't in vanilla.  If I remove RT, the map reverts to calling the season "permanent winter".
Line 92 of https://github.com/pastorismylord/Community-Modpack/blob/main/Community-modpack.xml

Tested with RT 1.3.2 and 2.0.7. Was only able to reproduce with 1.3.2, and the issue happens even without [HLX] Regrowth - Core loaded. Loading an ice sheet tile near the north pole resulted in the season being Spring with RT loaded, loading the same tile without RT results in permanent winter. Seems to be fixed in 2.0.7.


Raise exceptions for test failures

Describe the feature
The ultimate goal is to have automated response based on test results.
The proposed way is to raise an exception when a test fails, e.g. UniqueTestFailureException, GenericTestFailureException, etc. There are automated solutions (e.g. sentry) that can capture exceptions (as well as other information passed with exception such as table name) in a structured way and apply rules (e.g. alert different people).
In addition to the convenience, raising exceptions is also the proper way to signal "something wrong happened". Ways of handling them can vary (e.g. logging to some location).
Describe alternatives you've considered

Redirect stdout / stderr and parse text. This does not require any code change to dbt but parsing unstructured text will be difficult and ungraceful.
Provide option to use different handler of Logbook, logging provider used by dbt. This does not require a manual redirect but parsing unstructured text is still necessary.

Additional context
This feature is not database dependent.
Who will this benefit?
Any one that is using dbt's test feature and wants to have automated pipelines based on test results.
Are you interested in contributing this feature?
Yes

Hey @ruisun-pep, I'd encourage you to take a look at https://github.com/fishtown-analytics/dbt/issues/2915, as I think it covers a lot of the ground you're interested in here.
In particular:

If you want to parse structured logs, you can specify --log-format json (docs). Those logs could be improved in terms of structure, organization, and completeness (hence the other issue), but that's definitely a place to start. Also, while we do our best to keep log formats consistent, there are no guarantees or commitments around breaking changes.
If you want to know about the results of a dbt invocation, the best place to get that information is from dbt artifacts, in particular run_results.json (docs). Those JSON artifacts have a versioned, documented schema with contracts around breaking changes.

What's not above? A tight integration with a specific automated exception-catching solution, such as sentry. To my mind, it should be possible for end users to build an integration in that vein by wrapping (1) error-level structured loglines or (2) error-status entries in the results object produced by dbt. To your mind, are there other pieces missing?

Thanks for pointing me to the right direction! I believe that is exactly what I was looking for.


🐞 Incorrect sentence wrapping algorithm (text clips at the right side)

Description
If a long line text is inserted into the editor, it should be wrapped eventually. The wrapping occurs correctly, however sometimes the text at the right side is clipped, when that particular word should have been wrapped to the new line instead.
To Reproduce

Insert a long line of text to the editor, e.g.:

CalendarKit is a Swift calendar UI library for iOS and Mac Catalyst. It looks similar to the Apple Calendar app out-of-the-box, while allowing customization when needed. CalendarKit is composed of multiple modules which can be used together or independently.

(that text should be inserted as a single line, without line breaks)

Try resizing the window's width so that the text is wrapped to the new line
Observe, that sometimes some portions of the text at the right side are clipped (refer to the screenshots)

Expected Behavior
The clipping doesn't occur and instead the word is wrapped to the new line.
There seem to be some problem with wrapping algorithm, very likely some margin/padding issue. Adding some padding to wrap the word earlier would resolve the error.
Version Information
CodeEdit: [e.g. 0.0.3-alpha.30]
Additional Context
No response
Screenshots

This is related to #148. The text view is getting pushed by the ruler view.


Ethan: Watch CAPITAL-GAINS.CO

Ethan requests the watch of the watch_keyword CAPITAL-GAINS\.CO. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

CAPITAL-GAINS\.CO has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Rejected by Ollie in Charcoal HQ. Reason: 'Accidental duplicate of PR 7471.'


feat: vote with distances

Requires torchfields.vote_with_distances link. This biases the weight distribution in voting toward nearer sections when using VoteOverFieldsJob. There is a flag to revert to the standard vote, as well.

compare-sections command doesn't work on the tip of tmacrina-vote-with-distances for me. Did you update click version?

Stopped working with the last commit of the branch. Works fine on 110017dc1bc8930e8bc1194626e15d2c43bdb563

Closing this one in favor of the priority voting approach


SSL Error - CERTIFICATE_VERIFY_FAILED

I tried the given example of terminating a pod. I replaced the pod name "myapp" to my pod name "demo". It throws the following error:
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='<IP_ADDRESS>', port=6443): Max retries exceeded with url: /apis/apps/v1/namespaces/default/deployments?fieldSelector=metadata.name%3Ddemo (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:877)'),))
I would really appreciate any solution or work around.

These are some of the solutions I tried:

export KUBERNETES_DEBUG=1
export KUBERNETES_VERIFY_SSL=1

insecure-skip-tls-verify: true in kubeconfig

"configuration": { "KUBERNETES_VERIFY_SSL": true } in experiment file

configuration = client.Configuration()
configuration.verify_ssl=False
configuration.debug = False
client.Configuration.set_default(configuration) in init.py

These methods doesnt seem to fix the error. Am I missing something?

Hi @sathiyajith is this issue resolved can you please let me know the fix

Observing same error failed: urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.aws-useast1-apps-dev-1.ocpdev.us-east-1.ac. port=6443): Max retries exceeded with url: /api/v1/namespaces/


Provide a convenient way to overwrite authN cookie/sid from within authZ endpoint

For impersonation scenarios where custom authorization interaction generator can validate and wants to switch the user. This involves:

issuing a new CP into new cookie via the authN MW (or new 2.0 plumbing)
generating a new sid in this new cookie and returning it so that:
the new sid can be assigned into the validated authorization request (along with the new CP)

this all might just get wrapped up in the new authN redesign we're forced to do for 2.0.

Done. It'd look something like this:
ValidatedAuthorizeRequest request = FromAuthorizeRequestValidation();
IUserSession userSession = FromDI();
HttpContext context = FromDI();

await context.SignInAsync("newSub", "newName");
request.Subject = userSession.User;
request.SessionId = userSession.SessionId;


feat: add mask signal

closes #554
Prerequisites:

[x] Unless it is a hotfix it should be merged against the dev branch
[x] Branch is up-to-date with the branch to be merged with, i.e. dev
[x] Build is successful
[x] Code is cleaned up and formatted

Summary

open questions:

atm. the lowest color is 66% and not 0. The reason is as noted in another issue that it is not enforced in the choropleth map that 0 = first value

notes:

since it wasn't specified I added it into the 'Public's Behavior' category

atm. the lowest color is 66% and not 0. The reason is as noted in another issue that it is not enforced in the choropleth map that 0 = first value

I think that's actually good here. Since this signal is always > 50% (at least, right now it is), anchoring at 0 would make the map hard to read.

since it wasn't specified I added it into the 'Public's Behavior' category

I think that's a good placement.

I think that's actually good here. Since this signal is always > 50% (at least, right now it is), anchoring at 0 would make the map hard to read.

at least on regular line/bar charts the rule is that you should start the scale at 0. it depends what you wanna show, starting at 0 will show that overall the values are great in the US (here denoted as red) (even tho great = good), starting at 66% will highlight the variance within the US

updated to interpolateYlGnBu color scale


[fix][controllers] - Change Phase to Error when error appear

Not overwrite phase with generic Error. Instead, force the phase at the beginning of each step. It's best solution to lookup where controller stuck

Add new status field isOnError to know if controller is stuck on error somewhere

It's ok


Different time between building model and training model when using CPU and GPU, repectively.

When I was running some examples, I have tested them by switching between CPU and GPU on my PC.
Obviously, when using GPU, the training time is less than using CPU.
However, the timing of building the model seems takes longer time when enabling GPU than purely using CPU.
I am assuming that, when enabling GPU, even the model building is done on GPU, which may have less parallel requirements and CPU would be faster on building it.
So I am wondering, is there any way (or api or code) that I could use CPU to build the model and switch to GPU to train the model?

When compiling with GPU, some GPU specific variables should be set up (via nvcc compiler or something), and obviously, it can not be done only with CPU.
So, be patient and wait.

Nvidia's GPU compiler (nvcc) is painfully slow, it's normal.

@ymcui This is my GPU settings, if this is what you mean.
[global]
floatX = float32
device = gpu

[lib]
cnmem = 0.9

[cuda]
root = /usr/local/cuda

Nope, I am not meaning the GPU setups.
I mean when you are going to run your code on GPU, some variables (such as theano tensors) should be converted to CUDA related stuff (such as kernel functions, kernel variables, which is done by nvcc compilers), and this procedure cannot be only done on CPU. So you HAVE TO wait, because there is no the other way.

Thanks. What I am wondering is that, I have seen another library neon, where you could switch from CPU to GPU, or vice versa here.
i am wondering whether Keras is capable of this.


Implemented stampboard footprint function

Perfect! Something i forgot to mention is we might want a silkscreen triangle pin1 indicator

@seveibar
@imrishabh18
check latest changes

LGTM!


tactic porting tracking issue

This issue parallels the content of Mathlib/Mathport/Syntax.lean, tracking the remaining work to port mathlib3 tactics to mathlib4, but also contains "ephemeral" information that does not belong in that file.
Primarily, this issue contains a list of tactics (or groups of tactics), along with any relevant information about work-in-progress (e.g. people who've "claimed" a tactic, PRs, abandoned work, etc). Some "claims" are probably out-of-date. Feel free to remove yourself from anything here without explanation!
We hope that everyone will edit this freely to try to keep it up to date.
Currently this is in the same order as Syntax.lean (although with tactics we might skip or only "stub" deferred to the end), but it may be worthwhile to turn this into a prioritised list.
🔹 – unclaimed
◼ – claimed
☑ – PR'd, unneeded, or otherwise done
E: Easy. It's a simple macro in terms of existing things,
or an elab tactic for which we have many similar examples. Example: left
M: Medium. An elab tactic, not too hard, perhaps a 100-200 lines file. Example: have
N: Possibly requires new mechanisms in lean 4, some investigation required
B: Hard, because it is a big and complicated tactic
S: Possibly easy, because we can just stub it out or replace with something else
?: uncategorized

:small_blue_diamond: N omit / N include / N parameter
:small_blue_diamond: N abstract
:small_blue_diamond: B cc
:small_blue_diamond: M unfold_projs
:black_medium_square: E infer_auto_param

@urkud claimed this
Wrenna Robson is working on this

:ballot_box_with_check: E apply' / E eapply' / E fapply' / E apply_with' / E mapply' / E rfl' / E symm' / E trans'

The apply bug has been fixed in core; these need a once-over and can be removed

:small_blue_diamond: M injections_and_clear
:small_blue_diamond: E try_for

Started by @bollu, but leanprover/lean4#1364 stalled. @bollu is no longer working on it

:small_blue_diamond: E unfold_coes
:small_blue_diamond: E unfold_wf
:small_blue_diamond: M unfold_aux
:small_blue_diamond: M clean
:black_medium_square: B refine_struct

@thorimur is working on this has finished this, but is unsure where to put it

:small_blue_diamond: M match_hyp
:small_blue_diamond: N field / S have_field / S apply_field
:small_blue_diamond: M h_generalize
:ballot_box_with_check: E clear_value

PR'd as #330

:small_blue_diamond: M apply_assumption
:ballot_box_with_check: N congr / M rcongr

PR'd as #538

:small_blue_diamond: M congrm
:small_blue_diamond: E ac_change
:small_blue_diamond: E rsuffices
:small_blue_diamond: M decide!
:small_blue_diamond: M delta_instance
:small_blue_diamond: M generalizes
:ballot_box_with_check: M generalize_proofs

@alexjbest has PR'd this as #447

:small_blue_diamond: B itauto
:small_blue_diamond: B lift

@jcommelin has started work is no longer working on it.

:small_blue_diamond: B obviously
:small_blue_diamond: M assoc_rw
:small_blue_diamond: N dsimp_result / N simp_result
:black_medium_square: B tauto

@thorimur is working on this

:small_blue_diamond: M trunc_cases
:small_blue_diamond: E apply_normed
:black_medium_square: B abel / E abel1 / B abel! / E abel1!

abel1 is PR'd as #509, but there is still some more work for abel itself.

:ballot_box_with_check: E ring_nf / (conv mode) E ring_nf

PR'd as #552

:small_blue_diamond: E noncomm_ring
:small_blue_diamond: M linear_combination
:ballot_box_with_check: B linarith

PR'd as #526

:small_blue_diamond: M tfae_have / M tfae_finish

@bollu claimed these is no longer working on them

:small_blue_diamond: M mono
:small_blue_diamond: B ac_mono
:black_medium_square: M apply_fun

PR'd as #475

:small_blue_diamond: M interval_cases
:small_blue_diamond: M reassoc
:small_blue_diamond: M slice_lhs / M slice_rhs
:black_medium_square: M group

@tb65536 is going to try this.

:small_blue_diamond: M cancel_denoms
:small_blue_diamond: M unfold_cases
:small_blue_diamond: M field_simp
:small_blue_diamond: B equiv_rw
:black_medium_square: N nth_rw

@winston-h-zhang has claimed this is no longer working on it.

:black_medium_square: M pi_instance

@thorimur is working on this

:black_medium_square: B tidy

@semorrison has begun work on this

:small_blue_diamond: B wlog (https://github.com/leanprover-community/mathlib/pull/16495 refactors the Lean 3 version)
:small_blue_diamond: M elementwise / (attribute) M elementwise
:small_blue_diamond: M compute_degree_le
:black_medium_square: B positivity

@digama0 is working on this

:small_blue_diamond: E qify
:small_blue_diamond: M nontriviality
:black_medium_square: M filter_upwards

Anatole Dedecker is working on this.

:small_blue_diamond: E isBounded_default
:small_blue_diamond: N op_induction
:small_blue_diamond: M continuity
:ballot_box_with_check: E unit_interval

PR'd as #339

:small_blue_diamond: N measurability
:small_blue_diamond: M padic_index_simp
:small_blue_diamond: M borelize
:small_blue_diamond: E uniqueDiffWithinAt_Ici_Iic_univ
:small_blue_diamond: M ghost_fun_tac
:small_blue_diamond: M ghost_calc
:small_blue_diamond: M init_ring
:small_blue_diamond: E ghost_simp
:small_blue_diamond: E witt_truncate_fun_tac
:small_blue_diamond: M pure_coherence / M coherence
:small_blue_diamond: (conv mode) M apply_congr
:small_blue_diamond: (conv mode) E norm_num / E norm_num1

@bollu claimed this is no longer working on it

:small_blue_diamond: (conv mode) E ring
:small_blue_diamond: (conv mode) E ring_exp
:small_blue_diamond: (conv mode) M slice
:small_blue_diamond: (attribute) ? protect_proj
:ballot_box_with_check: (attribute) M ext

slated for removal: leanprover-community/mathlib#16602

:small_blue_diamond: (attribute) M higher_order
:ballot_box_with_check: (attribute) M mk_iff

Done in #561

:small_blue_diamond: (attribute) M notation_class
:small_blue_diamond: (attribute) M mono
:small_blue_diamond: (attribute) M reassoc
:black_medium_square: (command) N copy_doc_string / N add_decl_doc / N add_tactic_doc

Evgenia Karunus is looking into these

:small_blue_diamond: (command) N mk_simp_attribute
:small_blue_diamond: (command) M add_hint_tactic
:ballot_box_with_check: (command) M mk_iff_of_inductive_prop

Done in #561

:small_blue_diamond: (command) N def_replacer
:small_blue_diamond: (command) M reassoc_axiom

Things to port not in the syntax file:

:black_medium_square: ? solve_by_elim has a minimal port, but is not feature complete.

Justus Springer will look at this is no longer working on it, and @semorrison can help

We then have a number of tactics and commands for which mere stubs will suffice for the port. Sometimes this is because the tactic is only used during development (but not in PRs to mathlib), other times because it is not used at all anymore in mathlib.

:small_blue_diamond: (attribute) S intro / S intro!
:small_blue_diamond: S propagate_tags

PR'd as #258 (abandoned?)

:small_blue_diamond: ? quote / ? pquote / ? ppquote
:small_blue_diamond: S mapply
:ballot_box_with_check: S with_cases

slated for removal: leanprover-community/mathlib#16568

:small_blue_diamond: S destruct
:small_blue_diamond: S rsimp
:small_blue_diamond: S comp_val
:small_blue_diamond: S async
:small_blue_diamond: S continue
:black_medium_square: S extract_goal

@robertylewis claimed this.

:small_blue_diamond: S revert_deps
:small_blue_diamond: S revert_after
:ballot_box_with_check: S revert_target_deps

PR'd as #333

:small_blue_diamond: S rcases?
:small_blue_diamond: S rintro?
:small_blue_diamond: S hint
:small_blue_diamond: S clarify / S safe / S finish
:small_blue_diamond: S cases'' / S induction''
:small_blue_diamond: S pretty_cases
:small_blue_diamond: S suggest
:small_blue_diamond: S polyrith
:small_blue_diamond: S omega
:small_blue_diamond: S transport
:small_blue_diamond: S rw_search
:small_blue_diamond: S mk_decorations
:small_blue_diamond: S mv_bisim
:small_blue_diamond: S subtype_instance
:small_blue_diamond: S elide / S unelide
:ballot_box_with_check: S guard_tags

PR'd as #258

:small_blue_diamond: S guard_proof_term
:small_blue_diamond: S fail_if_success?
:small_blue_diamond: (command) S setup_tactic_parser
:black_medium_square: (command) S #explode

Evgenia Karunus may do this

:small_blue_diamond: (command) S #list_unused_decls
:small_blue_diamond: (command) S #simp
:small_blue_diamond: (command) S #where
:small_blue_diamond: (command) S #sample
:small_blue_diamond: (command) S #norm_num
:small_blue_diamond: (command) S #push_neg

I have included information about open PRs, but have not yet gone back through all zulip threads to note other "claims".

I won't have time to work on porting for the next couple of months, sorry; please consider copy_doc_string abandoned.

@hrmacbeth, thanks for mentioning that! I'll take up copy_doc_string / add_decl_doc / add_tactic_doc then (I'm also busy at the moment, but will be able to get to it starting next week).

Now that the semester has begun at Carnegie Mellon, I am also pretty buried. I don't mind keeping the injections tactics on my to do list in the hopes that I'll eventually find the time, but anyone else looking for something to do should feel free to claim them.

Here is the result of a text search for tactic names in mathlib3port: (no promises about false positives)
6101 ext
5517 intro
2601 dsimp
2253 convert
1339 congr
756 tidy
714 split_ifs
570 norm_num
550 ring
500 linarith
384 lift
384 filter_upwards
337 contrapose
282 choose
256 symm
209 obviously
205 slice_lhs
203 field_simp
198 trans
158 abel
152 tauto
136 nth_rw
135 apply_fun
128 tfae_have
106 generalize
102 for
99 left
96 refine_struct
93 slice_rhs
92 nontriviality
87 mono
73 cc
71 continuity
67 norm_num1
58 apply_rules
50 wlog
49 ring_nf
49 fin_cases
34 nlinarith
31 convert_to
30 ring_exp
27 group
25 tfae_finish
23 generalize_proofs
21 unfold_coes
18 unfold_projs
18 assoc_rw
17 unfold_wf
17 clear_value
15 ring1
15 propagate_tags
15 field

long tail
14 cases_type
14 casesm
14 abstract
13 with_cases
13 unfold_aux
13 nth_rw_rhs
13 noncomm_ring
12 interval_cases
12 foldl
12 equiv_rw
11 measurability
11 delta_instance
9 ghost_fun_tac
8 rcongr
8 interactive
8 init_ring
8 infer_auto_param
7 witt_truncate_fun_tac
7 ghost_calc
7 cancel_denoms
7 apply_assumption
6 zify
5 unit_interval
5 reassoc
5 pi_instance
5 apply_congr
4 slice
4 padic_index_simp
4 ghost_simp
4 extract_goal
4 clean
4 ac_mono
3 simp_intro
3 pure_coherence
3 parameter
2 try_for
2 trunc_cases
2 safe
2 reassoc_axiom
2 pretty_cases
2 nth_rw_lhs
2 linear_combination
2 generalizes
2 dsimp_result
2 def_replacer
2 apply_normed
2 ac_change
1 unfold_cases
1 transport
1 suggest
1 squeeze_scope
1 simp_result
1 omega
1 mv_bisim
1 match_hyp
1 itauto
1 hint
1 h_generalize
1 fsplit
1 finish
1 equiv_rw_type
1 destruct

replication
words.txt obtained by searching for syntax ... "word" in Mathport/Syntax.lean
for i in $(cat words.txt); do
  esc=$(echo "$i" | sed 's/[^^]/[&]/g; s/\^/\\^/g')
  l=`grep -roah "  $esc\b" ../mathlib3port | wc -w`
  echo "$l $i"
done

Should we move this tracking to a wiki page, similar to https://github.com/leanprover-community/mathlib/wiki/mathlib4-port-status ?
That would lower the chances of edit conflicts. Currently I think if there are parallel edits to the comment then it's "last submission wins".

does the wiki have better edit conflict resolution? It's still not using git merge, is it?

Ah, according to https://stackoverflow.com/questions/10553085/how-does-github-merge-web-based-wiki-edits-with-ones-through-the-repository it's last-edit-wins there too (or at least was as of 2014).

I've just updated the list above, per the discussion in the 2023-06-27 porting meeting. Our discussion only got to refine_struct (lots has been deleted above that!), so we should resume this sometime.
I've also removed everything which was checked off, to declutter the list, per the meeting.

fail_if_success? seems the mistake for fail_if_success.

@semorrison You changed the difficulty of cc from B to S. Can you tell me how to port this tactic easily?

S means that we are not planning on porting it for mathlib, at least in the first pass, because mathlib doesn't use it enough and we can just avoid it. It is still on the list because it is still a todo item, just not high priority.


Stage branches and improve workflow

This PR improves our CI/CD and development processes:

All branches except master are now staged for testing
lint is run on pretest instead of every commit (slow)
pre-commit has been removed entirely (slow and error prone)
gh-pages is now deployed using the gh-pages package

:boat:


The title is too big..

The title space usage  surpass 25% when the screen is landscape,could you hide it when i read the code?

Nop


Disable experimental client roaming

Disable the experimental client roaming feature to mitigate this vulnerability

Thanks @ascendantlogic for adding this feature. I added some small comments

@chris-rock updated per your comments

Thanks @ascendantlogic


Feat/hubble install fix mac arm

Please ensure your pull request adheres to the following guidelines:

[X] For first time contributors, read Submitting a pull request
[X] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[X] All commits are signed off. See the section Developer’s Certificate of Origin
[X] Provide a title or release-note blurb suitable for the release notes.
[X] Thanks for contributing!

Documentation: Adds ARCH env var to MacOS installation path for hubble and cilium-cli to distinct between amd64 and arm64 binaries.


Build failes '@protobuf_archive//:python/google/protobuf/pyext/_message.so' failed (Exit 1): gcc failed: error executing command

I have an error when I try to build tensorflow with Bazel.
python3 -V
Python 3.7.0
gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
c++ -v
Using built-in specs.
COLLECT_GCC=c++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
bazel version
Build label: 0.16.0- (@non-git)
cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.5 (Maipo)
Comand
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package --verbose_failures
ERROR: /root/.cache/bazel/_bazel_root/2fbd50cf126faad144af4acc96cb7595/external/protobuf_archive/BUILD:659:1: C++ compilation of rule '@protobuf_archive//:python/google/protobuf/pyext/_message.so' failed (Exit 1): gcc failed: error executing command
Can you help me please?

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Have I written custom code
OS Platform and Distribution
TensorFlow installed from
TensorFlow version
CUDA/cuDNN version
GPU model and memory
Exact command to reproduce
Mobile device

OS Platform and Distribution
Red Hat Enterprise Linux Server release 7.5 (Maipo)
TensorFlow installed from
Source
TensorFlow version
tensorflow-1.9.0
CUDA/cuDNN version
N/A
GPU model and memory
N/A
Exact command to reproduce
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package --verbose_failures
Mobile device
N/A

Nagging Assignee @shivaniag: It has been 20 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

I have fixed the issue using the below tolls versions:

regards

I had same question,Do you have good sulotion?


Could not resolve all files for configuration ':app:debugRuntimeClasspath'.

it seems that [barteksc] pdf library doesnt exist in maven anymore

I have the same problem

@AzharZouhir
@skovalysh
https://www.youtube.com/watch?v=QxrJHlffVwE

it seems that [barteksc] pdf library doesnt exist in maven anymore

The repo was removed from mavenCentral() for some reason.
For a workaround, just add jcenter() to android\build.gradle

@blueeyestw i did that and worked just fine


doc: release notes: add HAL section related updates

Added various bullet items for the HALs we imported and updated in this
release.
Signed-off-by: Kumar Gala<EMAIL_ADDRESS>

@carlescufi not sure if we want more words around the nordic HAL update.

@galak I'd rather not. No drivers are actually using the additional nrfx functionality yet, although there are PRs for upcoming (1.12) ones.

Codecov Report

Merging #6485 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #6485   +/-   ##
======================================
  Coverage    53.2%   53.2%
======================================
  Files         436     436
  Lines       41353   41353
  Branches     7937    7937
======================================
  Hits        22001   22001
  Misses      16128   16128
  Partials     3224    3224

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 9c92609...76d4519. Read the comment docs.


Combobox: :lipstick: remove hover border color when disabled

Description
Quick CSS fix to overrule the hover style when the combobox is disabled (it already gets ignored by readonly via pointer-events: none, but on disabled we want to have the cursor show that it's disabled as well, so we can't set pointer-events the same way.)

pointer-events: none doesn't seem to remove the custom cursor 🤔

For me it worked setting pointer-events: none on .navds-combobox__selected-options

For me it worked setting pointer-events: none on .navds-combobox__selected-options

ah I tried setting it the same way it was set for readonly (on the wrapper iirc)


Add support for Xamarin.Forms 1.3

:+1: also patiently waiting :)
Any ETA?
Thanks a ton!

When Xamarin releases the stable unified api, I will release against 1.3.1.  If you don't want to wait, fork the dev branch.

They postponed the release of one week

Update released to nuget

Thanks @aritchie! You're fast!!

Thank you @aritchie amazing fast!

@aritchie you rock :) !!!!!
Can I be a pain and ask for and update to 1.3.2?
1.3.1 was full of bugs, including a big regression for me (you can follow on their forum) 1.3.2 seems good for me :) but breaks with Acr.
Let me know if I can help.
You rock again ;)


Bug Report: Game is not opening

Hello, i'm trying to open the game, but it's not opening or giving me this error:

I tried reinstalling Kade Engine from GameBanana (firstly i downloaded KE from GitHub), but it didn't help.
(OS: Windows 11 Build 22000.100 64-bit)
Using 16 version release of KE

try compiling it yourself to see if it works
im also on 11 build 22000.100 and it loads fine for me

im gonna be real I have no idea if haxe even fully supports windows 11? so uh wait for w11 to release

try compiling it yourself to see if it works
im also on 11 build 22000.100 and it loads fine for me

oh ok

im gonna be real I have no idea if haxe even fully supports windows 11? so uh wait for w11 to release

k

im gonna be real I have no idea if haxe even fully supports windows 11? so uh wait for w11 to release

I'm using Windows 11 x64 right now and the latest version (I think? I have 1.6 rn) of KE works just fine


possible to have a toggle return ?

just wondering if it possible to return a simple true|false statement on test... it may be simplier to integrate with already custom js script.
example :
if(typeof blockAdBlock === 'undefined') {
			adb = 0; /* 0 = false */
		} else {
			adb = blockAdBlock.toggleTestReturn(); /* return 0 or 1 */
		}

maybe you could use
blockAdBlock.check(loop);


ENH: Add polar sterographic projection for GINI files

closes #138

I can add a test for this new projection but another test dataset would need to be added or mock data created.

I'd say it's ok to add a test gini file to testdata, as it's only around 120 kB or so. What do you think @dopplershift?

No problem adding another test data file unless we're talking megabytes...

Added unit tests and a sample file in the testdata directory.

Looks great. Thanks!


Add SwitchSession to the driver API

Thanks - I'll  merge all of these soon-ish.

Thanks for all of these!


window DOM classes should be instanceof window.Function

Hello, I found this issue when I was trying to use a CustomElements api polyfill with jsdom. The polyfill validates element definition by checking instanceof passed classes.
It seems that all DOM HTML classes are instanceof window.Function (at least in my browsers): https://jsfiddle.net/0gxdxcpu/
With jsdom:
jsdom.jsdom(
    '<script>console.log(window.HTMLElement instanceof window.Function)</script>',
    {virtualConsole: jsdom.createVirtualConsole().sendTo(console)}
);`

the console output is false

Sadly probably not fixable without making jsdom a loooot slower due to sandboxing 😞

We might be able to set window.Function to Node's global.Function. We've already done that for a few instanceof cases.
We should try to figure out some better solution for these instanceof related things though...

Maybe we should let the user decides how will the window "global environment" be, with a parameter to do this?

If you want to do that yourself, you can already, by overwriting window.Function in the created callback.

@Sebmaster Hmmm you are right, but it's still not clear to the user that there is a "fake" Function there, using a parameter like windowGlobalConstructor might be more obvious that window "global" things is not node global things

We'll still have to decide piece by piece which built-ins we want to overwrite with their node counterpart in the sandbox (like we're doing right now to get even basic stuff working). We'll start patching more and more stuff in there either way (until we actually create a whole new environment per sandbox, which is gonna be way too slow to be useful (probably)).

@Sebmaster I gotcha. So there are more node things that was not overwritten and not in the docs? At least the common javascript things, like Function or Object, should be very well documented to not hide potential bugs like this one.

I don't think this is really a bug, it's just an unexpected consequence of having two different globals. A jsdom instance can be thought of like an iframe. In a browser you don't call it a bug or gotcha that objectFromIFrame instanceof Object is false.

Hmm thinking this way you are right... And for sake of the human being we should not mix node globals with internal jsdom globals. But that unexpected consequences that brings me concern, maybe it's more related to best practices and not to jsdom itself.


nucleotide-binding domain, leucine rich repeat containing receptor signaling pathway: add parent

nucleotide-binding domain, leucine rich repeat containing receptor signaling pathway
Should be a child of cytoplasmic pattern recognition receptor signaling pathway
Add ref PMID:32838963 & PMID:36973360

Dear all,
The proposal has been made to obsolete GO:0070423 nucleotide-binding oligomerization domain containing signaling pathway (also know as NOD). The reason for obsoletion is that this is an unnecessary grouping term: NOD1 and NOD2 are two of a large number of 'nucleotide-binding domain, leucine rich repeat containing receptors (NLR), see Figure 1 in PMID:36973360, which is already covered by the 'grand parent' term GO:0035872 nucleotide-binding domain, leucine rich repeat containing receptor signaling pathway:

There are no annotations or mappings to this term, this term is not present in any subsets.
Replaced by: 'nucleotide-binding domain, leucine rich repeat containing receptor signaling pathway'
You can comment on the ticket: https://github.com/geneontology/go-ontology/issues/26556
Thanks, Pascale

Also aligned regulation parents term labels and definitons


instrument the Api and propagate required Debug impls

Experiment with tracing primarily for use with the example controller-rs repo via https://github.com/clux/controller-rs/pull/10

Span result:

One span around the Api call with non-self parameters traced as tags for timing information
One trace log from kube::service::log for KUBE=trace enabled stdout users

And importantly, tracing automatically associates the two.

Probably merging this tomorrow unless there are any objections.
The only thing that I feel is possibly contentious here is the extra Debug requirements (and we might be able to elide some of that in the future judging from the valuable channel), but for now, they are needed to drop kube parameters into trace values.


1.1 Assignment

Given what you have learned about Git, why would you want to use Git in your classroom?

I would use git to collaborate with my classmates for projects.


ModuleNotFoundError: No module named 'openlineage'

Describe the bug
openlineage-airflow is not listed as a dependency, yet we're throwing import errors if it's not present.
Either it should be included as a dependency so that pip installs it (i.e. made a required dep) or we should handle cases where it isn't installed more gracefully.
This dockerfile encapsulates it:
FROM quay.io/astronomer/ap-airflow:2.4.2
RUN pip install astro-sdk-python
RUN python -c 'from astro.sql import load_file, run_raw_sql, transform'

Error:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/astro/.local/lib/python3.9/site-packages/astro/sql/__init__.py", line 5, in <module>
    from astro.sql.operators.append import AppendOperator, append
  File "/home/astro/.local/lib/python3.9/site-packages/astro/sql/operators/append.py", line 7, in <module>
    from openlineage.client.facet import (
ModuleNotFoundError: No module named 'openlineage'

Version

Astro: astro-sdk-python==1.2.1
OS: Debian

To Reproduce
docker build . in a directory with the dockerfile above
Expected behavior
No import errors.
Additional context
To quote Ash
:

Bug in astro-sdk, wasn't meant to be a hard dep
It's an optional dep on astro-sdk, but the code mistakenly just imports it

Duplicate of https://github.com/astronomer/astro-sdk/issues/1243

Addressed in #1252


Return to masonry-style layout

Even with the current SSR implementation, images are loaded into the markup client-side. You can confirm this by viewing source (paste the following text into your browser's url bar) and observing there is no image markup:
view-source:https://search.creativecommons.org/search?q=dogs
The current layout preserves aspect ratio, which is nice, but can lead to large gaps of whitespace in the image results: https://ccsearch-dev.creativecommons.org/search?q=kittens
We should explore switching back to a js-based layout, but a lighter version that also allows us to implement lazy loading so get the initial page render down.

I did the image grid redesign/code move from masonry to the flex grid (at least supposedly) code last time. The design idea was to make it like an older version of google image or the current bing one
Looks like some had change the grid css and added a .masonry-layout without understand how the current system works. I know there are always design changes around here, but designer or whoever is writing the stylesheet should have check what they are changing.
As far as I know image grid with non uniform aspect ratio images can have uniform columns or the rows, but not both. The current image grid cell has flex grow ratio to grow into uniform rows, if the grid class is not getting in the way. What is the current design goal? Uniform height? Uniform width? Or just want to crop everything into square, like Apple or Instagram? Without a feasible design to guide code, it will just be a mess down the road.

@dos077 I hugely appreciate this historical context! The only goals of this work are:

Preserve image aspect ratio
Uniform white space between rows

So you are saying you had a working masonry, flexbox-based layout merged here: https://github.com/creativecommons/cccatalog-frontend/pull/538 and it has been broken since?
That .masonry-layout class is in the code, but is not actually being used in the site.
I am curious how your flexbox solution broke, I would be happy to go back to it.

@dos077 looks like it was broken by how img width/height was being detected (it wasn't!). Care to check out this PR? #1085

Okay, I've found the issue. You are right, they have yet to revert back to masonry grid. Seems like the back-end is not sending height and width or the data processor is discarding those metas, AND the image is loading after the cell component is mounted. I have a fix and will submit a pull request later, currently looking at the filter list modal/aside component. That thing is a bug fests...

@dos077 i think the simplest is just to set the width/height on actual load of the image: https://github.com/creativecommons/cccatalog-frontend/pull/1085
The filters list isn't the cleanest implementation api design-wise, but we're not currently seeing bugs on https://ccsearch-dev.creativecommons.org/. Could you describe what you mean more?

Yeah that fix works. I tested it with changing img src and it updates the dimension as well. Should works with place holders, or infinite scrolling. In that case server side meta is almost unnecessary. This should be merge ASAP.


Support wrapping a screen pointer

Why creating a new method ? The wrap_pointer isn't enough ?

You're right, my mistake

Well, I merged and then reverted after seeing it. Just fix your gtk code.


Cannot create ephemeral consumer subscription to a mirrored stream

When mirroring a Stream between two JetStream instances, it is not possible to utilize the nats sub command to subscribe to the downstream stream by creating an ephemeral consumer. This is because the CLI only uses the passed subject to look up the stream, however mirrored streams do not have subjects, only in the source stream.
The JetStream Go API supports subscribing to a specific stream. I think support for this could be added pretty easily in this switch statement: https://github.com/nats-io/natscli/blob/main/cli/sub_command.go#L247

https://github.com/nats-io/natscli/pull/520


[2212] update filter toggle to be able to filter on apply drafts

Context

This trello ticket

Changes proposed in this pull request

Added an imported from apply filter
The imported from apply filter does not show, if there are no trainees imported from apply
This is feature flagged

Guidance to review

Make sure to have apply draft trainees on your system
Go to the trainees index page. Click on the imported from apply checkbox.

Actually - I don't think the PR is working correctly. The first draft here is one I've manually added - yet there's no manual option in the filters. Looks like the 'manual' half of the filter is not working.


Fix type definition of Node.js dns.lookup()

The options argument is optional. When it's not specified, the callback is the second argument.
The callback is not optional. When it's not specified at all, the function throws a TypeError.
Add specific fields to the options.
Add dns.ADDRCONFIG and dns.V4MAPPED, which are useful for hints in the options.

https://nodejs.org/dist/latest-v11.x/docs/api/dns.html#dns_dns_lookup_hostname_options_callback

Thank you for taking care of it!


Set REDIS_SERVICE_HOST in reverse-dep-p-s tests

It has to be set explicitly since https://github.com/packit/packit-service/pull/800

Do I need to set this also when running tests locally?

Which tests? I tried make check_in_container in packit and p-s and both run fine.
We should perhaps make the exception rather an error/warning so we don't have to set the variable everywhere.

Which tests? I tried make check_in_container in packit and p-s and both run fine.

I am running whole tests suite directly from pycharm and it fails because of this (I need to comment that exception out). Or, to be precise, I am running that in a toolbox container where I have pycharm and all the dependencies already installed.

https://github.com/packit/packit-service/pull/828

I am running that in a toolbox container where I have pycharm and all the dependencies already installed

I'd like to try that as well. If you find some time, could you describe that set-up somewhere?


Fixing unlock date

Hi @stacksjb, I accidentally submitted to the wrong repo after forking the original 😬. Feel free to use the changes if you want but this was not intentional :)
I basically refactored for a OOP approach and then did some hardcoding to fit my use case. Here's the forked repo if you're curious. Let me know if I can provide any more info!

Thx! No concerns. You're welcome ot refactor into what is helpful for you.


CSS file

Could you provide a CSS file to add as a stylesheet to a static HTML web page, so I can use pure CSS version, without JS nor npm? Thanks!

It's a bit extra work but you can use the Tailwind standalone cli to generate the css file with the classes used in this project.

Thanks, but how to use it with Franken UI?

You can try grabbing the css file on the docs website
slug.DdNKfqpT.zip
But this might get outdated soon.


Can we run matlab files in vscode, when matlab is connected in background ?

No. This is mentioned in the section 'What's missing from this release?' of the blog post. https://blogs.mathworks.com/matlab/2023/04/26/do-you-use-visual-studio-code-matlab-is-now-there-too/
Such things are on the radar for future releases though.

Hello!
I reached out to support and they directed me to put my request in this thread. If this is the wrong spot or I'm doing this incorrectly please let me know how I can fix it!
I have seen that there is no support for VS Codes "run and debug" functionality as well as no support for a built-in MATLAB console (for VS code or other applications). I would like to make a feature request of these two items (although it appears they are already in the pipeline). Here is the functionality I would like to see:

MATLAB Command line interface:
The ability to interact with MATLAB from the command line. Ideally in VS Code this would be a command or built in terminal option that just acted as a front end to MATLAB. I'm basically imagining the "command window" from the MATLAB GUI just redirected to stdout/err/in. I would love to see the ability to do this from any shell, such as through bash or PowerShell, perhaps with a new flag such as "MATLAB -cli" or "MATLAB -commandlineinterface"

Run and debug
I think VS Codes run and debug functionality would naturally build off the command line interface. I envision being able to set up a launch.json file with different MATLAB commands. For example, if I was working on a project that had a GUI, and the GUI was in a separate class from multiple functions, I would like to be able to set up different launch profiles to test the functions or launch the GUI. Adding breakpoints, as well as the option to step through the code would be great as well!

Overall I am so happy with MATLAB, thank you for the work you do!

Can you suggest in the meantime a workaround for executing matlab scripts (without debugging) in vscode? I'm currently:

starting matlab in a terminal with "matlab -nosplash -nodesktop"
manually: cd 'path/to/script' (typically just once)
manually: script_filename (multiple times)

Do you know an option to automatize at least steps 2 and 3?

My approach:

In VS code, open the file and a terminal
in the terminal, start MATLAB
in the matlab file, select the code you want to run and run the VS Code command Terminal: Run Selected Text In Active Terminal, this should send your matlab file to the terminal and execute the code there.

Tip: you can define a shortcut for the VS code command!

Execution of MATLAB code is now available! Just update your extension to v1.2.0 to try it out!
You can read more about this in @mikecroucher's blog post!


Updating to 0.17.0 - pip cannot find required version

Currently, the automatic bcbio update for GEMINI seems to fail; when running a manual gemini update from GEMINI 0.16.3 (as part of the bcbio anaconda installation), I receive an error:
Collecting gemini==0.17.0 (from -r https://raw.github.com/arq5x/gemini/master/requirements.txt (line 22))
  Could not find a version that satisfies the requirement gemini==0.17.0 (from -r https://raw.github.com/arq5x/gemini/master/requirements.txt (line 22)) (from versions: 0.6.2, <IP_ADDRESS>, <IP_ADDRESS>, 0.6.3, <IP_ADDRESS>, <IP_ADDRESS>, 0.6.4, 0.6.5, 0.7.0, 0.7.1, 0.8.0, 0.9.0, 0.9.1, 0.10.0, 0.10.1, 0.11.0, 0.12.1, 0.12.2, 0.13.0, 0.13.1, 0.14.0, 0.15.0, 0.15.1, 0.16.0, 0.16.1, 0.16.2, 0.16.3)
No matching distribution found for gemini==0.17.0 (from -r https://raw.github.com/arq5x/gemini/master/requirements.txt (line 22))
Traceback (most recent call last):
  File "/cluster/software/bcbio_dev/lib/anaconda/bin/gemini", line 6, in <module>
    gemini.gemini_main.main()
  File "/cluster/software/bcbio_dev/lib/anaconda/lib/python2.7/site-packages/gemini/gemini_main.py", line 1141, in main
    args.func(parser, args)
  File "/cluster/software/bcbio_dev/lib/anaconda/lib/python2.7/site-packages/gemini/gemini_main.py", line 995, in update_fn
    gemini_update.release(parser, args)
  File "/cluster/software/bcbio_dev/lib/anaconda/lib/python2.7/site-packages/gemini/gemini_update.py", line 54, in release
    subprocess.check_call([pip_bin, "install"] + pip_compat + ["-r", url])
  File "/cluster/software/bcbio_dev/lib/anaconda/lib/python2.7/subprocess.py", line 540, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/cluster/software/bcbio_dev/lib/anaconda/bin/pip', 'install', '--allow-external', 'python-graph-core', '--allow-unverified', 'python-graph-core', '--allow-external', 'python-graph-dot', '--allow-unverified', 'python-graph-dot', '-r', 'https://raw.github.com/arq5x/gemini/master/requirements.txt']' returned non-zero exit status 1

May this be related to the fact that the latest GEMINI is not on pypi yet?

Sorry, you have caught us in the middle of a transition to a new release. I expect it will be completed today.

Excellent, thank you. Perhaps it may make sense in the future to push the release to pypi first, and only then change https://raw.github.com/arq5x/gemini/master/requirements.txt? Just a thought.

Indeed.

It should work for you now. Sorry for the trouble.

Thanks, closing.


Added C# PT-BR book - "Aprenda a programar com C#"

Hacktoberfest notes:

due to volume of submissions, we may not be able to review PRs that do not pass tests and do not have informative titles.
please read our contributing guidelines
be sure to check the output of Travis-CI for linter errors
if this is your first open source contribution, make sure it's not your last!

What does this PR do?
Add Resource(s)
For resources
Description
Why is this valuable (or not)?
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[ x] Not a duplicate
[ x] Included author(s) if appropriate
[ x] Lists are in alphabetical order
[ x] Needed indications added (PDF, access notes, under construction)

looks like its only a preview - we don't list "teaser" downloads.


Issue 8573 - A simpler Phobos function that returns the index of the …

…mix or max item

getMinPos vs existing minPos is not descriptive. Maybe call it minPosIndex.
The two versions above should share a single implementation.

There doesn't seem to be a version of find that returns an index. It seems that might be a necessary precedent before adding this PR. There is std.string.indexOf, which is string-specific.

I added an alternate idea using std.range.enumerate to the bug issue.

also maybe... indexOfPredicateMatch as the general purpose thing, and then getMaxPos and getMinPos some specializations.

Note that it can also be subject to discussion to find an index in a range that's not formally random access.
I think that's why find() works the way it works. Obviously most of the time people use arrays but for ranges that are strictly input ranges, to find the index means: save then consumes to find N then pop the backup until N.

Using mutable min temporary means this won't work when front is const.

Re: my original comment about precedent with find - Andrei added the bootcamp keyword to the Issue previously, so he approves of this.

Do we really need a new function for this?
Since 2.072 we can use this handy syntax
[2, 4, 1].enumerate.maxElement!`a.value`.index; // 1

or even shorter with the array syntax:
[2, 4, 1].enumerate.maxElement!`a[1]`[0]; // 1

Heck we can even use maxPos:
[2, 4, 1].enumerate.maxPos!`a.value`[0].index - 1; // 1

I thought there was a reluctance against adding one-liners to Phobos.

If I assign a task to bootcamp it means I put it up for review of the bootcamper, but not necessarily that the resolution of the bug would mean add a new artifact.
In this case people look for the index of extrema all the time and all of our alternatives are roundabout. I'll allow this.

Thx! I see you've also address @burner 's and @9il 's reviews, could you guys approve?

@JackStouffer I think we're good to go. BTW there's more precedent: http://dlang.org/phobos/std_string.html#.indexOf. Can you please approve today so we move forward. Thanks!

@JackStouffer ping

@JackStouffer I'll dismiss the review but not in protest :). Feel free to intervene later, we have time til the next release.

oh I see @wilzbach has a review as well - @RazvanN7 could you please take a look

Done @andralex . Thank you

@wilzbach Is it ok now?

@wilzbach Thank you very much for the detailed review. If there is something else that needs changing please tell me.

You are welcome, @wilzbach . These are my first PRs as a D contributor, so I really need to get in line with the rigors. Thank you for your review.

@wilzbach These are my first PRs as a D contributor, so I really need to get in line with the rigors

Looking forward to your next PR!
I think this looks quite nice now, so:

would you be so kind to squash all changes into one commit? (we might support to do that automatically in the near future)
open another PR against the Changelog (as the changelog changes quite often, one quickly runs into merge conflicts. Hence atm the least pain approach is to do so with a separate PR. However, we will move to single changelog files soon).

@JackStouffer with the new GitHub approve/request feature, you are blocking merging:

Merging can be performed automatically once the requested changes are addressed.

@JackStouffer seems to be away for a few days now, I'll dismiss his review; there is time for us to address whatever issues are left before releasing.

@wilzbach I squashed the commits and made another PR with the changelog updated accordingly; see #4960.

Auto-merge toggled on

@andralex Yeah, sorry. Was busy moving back to the US :P
I still think that a contract with an assert would be best, however I no longer see it as deal breaking because of the precedent with indexOf.


Fix wrong substitution code

We need to shift in when we're substituting inside a binder.
This should fix #4053 (it doesn't fix the occasional overflow that also occurs on the Diesel codebase though).

bors r+


Get the start_lsn of sqlserver CDC

Sqlserver CDC gets the type of start_lsn returned？
No binarydata return type similar to stringdata is found。

Closing this issue because it was created before version 2.3.0 (2022-11-10). Please try the latest version of Flink CDC to see if the issue has been resolved. If the issue is still valid, kindly report it on Apache Jira under project Flink with component tag Flink CDC. Thank you!


How can i add more than 40k money to myself or to the AI? IF the patch doesnt include it, iam suggesting it as a new feature!

So im doing AI 1v1 videos but money is sometimes the problem, i want to add more than 40k sometimes!

The patch does not include this feature yet.
However, the starting gold parameters (as well as starting units and starting resources) are already identified and will be included in future versions of the UCP. If you know how to use CheatEngine, you could simply cheat some gold as intermediate solution (and if you are more proficient in CE, you get all addresses out of CrusaderData).

You can also use custom maps and edit them. Place a few cathedrals and destroy them again, effectively adds 500 gold each time to that specific position that is being add to any starting gold value.

this is now done and merged.

Can we close only after it is released?
On Mon, 30 Mar. 2020, 9:45 am Krarilotus<EMAIL_ADDRESS>wrote:

this is now done and merged.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Sh0wdown/UnofficialCrusaderPatch/issues/550#issuecomment-605713823,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALGGWTSJFRBOFOKYFIUJPADRJ7FRBANCNFSM4LAGHJ5Q
.

hm? i thought we should close things that are done, as its not an issue. You can still view it here in the closed issues.

Raix can still not do what he wanted to do until the next release, so for
him, it is still an issue...
On Mon, 30 Mar. 2020, 1:45 pm Krarilotus<EMAIL_ADDRESS>wrote:

hm? i thought we should close things that are done, as its not an issue.
You can still view it here in the closed issues.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Sh0wdown/UnofficialCrusaderPatch/issues/550#issuecomment-605753528,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALGGWTXEXHIRPIQVG44HFM3RKABWBANCNFSM4LAGHJ5Q
.


Error: Transaction not found on Stellar Network.

First, I sent it to OKX, forgetting to specify the memo. Then I sent the second one normally, but the result is the same - the money did not reach.
I sent it to GBGII2C7M4TOEC2MVAZYG3TRFM3ATCCEWANSN4Q3AHEX3NRKXJCVZDEV
View:

https://stellar.expert/explorer/public/tx/e8120e20e82d7e1623d0df8affcf1a02c001ed71db160b94edbd4663703f4e8f

https://stellar.expert/explorer/public/tx/46dd0d0bd98ed06696bf29b148d7669d58632f634ba53450934af905b4f49658

All send


" parsing

Hello everyone. My HTML page consists " characters. Example:
const fs = require('fs');
const xpath = require('xpath');
const dom = require('xmldom').DOMParser;
const file = "<book><title>"Harry Potter"</title></book>";
const doc = new dom().parseFromString(file);
const nodes = xpath.select("//title", doc);
console.log(nodes);

After parsing, as result, I get data where " replaced with ". Does exist a way to left " in the data?

What you are describing has nothing to do this library, which only provides a way to select DOM nodes. It doesn't have any influence over their behavior, properties, or methods.
I would question why you are trying to do what you describe. Whatever it is, there is probably a better way to do it that doesn't involve dealing directly with escaped text.
It doesn't seem that xmldom maintains a copy of the original, escaped text, but if you wanted to, you could re-escape the value:
const xmlEscape = require("xml-escape")
const fs = require('fs');
const xpath = require('xpath');
const dom = require('xmldom').DOMParser;
const file = "<book><title>"Harry Potter"</title></book>";
const doc = new dom().parseFromString(file);
const titleNode = xpath.select1("//title", doc);

console.log(xmlEscape(titleNode.textContent));

What you are describing has nothing to do this library, which only provides a way to select DOM nodes. It doesn't have any influence over their behavior, properties, or methods.
I would question why you are trying to do what you describe. Whatever it is, there is probably a better way to do it that doesn't involve dealing directly with escaped text.
It doesn't seem that xmldom maintains a copy of the original, escaped text, but if you wanted to, you could re-escape the value:
const xmlEscape = require("xml-escape")
const fs = require('fs');
const xpath = require('xpath');
const dom = require('xmldom').DOMParser;
const file = "<book><title>"Harry Potter"</title></book>";
const doc = new dom().parseFromString(file);
const titleNode = xpath.select1("//title", doc);

console.log(xmlEscape(titleNode.textContent));

Okay, thanks.

Okay, thanks.


Task/prod deploy

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 81.25%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
130

Relevant Lines:
160

💛  - Coveralls


feat[next][dace]: Modified the file caching.

In PR #1422 @edopao introduced a mechanism to skip the SDFG translation. This PR moves this cache from the run_dace_iterator() function into the build_sdfg_from_itir() function.

run cscs-ci

cscs-ci run

run cscs-ci


Make 0.4 ready for release

This is a place to collect things TODO to get the next branch ready for release.

Merge fixes for live reload
Merge connect/express improvements
Packing logic: options.packedAssets vs options.packAssets vs client.packAssets(opts)
Ensure no regression on web worker support
Unit tests for web worker support
Tests and Docs for on demand serving

:)  I will find time to contribute to this sometime this week.  May be small, but I will.

60% coverage btw. Yes I know even at 100% it won't be enough, but it's rising.

Only thing outstanding is nodemon. I don't have time to document, but anybody is welcome to do it.


chore (api)!: remove capabilities from SendPacket

Description

closes: #XXXX

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against the correct branch (see CONTRIBUTING.md).
[ ] Linked to GitHub issue with discussion and accepted design, OR link to spec that describes this work.
[ ] Code follows the module structure standards and Go style guide.
[ ] Wrote unit and integration tests.
[ ] Updated relevant documentation (docs/).
[ ] Added relevant godoc comments.
[ ] Provide a conventional commit message to follow the repository standards.
[ ] Include a descriptive changelog entry when appropriate. This may be left to the discretion of the PR reviewers. (e.g. chores should be omitted from changelog)
[ ] Re-reviewed Files changed in the GitHub PR explorer.
[ ] Review SonarCloud Report in the comment section below once CI passes.

It's probably better to have this one merged https://github.com/cosmos/ibc-go/pull/7089 before we merge any removal of capabilities, to avoid merge conflicts on that PR


Tell city to have program websites or affordableseattle.org deep-link into the UAT

Part of #285

Note: this is more a marketing thing to convince the city to change their website; we don't have to do any eng work

Deep-linking is indeed possible right now -- CiviForm admins can get the deep-link to the program from the CiviForm admin homepage.

Elise at the City of Seattle says that the City wants to wait until the product is ready for public use (i.e. not in pilot) before adding the deep links to affordableseattle.org and other pages. I think that public use should be ready for Q3 2021, so I'm moving this task there.


Clear database before running application_navigation screenshot tests

Description
Browser tests are currently failing in CI due to interaction between tests. This clears the database before running the screenshot tests to fix the issue.
Release notes:
N/A
Checklist

[x] Added the correct label: < feature | bug | dependencies | infrastructure | ignore-for-release >
[ ] Created tests which fail without the change (if possible)
[ ] Extended the README / documentation, if necessary

Issue(s)

Codecov Report

Merging #3293 (7dbbef3) into main (8f964f4) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main    #3293   +/-   ##
=========================================
  Coverage     79.61%   79.61%
  Complexity     2313     2313
=========================================
  Files           285      285
  Lines          9095     9095
  Branches        605      605
=========================================
  Hits           7241     7241
  Misses         1622     1622
  Partials        232      232

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


Unable to run shopping cart in localhost

I tried to run the shopping cart in mylocal its not working by following the steps which you have specified in readMe.txt.please help me to run  @sivadass

Thanks for your feedback buddy :)


xheaders xss - Fix for bug #392

I just wrote a simple validation function that uses the  socket.inet_pton() function. Since that module was already imported, it seemed the best way to solve while not adding much overhead.

According to the docs socket.inet_pton is not guaranteed to be present (and is apparently never present on windows), so we need a fallback in that case (probably just a check that it only contains valid characters: "[0-9a-fA-F:.]*"?).  Even when inet_pton is available I'm not sure it's worth the complexity to use it.
Also, while this is a bug in that HTTPRequest.remote_ip may not actually contain an IP address, it's not really accurate to call it an XSS - the XSS bug is in whatever software treats IP addresses as potential markup rather than plaintext.  (I'm more sympathetic to the fact that someone could use this to slip e.g. a tab character into remote_ip and break people's logging formats, since escaping discipline for logs tends to be less rigorous than for html).  The xheaders mechanism should really be more configurable than just true/false, so that it would only trust the headers set by the proxy you're using (and that proxy would presumably strip out any incoming values for these headers)

My initial thought was to just use a regex but I both wanted to ensure that the value given really could be an address (not just valid characters) and didn't want to handle all of the corner cases using regular expressions. I agree that inet_pton is probably more complex than what is needed here but don't know what the best solution might be. Maybe the fallback you described is sufficient for gaining Windows compatibility. Ben, your thoughts here would be helpful; If you think just a fallback character matching pattern is fine then I'll just go ahead with that.
While I realize this doesn't necessarily have to result in XSS, it's just what I wrote a test for - following this blog post about a similar Rails bug: http://webservsec.blogspot.com/2011/02/ruby-on-rails-vulnerability.html Essentially, this value could end up anywhere (logs, html, datastore) so it would just be nice to do a decent first pass at sanitizing it to something reasonable. I also thought that any proxy software being used would strip these out but it probably isn't safe to assume that either.

On further investigation, it appears that getaddrinfo (with the AI_NUMERICHOST flag) can parse IP addresses more portably than inet_pton (source: http://stackoverflow.com/questions/1389082/ipv6-address-validation-and-canonicalization), so I'm going to merge this and rewrite the check to use getaddrinfo instead.


[:inventory] Catch inventory errors

Fixes #365
tested locally with corrupted ansible.cfg file

if/when the signature from runner changes WRT errors, we can fix here