remove linking to libpython on linux/OSX

This allows building of dlib on linux without libpython and is the second step in enabling #138.
Depending on the merge order of this and #701 I'll refactor one or the other.
Also relevant for @matthew-brett
In order to build a wheel on manylinux:
wget http://www.cmake.org/files/v2.8/cmake-2.8.12.tar.gz --no-check-certificate
tar -zxvf cmake-2.8.12.tar.gz
cd cmake-2.8.12
./bootstrap
make
make install
cd ..
wget -O boost.tar.gz https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.gz --no-check-certificate
tar -zxvf boost.tar.gz
cd boost_1_64_0
./bootstrap.sh --with-python=/opt/python/cp27-cp27mu/bin/python
./b2 install
cd ..
git clone https://github.com/davisking/dlib.git
cd dlib
export CPATH=/opt/python/cp27-cp27mu/include/python2.7
export BOOST_ROOT=/usr/local/lib
/opt/python/cp27-cp27mu/bin/python setup.py bdist_wheel --yes DLIB_NO_GUI_SUPPORT

Output of auditwheel:
[root@451ff0031654 dist]# auditwheel show dlib-19.4.99-cp27-cp27mu-linux_x86_64.whl

dlib-19.4.99-cp27-cp27mu-linux_x86_64.whl is consistent with the
following platform tag: "linux_x86_64".

The wheel references external versioned symbols in these system-
provided shared libraries: libgcc_s.so.1 with versions {'GCC_4.0.0',
'GCC_3.0'}, libc.so.6 with versions {'GLIBC_2.3', 'GLIBC_2.2.5'},
libm.so.6 with versions {'GLIBC_2.2.5'}, libstdc++.so.6 with versions
{'CXXABI_1.3.1', 'CXXABI_1.3', 'GLIBCXX_3.4'}, libpthread.so.0 with
versions {'GLIBC_2.2.5', 'GLIBC_2.3.2'}

The following external shared libraries are required by the wheel:
{
    "libboost_python.so.1.64.0": "/usr/local/lib/libboost_python.so.1.64.0",
    "libc.so.6": "/lib64/libc-2.5.so",
    "libdl.so.2": "/lib64/libdl-2.5.so",
    "libgcc_s.so.1": "/lib64/libgcc_s-4.1.2-20080825.so.1",
    "libm.so.6": "/lib64/libm-2.5.so",
    "libnsl.so.1": "/lib64/libnsl-2.5.so",
    "libpthread.so.0": "/lib64/libpthread-2.5.so",
    "librt.so.1": "/lib64/librt-2.5.so",
    "libsqlite3.so.0": "/usr/local/lib/libsqlite3.so.0.8.6",
    "libstdc++.so.6": "/usr/lib64/libstdc++.so.6.0.8",
    "libutil.so.1": "/lib64/libutil-2.5.so"
}

In order to achieve the tag platform tag "manylinux1_x86_64" the
following shared library dependencies will need to be eliminated:

libboost_python.so.1.64.0, libsqlite3.so.0
[root@451ff0031654 dist]# auditwheel repair dlib-19.4.99-cp27-cp27mu-linux_x86_64.whl
Repairing dlib-19.4.99-cp27-cp27mu-linux_x86_64.whl
Grafting: /usr/local/lib/libboost_python.so.1.64.0 -> dlib/.libs/libboost_python-241685b5.so.1.64.0
Grafting: /usr/local/lib/libsqlite3.so.0.8.6 -> dlib/.libs/libsqlite3-0a3628e4.so.0.8.6
Setting RPATH: dlib/dlib.so to "$ORIGIN/.libs"
Previous filename tags: linux_x86_64
New filename tags: manylinux1_x86_64
Previous WHEEL info tags: cp27-cp27mu-linux_x86_64
New WHEEL info tags: cp27-cp27mu-manylinux1_x86_64

Fixed-up wheel written to /mnt/wheels/dlib/dist/wheelhouse/dlib-19.4.99-cp27-cp27mu-manylinux1_x86_64.whl

This makes regular builds fail to compile.  Any proposed updates to dlib must not interfere with existing common usage.

Ah, I am sorry, this indeed breaks the OS X build. So #701 would need to be merged first and this needs to be edited to only add the -shared flag in the case of linux.

It breaks on linux too.  I haven't tried it on windows, but I would bet money it breaks it there too.
Please submit a PR that doesn't break anything.  I also don't understand what this PR is accomplishing.  Maybe because I'm not familiar with manylinux.

This PR tries to accomplish fixing the building in a way that is compatible with python wheels (see PEP-427: https://www.python.org/dev/peps/pep-0427/). Wheels have become a very popular way to distribute complex python packages (see for example numpy/scipy/pandas/tensorflow/pytorch/scikit-learn who also distribute their package this way). It allows the user to install dlib from pypi in a matter of seconds instead of having to go through a compilation phase.
In order to be able to build a wheel one needs to precompile all assets, which is done on manylinux to be as widely compatible as possible.
The travis builds are passing and I am very curious to hear why it fails building for you.
I propose we do #701 first, so I can update this PR to work with every platform. If you prefer I can also take the changes of that PR and integrate it into this one.

The travis builds weren't building the pyhton extension.   I just updated the travis config to include them though, so if you trigger a rebuild on travis you will see your build fail.
But yes, binary linux packages sound great.  But whatever changes are made, it still needs to be possible for people to download dlib and run cmake or setup.py to build it themselves.

Ah, that's great, thanks! I'll update this PR tomorrow to include the OSX bit, which will then automatically trigger the rebuild.
These changes are not meant to break running cmake/setup.py manually and I'm keen to fix them.

Cool, sounds good :)

I cleaned up all the building files and ran:
export CPATH=/<path-to-python>/python/2.7.13/Frameworks/Python.framework/Versions/2.7/include/python2.7
cd tools/python
mkdir build
cd build
cmake ..
make install
cd ../../../python_examples
./svm_rank.py

output:
$ ./svm_rank.py
Ranking score for a relevant vector:     0.5
Ranking score for a non-relevant vector: -0.5
ranking_accuracy: 1  mean_ap: 1
Weights: 0.5
-0.5
Cross validation results: ranking_accuracy: 1  mean_ap: 1
Ranking score for a relevant vector:     0.5
Ranking score for a non-relevant vector: -0.5

It is not reasonable to expect users to put export CPATH=/<path-to-python>/python/2.7.13/Frameworks/Python.framework/Versions/2.7/include/python2.7 or any similar thing in front of their compile commands.  Many users don't even know how many versions of python they have installed, let alone where those versions reside on their filesystems.

I think I have found a way to allow users to build without specifying CPATH but also not requiring things that don't exist on a manylinux, by using find_package but not REQUIRE.
Please review the changes and let me know what you think.

Cool, looks good.  Thanks for the PR :)

Great - many thanks for all your hard work on this.


44.1K Sample Rate Strategies

Here is a 44.1k sample rate clip, trained ~50k steps on VCTK speaker 280 (with a 100k sample size).
Any suggestions for how to improve it? I'm noticing:

Those pops / that top end distortion. Sounds sort of like zero crossing pops to me?
Also this clip sounds like it has a repetitive short window, moreso than other clips I'm hearing? I think this is a sample size issue? I was bumping into problems trying to scale my sample size along with the sample rate (most people here are using 16k sample rate with a 100k sample size), I think they were memory problems. Will check into this tomorrow and test the checkpoints I already have with a wav_seed as well.

Settings I used were the ones @jyegerlehner posted here: https://github.com/ibab/tensorflow-wavenet/issues/47#issuecomment-250218850
{
"filter_width": 2,
"sample_rate": 44100,
"dilations": [1, 2, 4, 8, 16, 32, 64, 128, 256, 512,
1, 2, 4, 8, 16, 32, 64, 128, 256, 512,
1, 2, 4, 8, 16, 32, 64, 128, 256, 512,
1, 2, 4, 8, 16, 32, 64, 128, 256, 512,
1, 2, 4, 8, 16, 32, 64, 128, 256, 512,
1, 2, 4, 8, 16, 32, 64, 128, 256, 512,
1, 2, 4, 8, 16, 32, 64, 128, 256, 512,
1, 2, 4, 8, 16, 32, 64, 128, 256, 512],
"residual_channels": 32,
"dilation_channels":32,
"quantization_channels": 256,
"skip_channels": 1024,
"use_biases": true
}

@paperkettle  Thanks, interesting. What's your learning rate and silence trimming history?

this clip sounds like it has a repetitive short window

@paperkettle OK one observation: that config you cited has a ~500 msec receptive field only at 16kHz. At 44kHz, it would have ~180 mSec receptive window. The receptive field size is determined by the dilations (and filter width=2). But that determines the filter width in terms of number of samples; to get to wall-clock time you have to take into account the sample rate. I think that probably explains the "short repetitive window" aspect of the result.
Cranking up the dilations to get to 500 msec at 44.1 kHz would require a really deep and (memory-wise) large net. You could try that. I suspect to get to larger receptive fields (in terms of samples) efficiently we would need to implement context stacks as described in section 2.6 of the paper.

@paperkettle Sorry to spam you with so many messages, but another observation. There's a default command line argument sample_size = 100000 into which the input size gets chopped up during training, if the length exceeds that number. That's a little over 2 seconds at a 44.1 kHz sample rate. Most audio clips are longer than that.  I would try turning that off completely by specifying --sample_size 0 on the command-line.

Thank you for the issue. Actually I am also faced with the same problem, though for another dataset.
So the dilations, filter width and sampling frequency determine the "receptive field" [ms]: Is there any formula for that? Thank you in advance.

What's with the clicks? Any idea?
44.1 kHz is not that important for TTS (the energy above 8-10 kHz is very
low anyway), but it's good that we benchmark it at that sample rate for
when we want to train on music.
It would be good to see if we can achieve decent results at 10 bits as well
(1024 levels seems reasonable, 16 bits is probably too much).
El dj., 6 oct. 2016 a les 1:12, Chris Novello<EMAIL_ADDRESS>va escriure:

https://soundcloud.com/paperkettle/wavenet-441k-sample-rate-vctk-speaker-280-50k-steps
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ibab/tensorflow-wavenet/issues/124, or mute the
thread
https://github.com/notifications/unsubscribe-auth/ADCF5p2a3LRj4xi4jTxPIp-3t9Y4ZvS4ks5qxINGgaJpZM4KPjlI
.

@shiba24

the dilations, filter width and sampling frequency determine the "receptive field" [ms]: Is there any formula for that?

You can work it out with a paper and pencil from figure 3 of the paper so as to have an intuition about it. Or search for "compute_receptive_field_size" in this source file:
https://github.com/jyegerlehner/tensorflow-wavenet/blob/skip-receptive-field/wavenet/model.py

@jyegerlehner — spam away, it's very helpful to get feedback! Learning rate is .001 (didn't change it with steps either). Silence trimming is default.
"I would try turning that off completely by specifying --sample_size 0 on the command-line."
Ah, good yes will try. Still wrapping my head around receptive field <-> sample rate & size <-> net behavior — haven't known how to think about the chunking.
I knew I had cut the receptive field and figured that was related to the short window sound (the current output reminds of granular synths). As a result, I tried to do a training pass with a 275000 sample size (not looking at the formula, I just naively scaled the sample size along with my jump from 16000 to 44100). That was when I hit what I think were memory errors (running a 1080 GTX which has 8 gigs), though it was late and I will test again and look more closely. It successfully ran around 125000 sample size.
Let's say I feed a single long audio file in with a sample_size 0 — won't I bump into the same issue?
If no, under what circumstances would one want to specify a sample size? Just to tune the network into looking at specific lengths of time in relation to the content one is getting it to learn?
Or asked differently, what is the design rationale for chopping up inputs..? To be able to dump a massive folder of varied data and ensure that it looks at as many different files as possible?
Have some more abstract questions but going to give the paper & codebase some time this evening while I run some more tests before asking.

@jyegerlehner thank you very much! :)

@paperkettle For RNN's truncated BPTT is common due to GPU memory limit.

Let's say I feed a single long audio file in with a sample_size 0 — won't I bump into the same issue?

Yes probably. The sample_size "chunking" was put in for memory reasons.

want to specify a sample size

If you don't specify one at all, you get the default which is 100000 samples.

Or asked differently, what is the design rationale for chopping up inputs..? To be able to dump a massive folder of varied data and ensure that it looks at as many different files as possible?

I don't see how chunking helps. It probably hurts a bit because more of the training data, as a fraction of the whole, is training when the input receptive field is not fully filled yet. And it's learning to predict a discontinuity in the audio, wherever that first sample in the chunk happens to be, when there are no preceding samples. So ideally I think we wouldn't chunk at all; you'd always be working on one long continuous stream of data. Except the memory required grows linearly with duration. So I'd make sample size as large as your memory permits.
A couple possibilties for overcoming memory constraint: switch from float32 to float16. Every tensor will use exactly half as much memory. I tried a hack where I naively replaced all dtype=float32 with dtype=float16, and immediately got NaNs. I don't know if that's because fp16 is that much more numerically unstable, or if it's because there's something else in the code that I missed that was expecting float32. Also, I think choosing the sgd optimizer uses less memory than adam. Doesn't require as many copies of tensors, if I'm not mistaken. That could be a factor of two or so also.

Randomly cropped samples might be beneficial to make truncation not to introduce unnecessary side-effects. Although we use same train data set for each epochs, input sample sequences are randomly cropped so the unnecessary 'boundary-effect' could be blurred.

Yeah, I'd recommend to set the batch size to 1 and choose the sample size as large as possible.
Cutting the samples to a fixed size is useful, as it prevents us from crashing when one of the samples is particularly large.
batch_size > 1 should come in handy if we want to use things like batch normalization.

Here is another clip using those same settings, except

trained/generated using a 22.5k sample rate
trained on a dataset of my own voice as large as each individual VCTK entry

I do hear more quality top end data than in the 16k clips that I've generated, and it is a large enough receptive field to generate language-like chunks (rather than the 44.1k clips I made, which felt stuck in granular synth / timestretch hiss / reverse reverb territory)
https://soundcloud.com/paperkettle/wavenet-babble-test-trained-a-neural-network-to-speak-with-my-voice

Could you post settings used?
2016년 10월 17일 (월) 오전 11:13, Chris Novello<EMAIL_ADDRESS>작성:

Here is another clip using those same settings, except

trained/generated using a 22.5k sample rate
trained on a dataset of my own voice as large as each individual
VCTK entry

I do hear more quality top end data than in the 16k clips that I've
generated, and it is a large enough receptive field to generate
language-like chunks (rather than the 44.1k clips I made, which felt stuck
in granular synth / timestretch hiss / reverse reverb territory)
https://soundcloud.com/paperkettle/wavenet-babble-test-trained-a-neural-network-to-speak-with-my-voice
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ibab/tensorflow-wavenet/issues/124#issuecomment-254096891,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACWXUzhJLKcG73rKrVi6m1xcMvbDzlAhks5q0tnKgaJpZM4KPjlI
.

~40k iterations with
sample rate 100000
learning rate .001
{
"filter_width": 2,
"sample_rate": 22500,
"dilations": [1, 2, 4, 8, 16, 32, 64, 128, 256, 512,
1, 2, 4, 8, 16, 32, 64, 128, 256, 512,
1, 2, 4, 8, 16, 32, 64, 128, 256, 512,
1, 2, 4, 8, 16, 32, 64, 128, 256, 512,
1, 2, 4, 8, 16, 32, 64, 128, 256, 512,
1, 2, 4, 8, 16, 32, 64, 128, 256, 512,
1, 2, 4, 8, 16, 32, 64, 128, 256, 512,
1, 2, 4, 8, 16, 32, 64, 128, 256, 512],
"residual_channels": 32,
"dilation_channels":32,
"quantization_channels": 256,
"skip_channels": 1024,
"use_biases": true,
"scalar_input": false,
"initial_filter_width": 32
}

@paperkettle, you said: "trained on a dataset of my own voice". How well does the model imitating your voice in that clip?? and how did you prepare the dataset? Did you record yourself saying the same phrases than in one VCTK speaker?

@zeta36 The clip reproduces some of the character of my recorded dataset, for sure. Glitchier and otherworldly (I suspect a larger receptive field would help).
"Did you record yourself saying the same phrases than in one VCTK speaker?" — yeah.
I re-recorded a vocal set from VCTK (toward future experiments of training the on my voice + the full dataset). I some compression and a little bit of de essing. Recorded on a $100 condenser mic in a living room (so yes some room sound in my dataset — more than the VCTK but not that much).
I found the VCTK txts awkward to read (I would never speak in the style they're written) and thus the personality of my dataset is pretty announcerly. I'm planning to sample my own writing and do more passes in the near future.

@paperkettle, some people in here #112 is beginning to develop the local conditioning. Your voice could be one of the first using and testing this feature. I recommend you forking the @alexbeloi development in this sense and make a try.
Regards.

Hello, I have tried several configurations with many datasets and I have seen a pattern over them when it goes to train 44.1kHz songs and 16kHz songs. They show a difference of loss of about 1 with same configurations, any guess why it is happening?
I have been training with very low sample size of 16k or 32k as my gpu runs out of memory with bigger numbers.
Regards-


How does envoy respond after receiving a packet from the listener <IP_ADDRESS>:15001

Title: How does envoy respond after receiving a packet from the listener <IP_ADDRESS>:15001
Description:
client IP <<IP_ADDRESS>> -> svc ip <<IP_ADDRESS>>
The first socket is  <IP_ADDRESS>:49104-><IP_ADDRESS>:1989 to send [syn]
iptables redirect
-A ISTIO_REDIRECT -p tcp -j REDIRECT --to-ports 15001

then the socket is  <IP_ADDRESS>:49104-><IP_ADDRESS>:15001 to send [syn]
The socket that the client expects to receive is <IP_ADDRESS>:1989-><IP_ADDRESS>:49104 , to req [syn+ack]
See the existence of this package by capturing the package

How does envoy make this?
The documentation says:
https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/listener_filters/original_dst_filter
Original destination listener filter reads the SO_ORIGINAL_DST socket option set when a connection has been redirected by an iptables REDIRECT target,
or by an iptables TPROXY target in combination with setting the listener’s transparent option.

Saw the relevant code:
  sockaddr_storage orig_addr;
  memset(&orig_addr, 0, sizeof(orig_addr));
  socklen_t addr_len = sizeof(sockaddr_storage);
  int status;

  if (*ipVersion == Address::IpVersion::v4) {
    status = sock.getSocketOption(SOL_IP, SO_ORIGINAL_DST, &orig_addr, &addr_len).rc_;
  } else {
    status = sock.getSocketOption(SOL_IPV6, IP6T_SO_ORIGINAL_DST, &orig_addr, &addr_len).rc_;
  }

is envoy extracts the original destination address from the socket option SO_ORIGINAL_DST, and then creates the following socket: <IP_ADDRESS>:1989-><IP_ADDRESS>:49104 ,returned to the client?
or
is envoy uses the packet-back mechanism of iptables redirection ?

is envoy extracts the original destination address from the socket option SO_ORIGINAL_DST,
Yes
and then creates the following socket: <IP_ADDRESS>:1989-><IP_ADDRESS>:49104 ,returned to the client?
No. Envoy would consider the accepted socket has local address <IP_ADDRESS>:1989 and then relooks up the listeners with options bind_to_port=false.

@lambdai  You seem to have misunderstood my question，My question is how the socket <IP_ADDRESS>:1989-><IP_ADDRESS>:49104  seen by the client was generated during the three-way handshake,packet 6 in wirshark

it use conntrack
[NEW] tcp      6 120 SYN_SENT src=<IP_ADDRESS> dst=<IP_ADDRESS> sport=46248 dport=8080 [UNREPLIED] src=<IP_ADDRESS> dst=<IP_ADDRESS> sport=15001 dport=46248
[UPDATE] tcp      6 60 SYN_RECV src=<IP_ADDRESS> dst=<IP_ADDRESS> sport=46248 dport=8080 src=<IP_ADDRESS> dst=<IP_ADDRESS> sport=15001 dport=46248
[UPDATE] tcp      6 432000 ESTABLISHED src=<IP_ADDRESS> dst=<IP_ADDRESS> sport=46248 dport=8080 src=<IP_ADDRESS> dst=<IP_ADDRESS> sport=15001 dport=46248 [ASSURED]
[UPDATE] tcp      6 120 FIN_WAIT src=<IP_ADDRESS> dst=<IP_ADDRESS> sport=46248 dport=8080 src=<IP_ADDRESS> dst=<IP_ADDRESS> sport=15001 dport=46248 [ASSURED]
[UPDATE] tcp      6 30 LAST_ACK src=<IP_ADDRESS> dst=<IP_ADDRESS> sport=46248 dport=8080 src=<IP_ADDRESS> dst=<IP_ADDRESS> sport=15001 dport=46248 [ASSURED]
[UPDATE] tcp      6 120 TIME_WAIT src=<IP_ADDRESS> dst=<IP_ADDRESS> sport=46248 dport=8080 src=<IP_ADDRESS> dst=<IP_ADDRESS> sport=15001 dport=46248 [ASSURED]
[DESTROY] tcp      6 src=<IP_ADDRESS> dst=<IP_ADDRESS> sport=46248 dport=8080 src=<IP_ADDRESS> dst=<IP_ADDRESS> sport=15001 dport=46248 [ASSURED]


lang/latex: fix rainbow-delimiters-mode

Every time auctex does style update, it somehow messes up rainbow-delimiters-mode. See also https://tex.stackexchange.com/questions/272320/emacs-auctex-preserve-highlights-from-other-modes-after-apply-style-hooks
This pull request fixes rainbow-delimiters-mode, and also fixes a typo introduced in my previous pull request :/

Good catch. Thanks once again for your help!


Quick & beautiful GIF generation

jordan says, "we just did screen recordings and converted the movies to gifs. That is pretty simple to do...just lacking in the automation side of things. Similar to thumbnails, full automation may not be worth the cost at this time, but we'll see..."
Code at https://github.com/USGS-VIZLAB/hurricane-maria/blob/e03c071ed8e9c5da01c12c089d4545e0d5533686/scripts/visualize/plotting_utils.R#L218-L339 was an interesting start but ended up not being used

pulling in thought from #186: also explore GIFs as a thumbnail format for instagram

If we want GIFs as an interim solution for #259, we also need to work on high-resolution versions of these GIFs that can be played full-screen

An idea for high res + small file is at https://www.reddit.com/r/HighQualityGifs/comments/2klcxg/tips_for_keeping_a_file_size_small_for_long_gifs/clmgvf3/

the summer interns used D3 to take an SVG and render it in pixel space, then capture the png output, use the css rules to style it. maybe we could borrow from this? think about whether this is an appropriately sized task, and/or whether we should try this solution later when we know more D3.

The code that the interns wrote: https://github.com/USGS-VIZLAB/active-flood-viz/blob/7a7015565956e1938019a413fedc2b37310e8a81/floodviz/thumbnail/thumbnail.js

@jread-usgs just shared this on slack - seems like one possible approach: https://nytimes.github.io/svg-crowbar/
just wanted to get the link in here, though; other options are all still on the table, including screencapture, using d3 to render svg as the interns did, or creating a parallel viz in R that we can output to gif panes.

Stan is working on a version of this for vizlab at https://github.com/skaymen/viz-scratch

☝ that code is not finished or working and would need more eyes on it. Idea is to have that script be a function that can be called from within the d3 script of whatever viz (or maybe more formally in vizlab) that would have the necessary inputs, which appear to be height, width, and the svg d3 selection. Stan suggests having multiple people peer code something like this (like Mary) - could potentially be useful for other USGS applications that create SVGs...


Translation : Tagalog or Filipino

Hi sir, I would like to ask if I can translate it in Tagalog Dialect?

We'll accept pull requests to add this translation: https://github.com/github/opensource.guide/blob/gh-pages/docs/translations.md


Added backup_pv_data function to upgrade procedure

The backup_pv_data function will run pre-upgrade to ensure original contents of PV are intact
Added sub-shells w/ tee to restore_pv_data and backup_pv_data functions to ensure additional logging

@bazulay
The resulting backups after an upgrade procedure is initiated look as follows :
Sep 29 20:37:40 manageiq-1-ylbb2 appliance-initialize.sh[909]: == Found existing deployment configuration ==
Sep 29 20:37:40 manageiq-1-ylbb2 appliance-initialize.sh[909]: == Restoring existing database configuration ==
Sep 29 20:37:47 manageiq-1-ylbb2 appliance-initialize.sh[909]: == Starting Upgrade ==
Sep 29 20:37:47 manageiq-1-ylbb2 appliance-initialize.sh[909]: == Initializing PV data backup ==

[root@manageiq-1-ylbb2 backup]# ls -la /persistent/container-deploy/backup/
total 0
drwxr-xr-x. 5 root root 99 Sep 29 20:37 .
drwxr-xr-x. 4 root root 29 Sep 29 20:24 ..
drwxr-xr-x. 3 root root 27 Sep 29 20:28 backup_2016_09_29_202830
drwxr-xr-x. 3 root root 27 Sep 29 20:35 backup_2016_09_29_203550
drwxr-xr-x. 3 root root 27 Sep 29 20:37 backup_2016_09_29_203747


building js9 from 9.0.0 succeeds but referencing unexisting /dev/net/tun

After having build successfully from 9.0.0 and started js9, executing the below reveals a reference to an unexisting /dev/net/tun device:
docker inspect js9 | grep -i net
"NetworkMode": "default",
                "NET_ADMIN",
                    "PathOnHost": "/dev/net/tun",
                    "PathInContainer": "/dev/net/tun",

When checking there's not directory for it:
(js9) $ ls /dev/net
ls: /dev/net: No such file or directory

This problem could be solved by adding the --privileged option to the docker run command in js9_start, but that didn't solved the problem as described in https://github.com/Jumpscale/developer/issues/61

@arahmanhamdy could you add the commit that solved it please? or add some info?

The issue was related to docker permissions on mac
Commit: https://github.com/Jumpscale/developer/commit/2e8d52e27493d62a7a6e2f45f3f4115bf93a0c43


Add link to the Open Next Discord

Similar to what we have at https://github.com/cloudflare/workers-sdk/issues/new/choose

Thanks James!


Fix triple method override

What is the purpose of the change
Fix #13222
Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #13224 (c37f863) into 3.2 (a4a3fd7) will decrease coverage by 0.05%.
Report is 10 commits behind head on 3.2.
The diff coverage is n/a.

:exclamation: Current head c37f863 differs from pull request most recent head 5922499. Consider uploading reports for the commit 5922499 to get more accurate results

@@             Coverage Diff              @@
##                3.2   #13224      +/-   ##
============================================
- Coverage     69.44%   69.39%   -0.05%
  Complexity        2        2
============================================
  Files          1649     1649
  Lines         68725    68722       -3
  Branches      10014    10013       -1
============================================
- Hits          47728    47692      -36
- Misses        16405    16438      +33
  Partials       4592     4592

see 41 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


when exec 'npm start', it throw a error

  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^

Error: ENOENT: no such file or directory, open 'xxx/betwixt/node_modules/electron-prebuilt/path.txt'
    at Error (native)
    at Object.fs.openSync (fs.js:584:18)
    at Object.fs.readFileSync (fs.js:431:33)
    at Object.<anonymous> (/xxx/cloned/betwixt/node_modules/electron-prebuilt/index.js:4:21)
    at Module._compile (module.js:425:26)
    at Object.Module._extensions..js (module.js:432:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:313:12)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)

Not sure what causes that, but it seems to be an electron issue. Try rm -rf node_modules && npm install.

same issuse,reinstall and solved.thanks

@xiaotianhu thanks for letting me know. I'm closing the issue. If there is something I can do to fix it permanently for everyone, let me know.

thanks, i have solved this issue, cd node_modules/electron-prebuilt, and npm install


RC-Research Test: Molecule Polarity 1.1.0-rc.1

@KatieWoe, @kathy-phet, @arouinfar, molecule-polarity/1.1.0-rc.1 is ready for RC-Research testing.
This test will involve the PhET-iO version only.  A link to an RC version will be delivered to the researcher collaborator by 4/2/21.
Document issues in https://github.com/phetsims/molecule-polarity/issues and link to this
issue.
Assigning to @kathy-phet and @KatieWoe for prioritization.

General RC Test

What to Test
What to Test:

Click every single button.
Test all possible forms of input.

Test all mouse/trackpad inputs.
Test all touchscreen inputs.

Make sure you can't lose anything.
Play with the sim normally.
Try to break the sim.

What NOT to test:

Pan and zoom has been disabled in this RC branch, see https://github.com/phetsims/molecule-polarity/issues/103.

Tips for creating issues:

When making an issue, check to see if it was in a previously published version.
Try to include version numbers for browsers.
If there is a console available, check for errors and include them in the Problem Description.

Platforms and Browsers to Be Tested
We do not know what platforms will be used for the research study, so use this default list:

[x] Windows 10 + Latest Chrome (Time = 1.5 hr)
[x] Windows 10 + Latest Firefox (Time = .5)
[x] macOS + Safari (Time = .5)
[x] macOS + Chrome (Time = .5)
[x] iOS + Safari (Time = .5)
[ ] ChromeOS + Chrome (Time = )

PhET-iO RC Test

What to Test
From https://github.com/phetsims/molecule-polarity/issues/87, "saving state is of primary importance" for this research study.
In addition to the What to Test section from General RC Test above:

Test the Wrapper Index.
Test the Standalone sim.
Test the State Wrapper.
Conduct a recording test to Metacog, further instructions in the QA Book.

Link(s)

Wrapper Index: https://phet-dev.colorado.edu/html/molecule-polarity/1.1.0-rc.1/phet-io

Record Wrapper link:
https://phet-dev.colorado.edu/html/molecule-polarity/1.1.0-rc.1/phet-io/wrappers/login/?wrapper=record&validationRule=validateDigits&numberOfDigits=8&phetioEmitStates=true&phetioEmitStatesInterval=60

Record to a local file:
https://phet-dev.colorado.edu/html/molecule-polarity/1.1.0-rc.1/phet-io/wrappers/login/?wrapper=record&validationRule=validateDigits&numberOfDigits=8&phetioEmitStates=true&phetioEmitStatesInterval=60&localFile

Metacog recording (You need to add usual Metacog-testing query parameters.):
https://phet-dev.colorado.edu/html/molecule-polarity/1.1.0-rc.1/phet-io/wrappers/login/?wrapper=record&validationRule=validateDigits&numberOfDigits=8&phetioEmitStates=true&phetioEmitStatesInterval=60

FAQs for QA Members

There are multiple tests in this issue... Which test should I do first?
Test in order! Test the first thing first, the second thing second, and so on.

How should I format my issue?

We typically assign the developer who opened the issue in the QA repository.

My question isn't in here... What should I do?
You should:

Consult the QA Book.
Google it.
Ask Katie.
Ask a developer.
Google it again.
Cry.

Calling it here. QA is done.

Thanks @KatieWoe and QA team.  We will need one more RC, an rc-spot-check.  I'll leave this issue open and assigned to me until we receive feedback from the research collaborator (deadline Monday 3/29 @ 9:00AM MDT).

1.1.0-rc.2 was publish and is being tested in https://github.com/phetsims/QA/issues/631.
Closing.


Support pattern case insensitivity in Sigma plugin

With our patterns now supporting case insensitivity, this PR adds the same support to the Sigma value transpilation. Namely, all strings that contain Sigma wildcards are now turned into case-insensitive patterns, and startswith and endswith substrings are turned into case-sensitive patterns with  respective ^ and $ metacharacters.

and startswith and endswith substrings are turned into case-sensitive patterns with respective ^ and $ metacharacters.

According to https://socprime.com/blog/sigma-rules-the-beginners-guide/ it should still be insensitive in case it is in the detection component.

@tobim there are either regex patterns (|re) or strings. Only for the latter there's case insensitivity. For the former, Sigma relies on the respective regex engines to have inline pattern flags for things like case insensitivity.

Moving this comment to the top-level:

We had a huddle regarding this and the results are:

for re, do not set case insensitivity; the RE engine will parse case-insensitivity in the inline string.
string values should always be transpiled into case-insensitive patterns, regardless of whether they contain wildcards or not.


ICE: hir: index out of bounds

I suspect this is related to https://github.com/rust-lang/rust/issues/122399.
I pushed a minimal test case to https://github.com/andyleiserson/miri/commit/4c9d9ac10667aee405c5cf6be262f772c182e9d7. I'm including the content of the test case below. But to get the issue to reproduce, I had to add it as a crate in test-cargo-miri -- adding it as a regular test was not sufficient. My original repro (from which I distilled this test case) was git clone -b v0.12.1 https://github.com/rustls/rcgen.git && cd rcgen && cargo +nightly miri test.
const OID_RSA_ENCRYPTION: &[u64] = &[1, 2, 840, 113549, 1, 1, 1];

pub struct SignatureAlgorithm {
    pub oids: &'static [&'static [u64]],
}

pub static PKCS_RSA_SHA256: SignatureAlgorithm = SignatureAlgorithm {
    // Does not repro with this constant inlined.
    oids: &[&OID_RSA_ENCRYPTION],
};

The observed behavior is an ICE (reported as stderr mismatch when running run-test.py):
thread 'rustc' panicked at /rustc/a615cea3339046c7ab2d75cd253727d1fd42dd0b/compiler/rustc_middle/src/hir/mod.rs:157:84:
index out of bounds: the len is 7 but the index is 7

The ICE also includes the following context:
query stack during panic:
#0 [local_def_id_to_hir_id] getting HIR ID of `PKCS_RSA_SHA256::{constant#0}`
#1 [exported_symbols] collecting exported symbols for crate `0`
end of query stack

Cc @oli-obk


Toasts do not work when used alongside vue-turbolinks after first page change

I'm using Vue with Vue Turbolinks and Vue Toasted. When I refresh completely, the toasts work fine. When I refresh, then switch pages one or more times, the toasts do not work. I've narrowed it down to being an issue due to running alongside vue-turbolinks. I believe turbo links replaces the  element each navigation, so perhaps that is causing issues with toasted?
Expected Behavior: Toasts show even after all turbolinks navigations
Here is my app initialization code:
import TurbolinksAdapter from 'vue-turbolinks'
import Vue from 'vue/dist/vue.esm'
import Toasted from 'vue-toasted'

document.addEventListener('turbolinks:load', () => {
  axios.defaults.headers.common['X-CSRF-Token'] = document.querySelector('meta[name="csrf-token"]').getAttribute('content');
  axios.defaults.headers.common['Content-Type'] = 'application/json';
  axios.defaults.headers.common['Accept'] = 'application/json';

  const app = new Vue({
    el: '#vue-app',
    data: function() {
      return {
    },
    components: {

    }
  })

  Vue.use(Toasted)

})

Further digging in... I find toasted uses a container element nested under . When navigating using Vue turbolinks, the container element gets removed and never reinitialized. Turbolinks can keep elements permanent by adding an attribute - perhaps this would be a good workaround but I see no options for the container element when initializing toasted. Thoughts?


Fix lro default setting

Test results for the configuration that was showing failure. With the fix in these commits, test is passing.
lisa-20210812-062929-786.log


Python 3 default for buildpack

Regarding the nltk test failures, all I can find is:
https://github.com/nltk/nltk/issues/1696
https://groups.google.com/d/msg/nltk-users/Ns_02i8WOtc/UNMD524KEgAJ
...which aren't much help :-(

Perhaps the tests should be run on both Python 2.x and 3.x, and the test just skipped on 3.x for now?

Yeah I'm thinking of just having that test run on 2.7 explicitly.

Done :)

Changelog announced: https://devcenter.heroku.com/changelog-items/1169

Waiting for builds to pass, then merging!

When you release this, could you also add the tag for v109? I think it was 04f3ddbc86f6e5419fc247de268e5a1bfb0a00c3.


--lock without requirements installs the entire lock.

Closes https://github.com/pantsbuild/pex/issues/1657.
This mirrors the behavior of --pex-repository.

I checked this out on the CLI since my memory is so bad. Although zero reqs are tolerated, the result is an ~empty pex.

Ah my testing was too lazy. I should have tried doing imports in the REPL or inspected PEX-INFO. Thanks / my bad.


Exiftool Build

Exiftool doesn't build anymore (404 while downloading binary), need to fix version.

Fixed in  #14


Suggest for showing more visualization

Suggest for showing more visualization like

% of male/female/children affected
age graph of which age group most affected

temporal analysis of each district from starting of march to get.when click on district name,chart should appear for that district.

I can try some advance excel analysis if you give source file.

Seems to be have been addressed in Deep Dive


[bug] fix account-switcher broken by GitHub

GitHub apparantly has changed the dashboard switcher button element to a summary element.
Before:

After:

This is just a quick PR as this a change from the GitHub's side, it is still unknown that may also have broken RG somewhere else.

Also @busches or anyone, can you verify this on the enterprise side?


Advice: add more comment to source code

Hi, I'm using xmemcached all the time.
Your source code is well written and I've learned so much.
It's very kind of you if you would add more comment to the source code.
Thanks very much.

I will try to add more comments, thanks for your advice.


improvements for mqtt docs

Codecov Report

Merging #6549 into master will decrease coverage by 0.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #6549      +/-   ##
============================================
- Coverage     82.94%   82.93%   -0.02%
+ Complexity    13114    13100      -14
============================================
  Files          1504     1504
  Lines         48756    48756
  Branches       5878     5878
============================================
- Hits          40439    40434       -5
- Misses         5545     5547       +2
- Partials       2772     2775       +3

Impacted Files
Coverage Δ
Complexity Δ

...exceptions/GroupByOnArrayUnsupportedException.java
66.66% <0%> (-33.34%)
1% <0%> (-1%)

...in/java/io/crate/lucene/match/CrateRegexQuery.java
43.47% <0%> (-30.44%)
4% <0%> (-4%)

...main/java/io/crate/data/CollectingRowConsumer.java
69.23% <0%> (-15.39%)
4% <0%> (-1%)

.../java/io/crate/exceptions/ValidationException.java
57.14% <0%> (-14.29%)
2% <0%> (-1%)

...ain/java/io/crate/lucene/GenericFunctionQuery.java
55.31% <0%> (-6.39%)
9% <0%> (-1%)

...ate/operation/merge/RamAccountingPageIterator.java
94.44% <0%> (-5.56%)
8% <0%> (-1%)

...tor/transport/distributed/ModuloBucketBuilder.java
73.68% <0%> (-5.27%)
10% <0%> (-1%)

...rc/main/java/io/crate/analyze/symbol/Function.java
94.11% <0%> (-2.95%)
17% <0%> (-1%)

...rate/operation/user/TransportPrivilegesAction.java
97.14% <0%> (-2.86%)
11% <0%> (-1%)

.../operation/collect/sources/ShardCollectSource.java
82.82% <0%> (-2.53%)
29% <0%> (-2%)

... and 34 more

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 0637f0e...8733bdf. Read the comment docs.


Parent and Children in SiyuanBlock

Provide an easy way to get the parent and children of a SiyuanBlock.

Any news on this issue? I could really use it in my notes.
I tried using block.sons, but whenever I try to print, it says _FutureCachedValue, or when I try to iterate, it says it is not iterable.
What does .sons do and can I do with it?

Any news on this issue? I could really use it in my notes. I tried using block.sons, but whenever I try to print, it says _FutureCachedValue, or when I try to iterate, it says it is not iterable. What does .sons do and can I do with it?

Hey I'm sorry this project has been out of maintenance for quite a while. I would recommend to search for alternatives or just use SiYuan Note's offical API directly for the time being.
This Api would work directly.


Add Charts, Small Fixes, and Documentation

Draft, until I'm finished adding in developer docs
This PR adds the following

Build scripts which can be executed on Windows machines using Git Bash

This includes a utility script for building the DLL on systems which don't have Visual Studio / Framework SDK's installed
Using Git Bash to run on Windows means we don't have to implement / maintain two sets of build scripts ( bash & PowerShell), but adds an additional dependency into any CI runners we create.

Fixes to the plugin installer regarding safely adding and removing artifacts, as well as improved logging
Enhancements to the plugin DLL

Logging can be turned on or off on an account provider basis through the creation of an enable-logging.txt file in the rancher/gmsa/<NAMESPACE> directory
The DLL will now determine if it should make an HTTP/s or an HTTP request based off of the availability of the certificate

This can be useful in testing scenarios, or generally useful in situations where mTLS is not desired / possible for whatever reason.

The code has been refactored for better readability
dotnet build now properly signs the artifact

Fixes around how the account provider handles certificates and creates dynamic directories, especially on non-rancher clusters
initial charts for both the plugin installer and account provider

while testing this I found a bug: If the permitted os is just windows, and not linux/windows Rancher will ironically report that the chart cannot be installed on windows nodes. Likely a UI bug, but if it can be fixed in the chart itself then thats great

flags to both disable mTLS and skip the creation of artifacts for the account provider. This is useful in testing scenarios on non-windows systems.

Things that still need doing, or refinement:

The build process in general, especially regarding how the DLL is built and embedded into the installer. Currently it's a manual process, where the DLL must be built and committed before the installer is built - not great, but it works for the meantime.
Some of the certs written to the host can likely be omitted, like client/tls.crt, since we create a pfx file
The README for both charts
How we generate and import the pfx file for the account provider. I had an improved version in my old personal repo for this, but didn't include it in this version as I didn't get a chance to test it heavily.
Specifying node selectors and tolerations for both charts during the installation process
Getting a single multi-arch image created for both Charts
Security improvements regarding file permissions and certificates

We should discuss:

How many secrets can be put into a single account provider namespace. I do not think we should enforce / implement a hard limit of 1.
Chart versioning
The potential of creating an unofficial pause image for hostProcess containers, as the upstream pause image does not currently work out-of-the-box for our use case.
How to handle better uninstallation of the plugin, right now you have to modify the charts action value before uninstalling the chart.
How do we improve the strong name signing process? We should use delayed signing, however this introduces more complexity in the build process as we would need to store the private key outside of the repository, and pull it down as needed.

This PR closes #2, as the same fix is implemented here.

I've added some details to various README's regarding the overall design and development details for each component. I've also added a few diagrams to help visualize the flow, since it's much easier to digest that way.


XLSXML export getting failed when I try to pass email.

I am trying to export json object to excel with styling. For that I am using XLSXML. Issue is
when I add email column,  after export I am not able to open the file and its throwing file corrupted error .
Code:         alasql("SELECT Email as Email INTO XLSXML('restest280b.xls',?) FROM ?", [opts, data]); json obj :{ Id :10Email : "ex@ample" ExclDL : "No" } Could you please help onthis;``

Please provide of data and code to recreate the problem and reopen


python3Packages.pyevilgenius: 1.0.0 -> 2.0.0

Description of changes
https://github.com/home-assistant-libs/pyevilgenius/releases/tag/2.0.0

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 168760 run on x86_64-linux 1

1 package failed to build:

home-assistant-component-tests.evil_genius_labs

2 packages built:

python310Packages.pyevilgenius
python39Packages.pyevilgenius

I have cherry-picked this change into my staging tree, thank you!


General maintenance and tidying to ensure tests pass.

This large-ish PR aims to fix a number of challenges that make some of the tests flaky. At a high level:

Move from pyodbc to pymssql because the former hasn't proved particularly reliable and also doesn't work on arm platforms.
Updated requirements that do not require code changes. Cf. #161.
Change wait_container_is_ready to accept a list of "transient errors" for which another try should be attempted. Other errors (such as ImportError) reraise the exception immediately. This should avoid some confusion such as #137.
Add a function maybe_emulate_amd64 which sets --platform=linux/amd64 if the platform is arm64. This is required for cross-architecture testing because some images are only available as amd64.
Refactor of some parts of the docker client to provide easier error messages, such as "port mapping isn't available" as supposed to "NoneType is not indexable".
Changed the script of the Kafka container from sh to bash because sh doesn't support some of the syntax used (namely brackets). The Kafka tests are still a bit unstable, and I've marked them as xfail.
Some refactor in for MySql and SqlServer containers which used a mix of class variables and instance variables which required some hacks (e.g. using reload in testing).
Added some branching to allow for the tests to run on both arm64 and amd64.

@KerstenBreuer, this might be of interest if you want to get involved more with the code base.
@SergeyPirogov, would be great to get your eyes on this.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@fa36a25). Click here to learn what that means.
The diff coverage is 96.77%.

@@            Coverage Diff            @@
##             master     #136   +/-   ##
=========================================
  Coverage          ?   85.29%
=========================================
  Files             ?       23
  Lines             ?      585
  Branches          ?       37
=========================================
  Hits              ?      499
  Misses            ?       70
  Partials          ?       16

Impacted Files
Coverage Δ

testcontainers/general.py
0.00% <0.00%> (ø)

testcontainers/postgres.py
100.00% <ø> (ø)

testcontainers/core/waiting_utils.py
93.93% <80.00%> (ø)

testcontainers/core/container.py
80.23% <85.71%> (ø)

testcontainers/localstack.py
94.44% <94.44%> (ø)

testcontainers/compose.py
100.00% <100.00%> (ø)

testcontainers/core/generic.py
95.45% <100.00%> (ø)

testcontainers/core/utils.py
53.84% <100.00%> (ø)

testcontainers/elasticsearch.py
92.30% <100.00%> (ø)

testcontainers/google/pubsub.py
95.45% <100.00%> (ø)

... and 7 more

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 fa36a25...043160e. Read the comment docs.

@yakimka, planning to merge this one soon as it's been lingering for almost a year. It's a bit of a beast (see description) above.

@tillahoffmann any suggestions on my comments?

@yakimka, I can't see any comments. Are they possibly still showing as pending on your end?

@tillahoffmann oh, sorry, my fault

Hello.
I think logging is enough to quickly investigate the bug described by #137.
I mean this added code
 logger.debug('container is not yet ready: %s', traceback.format_exc())
But add transient_exceptions tuple is confusing when use some other docker images.
e.g.  MS SQL container on certain state of starting server returns the error:
pyodbc.InterfaceError: ('28000', "[28000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user 'SA'. (18456) (SQLDriverConnect); [28000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user 'SA'. (18456)")
These changes have also led to the need to list all the required exception types in the library's source code (e.g kafka.py)
When you instantiate any DockerContainer you can specify the concrete image name, but you cannot specify which exceptions should be ignored.

Hey, we can definitely consider adding transient exceptions as an exposed argument. The motivation behind the change was to not "hide" errors when they occur. E.g. an ImportError would previously time out after two minutes even though it should've failed immediately.


Multiple OAK-D-Lite working at the same time

Hello,
I've been having issues running the code of gen2-multiple-devices to detect and work with 2 OAK-D-LITE.
Once I run the code with 1 OAK-D-LITE, the implemented code run smoothly. If there are 2 OAK-D-LITE connected at the same time, directly to my Laptop, the code runs, the 2 instances of video load the first frame and the I have a stack overflow.
Can someone help me? Thanks!

@gteti sorry for the issues - we're are fixing some of the libraries we rely on, to handle multi-threading (and by that also multi device) better.
Can you test out by installing the following version of library:
python3 -m pip install --extra-index-url https://artifacts.luxonis.com/artifactory/luxonis-python-snapshot-local/ depthai==<IP_ADDRESS>.dev0+19e26acbe1fa39af235d993bb63962bdd64e4487

Hmm, we haven't seen this issue before - anything else that gets printed?
Can you run the same example but set DEPTHAI_LEVEL=trace env variable before and post the full output?

Yes, I've done as you asked and I get
(opencvenv) c:\InLav\Gianluca\Python\test_depthai>conda env config vars set DEPTHAI_LEVEL=trace
To make your changes take effect please reactivate your environment

(opencvenv) c:\InLav\Gianluca\Python\test_depthai>conda deactivate

c:\InLav\Gianluca\Python\test_depthai>conda activate opencvenv

(opencvenv) c:\InLav\Gianluca\Python\test_depthai>python test_multiple_OAKD.py
[2022-01-21 11:10:25.574] [debug] Python bindings - version: <IP_ADDRESS>.dev+19e26acbe1fa39af235d993bb63962bdd64e4487 from 2022-01-15 08:34:56 +0100 build: 2022-01-15 07:52:24 +0000
[2022-01-21 11:10:25.575] [debug] Library information - version: 2.14.1, commit: 04191c1dd40c5256c25088fa1d22abf42f8e7e70 from 2022-01-15 08:33:29 +0100, build: 2022-01-15 07:52:08 +0000
[2022-01-21 11:10:25.576] [debug] Initialize - finished
[2022-01-21 11:10:25.647] [debug] Resources - Archive 'depthai-bootloader-fwp-0.0.15.tar.xz' open: 2ms, archive read: 68ms
[2022-01-21 11:10:25.938] [debug] Resources - Archive 'depthai-device-fwp-f503b7adfd44b696187b7825a12a134ded0ca3f3.tar.xz' open: 2ms, archive read: 359ms
Found 1 devices
[2022-01-21 11:10:26.562] [debug] Device - OpenVINO version: 2021.4
Stack trace (most recent call last):
#31   Object "", at 00007FF872667F50, in Py_hashtable_copy
#30   Object "", at 00007FF8726672DD, in Py_hashtable_copy
#29   Object "", at 00007FF87283ECC0, in PyRun_SimpleFileExFlags
#28   Object "", at 00007FF87283EAF1, in PyRun_InteractiveOneFlags
#27   Object "", at 00007FF872840878, in PyRun_StringFlags
#26   Object "", at 00007FF872840D91, in PyRun_FileExFlags
#25   Object "", at 00007FF872840C9F, in PyRun_FileExFlags
#24   Object "", at 00007FF8727D22D9, in PyEval_EvalCodeWithName
#23   Object "", at 00007FF8727D0231, in PyEval_EvalFrameDefault
#22   Object "", at 00007FF8727D36B8, in PyEval_GetFuncDesc
#21   Object "", at 00007FF8726F5FA6, in PyObject_MakeTpCall
#20   Object "", at 00007FF85EBC65E2, in pybind11::error_already_set::error_already_set
#19   Object "", at 00007FF8727568DC, in PyType_Name
#18   Object "", at 00007FF872764753, in PyType_Ready
#17   Object "", at 00007FF8726F60EE, in PyVectorcall_Call
#16   Object "", at 00007FF8726F93EA, in PyMethod_Self
#15   Object "", at 00007FF8726F5FA6, in PyObject_MakeTpCall
#14   Object "", at 00007FF8726F6FE0, in PyMethodDef_RawFastCallKeywords
#13   Object "", at 00007FF85EBC9F52, in pybind11::error_already_set::error_already_set
#12   Object "", at 00007FF85EBFAFA4, in PyInit_depthai
#11   Object "", at 00007FF85EBFAEDA, in PyInit_depthai
#10   Object "", at 00007FF85EBEA5AC, in PyInit_depthai
#9    Object "", at 00007FF85ED38C35, in PyInit_depthai
#8    Object "", at 00007FF85ED492AC, in PyInit_depthai
#7    Object "", at 00007FF85ED221C6, in PyInit_depthai
#6    Object "", at 00007FF85ED252DD, in PyInit_depthai
#5    Object "", at 00007FF85EDB1391, in PyInit_depthai
#4    Object "", at 00007FF85EDB5E56, in PyInit_depthai
#3    Object "", at 00007FF85EDB309A, in PyInit_depthai
#2    Object "", at 00007FF8E79FFAE2, in RtlEnterCriticalSection
#1    Object "", at 00007FF8E79FFCB4, in RtlEnterCriticalSection
#0    Object "", at 00007FF8E7A33416, in RtlWaitOnAddress

(opencvenv) c:\InLav\Gianluca\Python\test_depthai>

Thanks @gteti
I'll try to reproduce on my end - might be a Windows specific issue...
Will circle back

Thank you. I think so too and it doesn't appear on different windows system. Strange thing 😄

@gteti
I've rechecked - the changes I made on that build cause issues on Windows, got same problem as you've posted. As its more of a sandbox build, I'll point you to the following modifications, which partially include similar fixes:
python3 -m pip install --extra-index-url https://artifacts.luxonis.com/artifactory/luxonis-python-snapshot-local/ depthai==<IP_ADDRESS>.dev+55ea937983c6911a6b39cffeb303b588307aff17

Let me know how that works on your end

Thank you @themarpe
This fix made my code work fine!

Do you want me to close this issue ?
Thanks again!

Thanks for testing this out!
We'll be incorporating this changes as soon as we do more testing across the devices and hosts.
Will close it, thanks again:)


Upgrade from Testcontainers 1.16.3 to 1.17.1 failed with NoClassDefFoundError

Unfortunately are facing the following issue:
09:29:45  java.lang.NoClassDefFoundError: org/testcontainers/shaded/org/apache/commons/lang3/SystemUtils
09:29:45  	at org.testcontainers.containers.BrowserWebDriverContainer.configure(BrowserWebDriverContainer.java:211)
09:29:45  	at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:322)
09:29:45  	at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:317)
...
09:29:45  	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:451)
09:29:45  Caused by: java.lang.ClassNotFoundException: org.testcontainers.shaded.org.apache.commons.lang3.SystemUtils
09:29:45  	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
09:29:45  	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
09:29:45  	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
09:29:45  	... 77 more
09:29:45

Hi @khmarbaise,
Please make sure that org.testcontainers:testcontainers is also updated to 1.17.1 (you may have it forced to a lower version, eg via Quarkus)

Hi @bsideup, first thanks for your fast answer...and the thing about "...forced to a lower versions" (no we are not using Quarkus) ..brought me into the right direction. We accidently haven't used the bom in that project (which I assumed) only two dependencies instead which might cause the issue.. I've changed to use the BOM instead ... and now it looks better...finishing the whole tests will take a few hours. I will report back.

So I confirm that it now works fine. That was the issue.


problem about dv/v

Hi ,
I’ve followed the NoisePy tutorial and successfully completed the correlation computation and stacking. Now, I’m looking to move on to the dv/v calculation. The paper "NoisePy: A New High-Performance Python Tool for Ambient-Noise Seismology" mentions that this step can be handled using the measure_dvv.py file. However, I couldn’t find this file in the GitHub repository.
I noticed that the monitoring_demo.ipynb file includes velocity change processing, but it’s only for single-station measurements. The monitoring_methods.py file contains the core functions for seven processing methods, but my programming skills aren’t strong enough to write the full code for the entire post-processing workflow.
Could you offer some guidance or suggestions on how to proceed? Thanks in advance, and I hope you’re having a great day!
老师您好！
我根据noisepy的教程已经完成了相关性计算和堆栈，我想要继续进行dv/v的计算，“NoisePy: A New High-Performance Python Tool for Ambient-Noise Seismology”中提到这一部分的处理可以根据measure_dvv.py文件来进行，但是我在github上的模块里并没有找到这个py文件，monitoring_demo.ipynb文件里有速度变化的处理，但是只是用于单站测量，而monitoring_methods.py文件里包含了七种处理方法的核心函数，但我的编程水平不足以支撑我编写完整的代码来进行后处理的全部流程，所以请给我一些建议，祝您生活愉快！

Hi @amell567,
Thank you for using NoisePy.
The instructions in that paper are for the original NoisePy version. Since last year, we have been working on refactoring to make this package easier to develop and deploy. To use NoisePy to get noise correlation functions, you can find the up-to-date document via this link: https://noisepy.github.io/NoisePy/.
Regarding the monitoring module measure_dvv.py, it has been renamed and placed here: src/noisepy/monitoring/monitoring_methods.py. All the modules in monitoring_method.py for computing temporal seismic velocity changes handle both single-station and two-station cases. The notebook monitoring_demo.ipynb is a quick demonstration of how NoisePy and its post-processes are connected as a workflow. To use the monitoring modules, you can get the results by replacing the pref and pcur with the NumPy arrays of your reference and current functions.
For instance, the pref and pcur in this case.
 ( returns... ) = stretching(pref, pcur, config_monito.epsilon, config_monito.nbtrial, para)
Lastly, if you are interested in monitoring methods, you can find descriptions and tests in tutorials/monitoring/monitoring_methods_tutorial.ipynb.
Feel free to let me know if you have any questions.

Hi!
I would like to chime in on this issue since I am trying to do also dv/v measurements. I was working with the monitoring_methods_tutorial.ipynb  and I got an error when I tried to run the cell on the section  5. Homogeneous half-space setting (example 01):

The error is in the second group of methods, when I tried to run:
 dvv, error = mwcs_dvv(ref_homo[itvec], cur_homo[itvec], moving_window_length, window_slide_step, para, smoothing_half_win=5)
Thanks for any help you can provide.

Hi Felix,
Regarding this error, I have tested the notebook from my side and can run through it without this issue. Can you do a git pull and test it again so that we can make sure we are on the same and up-to-date repo when troubleshooting this issue?
Please let me know if there are any updates. Thank you!

Hi Kuan, thanks for your reply.
I am confused regarding your suggestion, sorry. I did for installing:
conda create -n noisepy -y python=3.10 pip
conda activate noisepy
pip install noisepy-seis

So I am unsure whether the git pull command should work since the installation was made through pip rather than Anaconda. However, the installation was done under a recently created Anaconda environment.
If I activate the environment noisepy and just make git pull I got:
fatal: not a git repository (or any of the parent directories): .git
and it does make sense to me because usually, the git pull command works after activating a package that has been cloned through a git clone command.
Probably I am missing something here and I apologize for that. However, you are right in the sense that my code version is not up to date with the latest version. However, the scripts I got are the ones fetched after I followed the installation process. Indeed I opened another issue about this situation.
Thanks again for your help!

Hi！
I have finished running the monitoring_demo.ipynb file, now I want to process the local miniseed data, Therefore, I created ststation.csv and allfiles_time.csv files according to the requirements of the S0B_to_ASDF_2019.py file, and set the file path and parameters. However, when running the S0B_to_ASDF_2019.py code, errors were reported as shown in the figure. Please give me some advice, thank you, wish you a happy life!

Please refer to the noise_module file in the functions_2019 folder, which is compatible with S0B_to_ASDF_2019.py. You can find the make_timestamps functions here.


custom guides / warnings for specific users

Right now, a user who opens radi.cards in a normal browser, does not get any guidance in installing metamask (on desktop) or imToken (on mobile).
First we need screens for

user opens radi.cards in web2 browser on mobile

user opens radi.cards in web2 browser on desktop

sender on mobile is on wrong network. (hopefully not a big problem with CNY, because everyone uses imtoken)

receiver opens link in web2 browser on mobile

receiver opens link in web2 browser on desktop

receiver is on wrong network

receiver got metamask locked

successfull claim landing page

Screens in our figma https://www.figma.com/file/fYUJNZKCwLxGFIfC7VNa3GW1/CryptoNewYear?node-id=300%3A25
Related problems:

Include portis again, with custom flow
Opening claim link without web3 -> blank page https://github.com/RadiCards/radi.cards/issues/55
Fix receiver screen in wechat browser #46

@Lililashka am I right that you want to integrate Portis for situation 1) and 2)?


Compound problem with AWS

MacBook Pro (15-inch, 2017), 2.8 GHz Intel Core i7, 16 GB 2133 MHz LPDDR3, MacOS 10.14.5
After installing the plugins as per instructions, the following errors show up.
$ vagrant up
There are errors in the configuration of this machine. Please fix
the following errors and try again:
AWS Provider:

One or more of the needed AWS credentials are missing. No environment variables
are set nor profile 'default' exists at '/Users/bfmalle/.aws/'
An access key ID must be specified via "access_key_id"
A secret access key is required via "secret_access_key"
An AMI must be configured via "ami" (region: #{region})

I verified that the AWS plugin was installed:
Installed the plugin 'vagrant-aws (0.7.2)'!

Do you want to run the VM on AWS, or locally, using Virtualbox?

I followed Florian's advice to run using Virtualbox.  Installed Virtualbox, tried again (vigrant up).  First time it still gave an error:
Vagrant could not detect VirtualBox! Make sure VirtualBox is properly installed.
Vagrant uses the VBoxManage binary that ships with VirtualBox, and requires
this to be available on the PATH. If VirtualBox is installed, please find the
VBoxManage binary and add it to the PATH environmental variable.
But then I ran it again a little later, and it started the install.  New issues came up, and so I am creating a new thread.

Closing because new issues were opened for the next problems.


Add a "callback" keyword

Godot version:
11d7738
Issue description:
Add a editor-specific keyword (similar to export or even export) for marking functions as callbacks, so that only callbacks show up when connecting a signal and making a function track in the animation player.
Related to #24316

I don't see how useful this would be. It only makes sense if you have a lot of functions and signals in the same script, at which point you might consider splitting the script into more dedicated libraries. It's also often the case that you have a function to connect to a specific signal so even if it shows up in such list you would only use it once.
I'm also not fond of adding keywords to GDScript just to provide a help in the editor. If this becomes a thing then it should have a practical meaning in the language. For instance, we could make that only callback functions can be connected to signals (and called from the AnimationPlayer as well, maybe). But I don't think this would be helpful.

Note the wording in the OP:

[...] so that only callbacks show up when connecting a signal and making a function track in the animation player.

The idea is to make an editor-only aid, so as to not get flooded by functions such as set_name or is_visible when viewing the methods of a node.

if you take a look into a call function track interface, even the simplest Node (a bare node) has already 20-30 methods in the list.

Well, they are categorized so the script methods show first. You also might want to call those base functions of the Node, how to choose which ones can be called or not?
I also think that usually you already know the function you want to call so you can just use the search (which is focused by default already).
Besides that, I also fear that is a feature that will confuse users (does the function need to be a callback to be called or it's just an editor hint?) and also just not get known, since most people don't really read the docs.

@vnen I see your point. I'd say then that the problems outweight the gain, so we can close this :)


An unhandled exception of type 'System.NotSupportedException' occurred in System.Numerics.Vectors.dll

Hello, First i really appreciate your work. My programming skills in C# is not good therefore apology in advance if question seems to your good-self stupid.
when i copile the source i got the error in ModelSetting .cs
System.NotSupportedException was unhandled
HResult=-2146233067
Message=Vector.Count cannot be called via reflection when intrinsics are enabled.
Source=System.Numerics.Vectors
StackTrace:
at System.Numerics.Vector`1.get_Count()
at RNNSharp.ModelSetting.DumpSetting() in D:\RNNSharp-master\RNNSharp\ModelSetting.cs:line 51
at RNNSharpConsole.Program.Train() in D:\RNNSharp-master\RNNSharpConsole\Program.cs:line 444
at RNNSharpConsole.Program.Main(String[] args) in D:\RNNSharp-master\RNNSharpConsole\Program.cs:line 277
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
here is my screen shoot:

so please help , i am new to C# and my work is pending since two days due to this bug. thanks

Are you compiling it as "Debug" ?
It seems to be a known bug in Debug mode (https://social.msdn.microsoft.com/Forums/vstudio/en-US/fd0a9ecc-b122-4795-a0e0-1cb6dc7a1a4a/anyone-got-simd-working-in-vs2015-net-46?forum=csharpgeneral)

Yes brataoi am compiling it in "Debug" mode

@bratao i followed your mentioned link, where i found that it is still unsolved issue. am i right?

@My-Khan  Did you try to run it "Release" mode ?
RNNSharp uses this Vector lib to speed up encoding and decoding by SIMD instruction. As far as I know, if your CPU doesn't support AVX2 instruction, it will throw out an exception in "debug" mode.
I'm thinking about adding a compiling definition, such as SUPPORT_SIMD, for the machine that doesn't support AVX2, but currently, I'm focusing on deep recurrent neural netowork for RNNSharp, so this fixing will be implemented later.

many thanks sir for your kind reply. Now as per your kind suggestions i run it in release mode and got the following error message.
An unhandled exception of type 'System.Exception' occurred in RNNSharp.dll
Additional information: The offset of run time feature should be negative.
screen shots of my error are below.

Could you please share your configuration file ? It seems incorrect settings in real time feature.

Sir, below is my configuration file contents
#Template Features
TFEATURE_FILENAME:tfeature
#Context Features
TFEATURE_CONTEXT:-2,-1,0,1,2
#The context range for word embedding. In below, the context is current token, previous token and next token
#The word embedding data file name generated by WSDSharp
WORDEMBEDDING_FILENAME:myvector
WORDEMBEDDING_CONTEXT: -1,0,1
#The column index applied word embedding feature
WORDEMBEDDING_COLUMN: 0
#The run time feature
RTFEATURE_CONTEXT: 0

RTFEATURE_CONTEXT value should be negative( < 0), since RNNSharp uses previous tokens' outputs as run time features for current token.
In addition, this feature is only for forward neural network so far, bi-directional RNN doesn't support it.

Well sir the previous issue resolved, but a new issue generated, please also look this one, thanks in advance. this time it does not recognize the mapping tags.
My training data is organized as, first column represent token,2nd column represents part of speech tag and last column represents label.
Below is the error message:
An unhandled exception of type 'System.DataMisalignedException' occurred in RNNSharp.dll
Additional information: Error: tag B_LOCATION is unknown. Tokens list:  	SentBE
contents of my mapfile are
00	O
01	S_PERSON
02	B_PERSON
03	M_PERSON
04	E_PERSON
05	S_LOCATION
06	B_LOCATION
07	M_LOCATION
08	E_LOCATION
09	S_ORGANIZATION
10	B_ORGANIZATION
11	M_ORGANIZATION
12	E_ORGANIZATION
13	S_DESIGNATION
14	B_DESIGNATION
15	M_DESIGNATION
16	E_DESIGNATION
screen shot of the error message is

The tag file format has been updated. Each line is one tag, so you could remove id from the file and then try it again.

Well done sir, now it works.... one last query: i am still confused about validation file data.
what will be the validation file data?

are it is the same data  that is already exists in training file? OR
are it is the same data that will be used in testing phase?
are it is the totally separate portion of data that is neither used in training nor in testing, if Yes that what will be the proportion?
Thanks , looking for your kind reply

Validation set is usually used to choose best hyper-parameter. It should not be mixed with either training corpus or test corpus. For entire training set, you could randomly sample 20% data as validation set in each iteration.
One suggestion: For other questions unrelated to title, it would be better to open a new thread about it.

Many thanks for very clear answer.
i will try of my level best to follow your given suggestion in future.
Looking forward for your next  deep recurrent neural netowork for RNNSharp.


Release v0.17.0

Use covariant type for @retried(on=[...]) (#486).
Configure request timeout using existing parameter from Config (#489).
Make contents of __init__.py equal across projects (#488).
Update SDK to Latest OpenAPI Specification (#501).

Note: This release contains breaking changes, please see below for more details.
API Changes:

[Breaking] Changed list() method for w.external_locations workspace-level service to require request of databricks.sdk.service.catalog.ListExternalLocationsRequest dataclass, w.storage_credentials workspace-level service to require request of databricks.sdk.service.catalog.ListStorageCredentialsRequest dataclass and w.tokens workspace-level service to return databricks.sdk.service.settings.ListPublicTokensResponse dataclass.
Added next_page_token field for databricks.sdk.service.catalog.ListExternalLocationsResponse, databricks.sdk.service.catalog.ListFunctionsResponse, databricks.sdk.service.catalog.ListSchemasResponse and databricks.sdk.service.catalog.ListStorageCredentialsResponse.
Added max_results field for databricks.sdk.service.catalog.ListFunctionsRequest and databricks.sdk.service.catalog.ListSchemasRequest.
Added page_token field for databricks.sdk.service.catalog.ListFunctionsRequest and databricks.sdk.service.catalog.ListSchemasRequest.
Added omit_columns field for databricks.sdk.service.catalog.ListTablesRequest.
Added omit_properties field for databricks.sdk.service.catalog.ListTablesRequest.
Added init_scripts field for databricks.sdk.service.pipelines.PipelineCluster.
Added validate_only field for databricks.sdk.service.pipelines.StartUpdate and databricks.sdk.service.pipelines.UpdateInfo.
Changed create() method for w.dashboards workspace-level service . New request type is databricks.sdk.service.sql.DashboardPostContent dataclass.
Added update() method for w.dashboards workspace-level service.
Added http_headers field for databricks.sdk.service.sql.ExternalLink.
Added run_as_role field for databricks.sdk.service.sql.QueryEditContent.
Added package: databricks.sdk.service.dashboards and databricks.sdk.service.vectorsearch.
Added dataclass: databricks.sdk.service.catalog.ListExternalLocationsRequest, databricks.sdk.service.catalog.ListStorageCredentialsRequest, databricks.sdk.service.settings.ListPublicTokensResponse, databricks.sdk.service.sql.DashboardEditContent and databricks.sdk.service.sql.DashboardPostContent.
Removed dataclass: databricks.sdk.service.catalog.TableConstraintList and databricks.sdk.service.sql.CreateDashboardRequest.

OpenAPI SHA: 0e0d4cbe87193e36c73b8b2be3b0dd0f1b013e00, Date: 2024-01-10

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (11d4f35) 57.69% compared to head (8bd5fa0) 57.69%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #502   +/-   ##
=======================================
  Coverage   57.69%   57.69%
=======================================
  Files          40       40
  Lines       27148    27148
=======================================
  Hits        15664    15664
  Misses      11484    11484

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Integration tests are running ...


2.0 needs improved docs for grid-media

This is the current description of the grid-media() mixin.

Creates a media query in which custom grid properties can be defined. Add the media property to your custom grid settings map and add the media you would like to scope to. If only a number is defined, it is assumed this is a min-with value. Your custom grid can then be passed to the mixin.

This does not explain that one can:

use max-width mq's
use print mq's
use complex mq's

It’d be worth mentioning that, out of the box, Neat comes with an opinion that your workflow is mobile-first. You can do a large-screen-first workflow, but it requires a more verbose implementation and you cannot globally tell Neat to work that way.

I have a mq implementation I've been using instead of neat's, mostly because I didn't quite parse neat's mq implementation. I would love to be able to not do
  @include grid-column(3);
}```

If I can use neats implementation out of the box for min/max, max, min or print MQ's, especially in the context of being able to also define custom gutters, then I'd switch in a heartbeat. Sounds like you already support all the features I need out of the box

done


Cleanup and add tests

Codecov Report

Merging #3 into master will increase coverage by 1.57%.
The diff coverage is 0%.

@@             Coverage Diff              @@
##             master       #3      +/-   ##
============================================
+ Coverage     78.91%   80.49%   +1.57%
- Complexity      103      110       +7
============================================
  Files            22       21       -1
  Lines          1802     1794       -8
  Branches        200      200
============================================
+ Hits           1422     1444      +22
+ Misses          296      272      -24
+ Partials         84       78       -6

Impacted Files
Coverage Δ
Complexity Δ

.../main/kotlin/com/google/api/kotlin/ClientPlugin.kt
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...otlin/com/google/api/kotlin/util/ProtoFieldInfo.kt
80.64% <0%> (+1.07%)
6% <0%> (ø)
:arrow_down:

...in/kotlin/com/google/api/kotlin/util/Flattening.kt
97.87% <0%> (+17.02%)
19% <0%> (+1%)
:arrow_up:

...in/kotlin/com/google/api/kotlin/util/FieldNamer.kt
100% <0%> (+25%)
23% <0%> (+6%)
:arrow_up:

Continue to review full report at Codecov.

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


Add e2e test for on-error subgraph

This change is

Review status: 0 of 2 files reviewed at latest revision, 3 unresolved discussions.

e2e/utils/utils.go, line 98 at r1 (raw file):
Previously, dshulyak (Dmitry Shulyak) wrote…
better to use IsNotFound from client-go/api/errors package (pkg name might be not accurate ;))

Awesome, that's what I was looking for

e2e/utils/utils.go, line 103 at r1 (raw file):
Previously, dshulyak (Dmitry Shulyak) wrote…
This is way too long. 5 seconds should be enough to guarantee that pod is not created

sounds reasonable

Comments from Reviewable

Review status: 0 of 2 files reviewed at latest revision, 3 unresolved discussions.

e2e/basic_test.go, line 310 at r1 (raw file):
Previously, dshulyak (Dmitry Shulyak) wrote…
it is not used anywhere

done

Comments from Reviewable

Reviewed 2 of 2 files at r2.
Review status: all files reviewed at latest revision, 3 unresolved discussions.

Comments from Reviewable

Review status: all files reviewed at latest revision, 3 unresolved discussions.

Comments from Reviewable

Reviewed 2 of 2 files at r1.
Review status: all files reviewed at latest revision, 3 unresolved discussions, some commit checks failed.

Comments from Reviewable


Update the layout of the Influxdb

With our new Enpal system the component only had 10 of the 25 defined Sensors and none for the battery. So this fixes most of these.
I could not find Values for
Current.Phase.*
Energy.Battery.Charge.Total.Unit.1
Energy.Battery-Discharge.Total.Unit.1

So I marked them in the source as missing
To make it easier to update/extend the options in the future I also refactored the adding of the Sensors for less code duplication.
If there are questions change requests please ask.

With our new Enpal system the component only had 10 of the 25 defined Sensors and none for the battery. So this fixes most of these. I could not find Values for
Current.Phase.*
Energy.Battery.Charge.Total.Unit.1
Energy.Battery-Discharge.Total.Unit.1

So I marked them in the source as missing
To make it easier to update/extend the options in the future I also refactored the adding of the Sensors for less code duplication.
If there are questions change requests please ask.

Thx for update, but i have only 12 Sensors and see none for battery

When you open the website of your enpalone. Do you see the Battery Sensors under Messages or are they missing there too?

i can see all sensors in my enpalbox

To make shure that you are running my version. Could you please check what IP address gets shown when you try to add an Enpal device to HA?

To make shure that you are running my version. Could you please check what IP address gets shown when you try to add an Enpal device to HA?

@RaHoni files are update2date, HA restart and still only 12 sensors and no Batterie sensors

@Robert2k2 Okay you should get all 25 Sensors. Could you please send me the debug log of the Enpal component? There should be about 70 Lines with Sensors that aren't added to HA (as Debug output). With this I should be able to find the problem.

@RaHoni
2024-11-22 10:37:39.676 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: inverter field: Current.String.1 2024-11-22 10:37:39.676 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: inverter field: Current.String.2 2024-11-22 10:37:39.676 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: inverter field: Temperature.Housing.Inside 2024-11-22 10:37:39.676 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: inverter field: Frequency.Grid 2024-11-22 10:37:39.676 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: inverter field: Inverter.System.State 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: inverter field: Voltage.String.1 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: inverter field: Voltage.String.2 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: inverter field: Power.DC.String.1 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: inverter field: Power.DC.String.2 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: inverter field: Power.Grid.Export 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: inverter field: Energy.Grid.Export.Day 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: inverter field: Energy.Grid.Import.Day 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: inverter field: Energy.Production.Total.Day 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Measurement type not recognized: iot 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Measurement type not recognized: iot 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Measurement type not recognized: iot 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Measurement type not recognized: iot 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Measurement type not recognized: iot 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: system field: Percent.Storage.Level 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: system field: measureId 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: system field: Power.Consumption.Total 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: system field: Power.Production.Total 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: system field: Power.Storage.Total 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: system field: measureId 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: system field: Energy.Storage.Level 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: system field: measureId 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: system field: Energy.Storage.Total.In.Day 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: system field: Energy.Storage.Total.Out.Day 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: system field: measureId 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: wallbox field: Status.Wallbox.Connected 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: wallbox field: Power.Wallbox.Connector.0.Charging.Requested 2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: wallbox field: Power.Wallbox.Connector.1.Charging.Requested 2024-11-22 10:37:40.156 WARNING (MainThread) [homeassistant.helpers.frame] Detected code that calls async_forward_entry_setup for integration enpal with title: Enpal and entry_id: 01J69P6HPR1T8Q2E0D8B8PW47M, during setup without awaiting async_forward_entry_setup, which can cause the setup lock to be released before the setup is done. This will stop working in Home Assistant 2025.1. Please report this issue.

2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: system field: Energy.Storage.Level  2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: system field: measureId  2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: system field: Energy.Storage.Total.In.Day  2024-11-22 10:37:39.677 DEBUG (MainThread) [custom_components.enpal.sensor] Not adding measurement: system field: Energy.Storage.Total.Out.Day
As you can see here your Battery data seams to be under 'Energy.Storage.' while in our setup they are under 'Power.Battery' so this probably needs to be refactored to support different places for the same Sensor. This will probably take some time.

But if I interpret this correctly, you are trying to read the fields for the battery under the measurement "inverter", but these can be found in the measurement "battery". I think an elif measurement == "battery" is missing

I've solved the problem with renaming the entities in this discussion:
https://github.com/gickowtf/enpal-homeassistant/issues/21#issuecomment-2496247130


Return part payment applications

Return PartPayments using the ResolveService

@dotemacs The tests are green, but I've just spotted an issue.  I'll pick this up next week as you are on IRAT.

@novotnyjakub can you merge this if you are happy? Thanks

Ok, so we ready to merge? I'm a bit confused with this now :) The code looks good to me, but I don't understand the "No tests!" comment, should we wait?

Open the specs for ResolverService, do you see any tests that are testing for 'undetermined'?
This is what the 'No tests!' comment refers to. Also, that comment was made on a specific commit, rather than on the whole PR.

Proposal: I rollback the last('Added "undetermined" to lookup') commit.
This is currently not called, in-fact the only value passed in currently by the code is hard coded to be 'return'.
When we extend the resolver status to be used by all valid types, we add the undetermined value to the lookup along with the requisite tests!

I like that, always better to add things when needed, I think.


Allow PROPOSAL_GROUPS members to update proposal

Description
Allow PROPOSAL_GROUPS members to update proposal.
Motivation
In the proposal ingestion workflow, we first ingest the proposal and each time a measurement period is scheduled/removed, it's updated in SciCat.
I'll update the corresponding documentation before merging if the patch is accepted.
Tests included/Docs Updated?

[ ] Included for each change/fix?
[ ] Passing? (Merge will not be approved unless this is checked)
[ ] Docs updated?

@bpedersen2 I guess it would make sense to also allow Attachement updates?

Once this PR is merged we should review the permissions for all the other sub-systems.
We should also wait to review until I have the Samples PR #1044 merged. The two PR implements a slightly different model for authorization

@nitrosx  based on the Authorization table in the Documentation this is valid change and can be mreged


Dismissing the modal "See more stores" during checkout causes blank screen.

After the “See more stores” seems like sometimes I get just white screen with a nav bar and other times I get back to the checkout but the tab bar has reappeared.
This is on “Done” button tap from the modal after picking a store.

Please don't file Walmart bugs in Zoot unless they've been narrowed down to specifics that leave out Walmart details.  Use the internal JIRA to assign to angelo or whoever appropriate.


float32 vs. float64

before rearranging the steps (summing then doing the corrections) we were getting a resulting "final" image of float64 (numpy dtype of >f8).
However, after rearranging, where we apply corrections on the individual images and then sum, the "final" image is float32 (>f4). Am a bit unsure as to why.
The attached file contains the data type of each frame in each .img file in the 2007 folder when running the full pipeline in the old version (summing first): https://github.com/spacetelescope/DRESSCode/tree/cdc02bce474e533f014269fb06e38197f93181a5.
From this, we can see that the float64 conversion occurs in the coincidence loss correction step (writing out the _coi.img files.  After this -- all following computations remain in float64
main_dtypes.csv
In the rearranged step order where we apply corrections on individual observations first and then sum (https://github.com/spacetelescope/DRESSCode/tree/44c16db46267f65c7fff28a6d7a1ca9c426c988f), the coincidence loss correction step still results in float64, but subsequent calculations somehow go back to float32. Perhaps a result of using data in memory in between steps?
rearrange_dtypes.csv

I suspect that the original way, where we stored things in a datacube, required the entire datacube to have the same datatype, which increased it to float64, even for the primary image, which doesn't need that level of resolution.
In the new way, we save the different parts out separately, not in a datacube.
However, I'm still not clear why even the uncertainties, which are calculated as float64, end up summed as float32.
perhaps the summing only supports float32.


Failed export of library

ID 87FPB37U
Just the normal library export for me, which usually works.

That is thoroughly strange... I don't know why this error happens1, and I can't reproduce it on my end, but can you see whether this2 fixes it for you?
1 I get a notification from Zotero that an item has changed, which is supposed to happen right after it is saved, but when I try to fetch it in the notifier Zotero complains in your log that I'm trying to fetch an item with unsaved changes... but not on my systems or my test service, as I can't reproduce it.
2 this just sticks in a delay of half second between the notification and acting on the notification. We can try bringing that number down if it seems to work on your system.

Yep, that worked.

That is in a sense disappointing, as in that the problem really shouldn't exist. Anyhow, this problem will go away after the 5.0 port anyway as the notification system is wholly different. Can you try this version? It brings the delay down to 1 millisecond.

Yep, that worked too. Thanks.

May have to take that back: J287B97G

OK, so indeed same error... I've put up a new build here which makes the delay tweakable. As a) the problem is not supposed to happen anyway, and b) I can't reproduce it, I'm going to need your help to suss out a reasonable delay value.
This build has a new hidden preference called itemObserverDelay which is 0 by default. You get the behavior of the first build by setting it to 500, but if you can get away with less you'll have a lesser chance of odd side effects. A change in value only takes effect after a full restart of Zotero, so not just closing the window but actually Quiting it. Sorry to have to ask this but I see no other way.

OK, set it at 250 to start and the export ran. We'll see how that goes and then I'll tweak.

OK, so somewhere between 40 and 25 ms seems to be the breaking point on my large library. Next step?

I'll just set it to 100 by default to have a bit of margin -- a tenth of a second ought to be unnoticeable. I'll cut a new release when the tests finish, but note that the value you have set will continue to override the default. You can right-click it after the upgrade and reset to default if you wish, or leave it as-is.


Inline comments should be kept inline

Sometimes comments are meant to be inline. Consider the following code:
.myselector {
  display: none; /* javascript will fix this */
}

It compiles to:
.myselector {
  display: none;
  /* javascript will fix this */
}

There are several use cases like this. Can it be done?

@nex3 I asked @barraponto to file this after a thread on the compass mailing list. I think this is a case where the meaning of the comment is changed significantly when placed on the next line.

I like the idea, but it would be moderately difficult to implement, since it involves somewhat non-local changes when compiling to CSS. It's pretty low priority.

+1


Print all Root to leaf paths of Binary Tree in CPP

💥 Proposal
GSSoC'21
Given a Binary Tree , Print all its root to leaf paths in CPP
Have you read the Contributing Guidelines on Pull Requests?
Yes

/assign


Fix swapped attributes

I was working on something else and noticed the code here has these two swapped. Reading the docs it seems like xfId should map to format_id and builtinId to builtin_id.  I also found a second place where the vertical/horizontal attrs are flipped

@patrickomatic
I had not noticed this.
Thanks for the PR.


Awaitable type is not additive

Bug Report
🔎 Search Terms
Awaitable, MaybePromise
🕗 Version & Regression Information

This is a crash (?)
This changed between versions 4.9 and at least 4.4 (didn't check earlier versions)
This is the behavior in every version I tried, and I reviewed the FAQ for entries about (?)

⏯ Playground Link

Playground link with relevant code
💻 Code

type A = {a: string}
type B = {b: string}

type Awaitable<T> = T | PromiseLike<T>

type C = Awaitable<A> & Awaitable<B>

async function f(c: C) {
  (await c).a
}

🙁 Actual behavior
The types are not additive (Awaited<Awaitable<A> & Awaitable<B>> != A & B)
Property 'a' does not exist on type 'A | B | (A & B) | (B & A)'.
  Property 'a' does not exist on type 'B'.

🙂 Expected behavior
The types should be additive (Awaited<Awaitable<A> & Awaitable<B>> = A & B)
Related: #31394

I, too, observe this issue. Interestingly enough, this even fails for intersecting a normal value with an awaitable one:
type A = {a: string}
type B = {b: string}

type Awaitable<T> = T | PromiseLike<T>

type C = A & Awaitable<B> // just this breaks it

async function f(c: C) {
  (await c).a
}

This means that in this code snippet:
type Q0 = C extends A ? true : false
type Q1 = Awaited<C> extends A ? true : false

we can see Q0 being inferred as true but Q1 as false.

What runtime value Awaitable<A> & Awaitable<B> or A & Awaitable<B> represent? How do you create such a thing in practice? Shouldn't you always await each member of that and only then intersect them?

I wonder if this is ultimately due to something like #14107.  For any promise-ish thing PromiseIsh<T> which ultimately represents a value of type T but hides it inside a function that accepts a function that accepts a value of type T, you should conceptually be able to treat a PromiseIsh<A> & PromiseIsh<B> as a PromiseIsh<A & B> or a PromiseIsh<A> | PromiseIsh<B> as  a PromiseIsh<A | B>.  But the type manipulation needed to do that doesn't currently work in TS, because you end up getting caught on intersections of functions:
 ((f: (v: A) => R) => R) & ((f: (v: A) => R) => R)
             ⇓ ⇓ ⇓ 👎 #14107
 (f: ((v: A) => R) | ((v: B) => R)) => R
             ⇓ ⇓ ⇓ 👍 #29011
 (f: (v: A & B) => R) => R

 ((f: (v: A) => R) => R) | ((f: (v: A) => R) => R)
             ⇓ ⇓ ⇓ 👍 #29011
 (f: ((v: A) => R) & ((v: B) => R)) => R
             ⇓ ⇓ ⇓ 👎 #14107
 (f: (v: A | B) => R) => R

Without a fix for #14107 I'm not sure how we could fix this.

The core thing here is that Promises are understood primarily in terms of their .then, and intersection creates overloads. It's entirely legal, therefore, to make a C which doesn't give back an a on await.
let myC: C = {
    then: (cb: ((a: A) => PromiseLike<any>) & ((b: B) => PromiseLike<any>)) => {
        return cb({ b: "" });
    }
}