WIP: Use minimist to process CLI arguments

This is very much a work in progress, but I wanted to get some feedback. I recommend viewing the diff with github's whitespace option: https://github.com/pegjs/pegjs/pull/383/files?w=true
Using minimist to process CLI arguments makes the parsing code generally more flexible, and addresses the second part of #370:

[ ] Allow e.g. --export-var=foo (in addition to --export-var foo).

In addition, ba54ad03f5afb3710fe19e724a578e9c3a0e768e addresses the first part of #370:

[ ] Allow using - to mean standard input and output.

So far, my concern is that I might have accidentally broken something, given that there currently aren't any automated tests for the CLI.

@josephfrazier Thanks a lot for the effort, however I don’t think using minimist is a good idea. Its API is ugly and little too much minimal, which results in code I find worse than the original version.
I did a research on option parsing libraries for Node.js a while ago and the only library which passed my bar is yargs. Its default chaining API is horrible, but using .options allows a declarative way of specifying option which I think would work fairly well. It also looks pretty mature and under active development so there is fairly low risk of painting PEG.js into a corner.
Let me know if you’d like to tackle rewriting bin/pegjs using yargs instead of minimist. If not, I’ll do that at some point.
(As a side note, my ideal option parsing API would look something like Ruby’s OptionParser. But I didn’t find a npm in this style with the maturity of yargs.)

No worries, @dmajda; I was also using this to acquaint myself with minimist. I might be interested in doing the yargs rewrite, but I'd first like to write some tests for the command line API. Would be you open to considering a pull request with tests that use child_process to ensure that bin/pegjs behaves as expected?


The fallback example on the README.md no longer needs the --unstable flag

The fallback example on the README has the following example:
$ just --unstable bar
Trying ../justfile
echo bar
bar

The --unstable flag is no longer needed (and it implies that the feature is still unstable).

Good catch!


Version bump to 1.1.20

version bump

We don't do these with PRs and also you missed the version number in the Makefile


we need readthedocs

see above

please also add the other badges (pipy, tests, etc.)

@MarcelRosier can you please take care of this once you return? :)

I already did some ground-work in the feature branch


Add TLS support for connecting to Elasticsearch

Is your feature request related to a problem? Please describe.
ESSearchDAO doesn't support https currently.
Describe the solution you'd like
Will most likely need to modify RestHighLevelClientFactory with additional https-related parameters as outlined here: https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/_encrypted_communication.html

@shakti-garg-saxo confirmed that he won't work on this in the short term. Will assign it to @jplaisted for now.

@mars-lan Internal ElasticsearchHighLevelRestClientFactory actually supports https already, see loadRestHttpsClient (li-restli-utils).

@camelliazhang yup I'm aware of that. So just need to open source that.


⚠ ClamAV has degraded performance

In 364d477, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 433 ms

Resolved: ClamAV performance has improved in b527617.


[Request] Stair carpet compatibility with Quark's leaf carpet

It would be nice if leaf carpets from Quark worked like normal carpets on stairs as it could be used as a nice abandoned look for builds.
Note: This also doesn't work for Chisel's carpets

I have no current plans to implement compatibility with other mod's blocks, as it requires a block substitution which is very bad practice on other mod's blocks. Vazkii has mentioned the idea of implementing carpet stairs over in Quark, so if you want that feature your best bet is asking in Quark.


The sting stays stuck 5/5 what is the reason

The sting stays stuck 5/5 what is the reason

From the best video mode explaining the operation of the game we are players who have no programming experience
And thank you too,  back our childhood memories

where's the video?

The instructions describe everything in as much detail as possible, re-read.


Operator projects using the removed APIs in k8s 1.22 requires changes.

Problem Description
Kubernetes has been deprecating API(s), which will be removed and are no longer available in 1.22. Operators projects using these APIs versions will not work on Kubernetes 1.22 or any cluster vendor using this Kubernetes version(1.22), such as OpenShift 4.9+. Following the APIs that are most likely your projects to be affected by:

apiextensions.k8s.io/v1beta1: (Used for CRDs and available since v1.16)
rbac.authorization.k8s.io/v1beta1: (Used for RBAC/rules and available since v1.8)
admissionregistration.k8s.io/v1beta1 (Used for Webhooks and available since v1.16)

Therefore, looks like this project distributes solutions in the repository and does not contain any version compatible with k8s 1.22/OCP 4.9. (More info). Following some findings by checking the distributions published:

crane-operator.v1.4.4: this distribution is using APIs which were deprecated and removed in v1.22. More info: https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-22. Migrate the API(s) for CRD: (["backups.velero.io" "backupstoragelocations.velero.io" "deletebackuprequests.velero.io" "downloadrequests.velero.io" "directimagemigrations.migration.openshift.io" "directimagestreammigrations.migration.openshift.io" "directvolumemigrationprogresses.migration.openshift.io" "directvolumemigrations.migration.openshift.io" "miganalytics.migration.openshift.io" "migclusters.migration.openshift.io" "mighooks.migration.openshift.io" "migmigrations.migration.openshift.io" "migplans.migration.openshift.io" "migstorages.migration.openshift.io" "migrationcontrollers.migration.openshift.io" "podvolumebackups.velero.io" "podvolumerestores.velero.io" "resticrepositories.velero.io" "restores.velero.io" "schedules.velero.io" "serverstatusrequests.velero.io" "volumesnapshotlocations.velero.io"])
crane-operator.v1.4.5: this distribution is using APIs which were deprecated and removed in v1.22. More info: https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-22. Migrate the API(s) for CRD: (["backups.velero.io" "backupstoragelocations.velero.io" "deletebackuprequests.velero.io" "downloadrequests.velero.io" "directimagemigrations.migration.openshift.io" "directimagestreammigrations.migration.openshift.io" "directvolumemigrationprogresses.migration.openshift.io" "directvolumemigrations.migration.openshift.io" "miganalytics.migration.openshift.io" "migclusters.migration.openshift.io" "mighooks.migration.openshift.io" "migmigrations.migration.openshift.io" "migplans.migration.openshift.io" "migstorages.migration.openshift.io" "migrationcontrollers.migration.openshift.io" "podvolumebackups.velero.io" "podvolumerestores.velero.io" "resticrepositories.velero.io" "restores.velero.io" "schedules.velero.io" "serverstatusrequests.velero.io" "volumesnapshotlocations.velero.io"])
crane-operator.v1.4.6: this distribution is using APIs which were deprecated and removed in v1.22. More info: https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-22. Migrate the API(s) for CRD: (["backups.velero.io" "backupstoragelocations.velero.io" "deletebackuprequests.velero.io" "downloadrequests.velero.io" "directimagemigrations.migration.openshift.io" "directimagestreammigrations.migration.openshift.io" "directvolumemigrationprogresses.migration.openshift.io" "directvolumemigrations.migration.openshift.io" "miganalytics.migration.openshift.io" "migclusters.migration.openshift.io" "mighooks.migration.openshift.io" "migmigrations.migration.openshift.io" "migplans.migration.openshift.io" "migstorages.migration.openshift.io" "migrationcontrollers.migration.openshift.io" "podvolumebackups.velero.io" "podvolumerestores.velero.io" "resticrepositories.velero.io" "restores.velero.io" "schedules.velero.io" "serverstatusrequests.velero.io" "volumesnapshotlocations.velero.io"])
crane-operator.v1.5.0: this distribution is using APIs which were deprecated and removed in v1.22. More info: https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-22. Migrate the API(s) for CRD: (["backups.velero.io" "backupstoragelocations.velero.io" "deletebackuprequests.velero.io" "downloadrequests.velero.io" "directimagemigrations.migration.openshift.io" "directimagestreammigrations.migration.openshift.io" "directvolumemigrationprogresses.migration.openshift.io" "directvolumemigrations.migration.openshift.io" "miganalytics.migration.openshift.io" "migclusters.migration.openshift.io" "mighooks.migration.openshift.io" "migmigrations.migration.openshift.io" "migplans.migration.openshift.io" "migstorages.migration.openshift.io" "migrationcontrollers.migration.openshift.io" "podvolumebackups.velero.io" "podvolumerestores.velero.io" "resticrepositories.velero.io" "restores.velero.io" "schedules.velero.io" "serverstatusrequests.velero.io" "volumesnapshotlocations.velero.io"])
crane-operator.v1.4.3: this distribution is using APIs which were deprecated and removed in v1.22. More info: https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-22. Migrate the API(s) for CRD: (["backups.velero.io" "backupstoragelocations.velero.io" "deletebackuprequests.velero.io" "downloadrequests.velero.io" "directimagemigrations.migration.openshift.io" "directimagestreammigrations.migration.openshift.io" "directvolumemigrationprogresses.migration.openshift.io" "directvolumemigrations.migration.openshift.io" "miganalytics.migration.openshift.io" "migclusters.migration.openshift.io" "mighooks.migration.openshift.io" "migmigrations.migration.openshift.io" "migplans.migration.openshift.io" "migstorages.migration.openshift.io" "migrationcontrollers.migration.openshift.io" "podvolumebackups.velero.io" "podvolumerestores.velero.io" "resticrepositories.velero.io" "restores.velero.io" "schedules.velero.io" "serverstatusrequests.velero.io" "volumesnapshotlocations.velero.io"])

NOTE: The above findings are only about the manifests shipped inside of the distribution. It is not checking the codebase.
How to solve
It would be very nice to see new distributions of this project that are no longer using these APIs and so they can work on Kubernetes 1.22 and newer and published in the community-operators collection. OpenShift 4.9, for example, will not ship operators anymore that do still use v1beta1 extension APIs.
Due to the number of options available to build Operators, it is hard to provide direct guidance on updating your operator to support Kubernetes 1.22. Recent versions of the OperatorSDK greater than 1.0.0 and Kubebuilder greater than 3.0.0 scaffold your project with the latest versions of these APIs (all that is generated by tools only). See the guides to upgrade your projects with OperatorSDK Golang, Ansible, Helm or the Kubebuilder one. For APIs other than the ones mentioned above, you will have to check your code for usage of removed API versions and upgrade to newer APIs. The details of this depend on your codebase.
If this projects only need to migrate the API for CRDs and it was built with OperatorSDK versions lower than 1.0.0 then, you maybe able to solve it with an OperatorSDK version >= v0.18.x < 1.0.0:

$ operator-sdk generate crds --crd-version=v1
INFO[0000] Running CRD generator.
INFO[0000] CRD generation complete.

Alternatively, you can try to upgrade your manifests with controller-gen (version >= v0.4.1) :
If this project does not use Webhooks:

$ controller-gen crd:trivialVersions=true,preserveUnknownFields=false rbac:roleName=manager-role  paths="./..."

If this project is using Webhooks:

Add the markers sideEffects and admissionReviewVersions to your webhook (Example with sideEffects=None and admissionReviewVersions={v1,v1beta1}: memcached-operator/api/v1alpha1/memcached_webhook.go):

Run the command:

$ controller-gen crd:trivialVersions=true,preserveUnknownFields=false rbac:roleName=manager-role webhook paths="./..."

For further information and tips see the comment.

Hi, would we have any update on this?
See that we are very close to the release data and fix the projects seems not very hard. See how to fix it in the first comment. Then, would be great to be able to check a new version of your project distributed which is compatible with 4.9.


how to handle client-secret store on backend java spring boot

I am testing auth code flow with PKCE as Authorization Code Grant with Proof Key for Code Exchange (PKCE)
I have tried to put client_id and client_secret on spa page. everything works fine.
but that definitely not safe.
If I want to store client_secret on backend spring boot application.
what should I do ?

With PKCE you do not need a client secrete...

Thanks for your response.

Our AS request client secret, without secret , it will return 401 .
{
"error_description": "Invalid client or client credentials.",
"error": "invalid_client"
}
if I put secret in the config, then everything are fine, but we don't allow to put secret on javascript.

@wanggewg As mentioned, PKCE intentionally does not need a client_secret. Your identity provider should support this.
If for some reason they don't support it, as you alluded you, you'll have to workaround it, which is outside the scope of this issue.
But if it helps you in your investigation of workarounds, I've seen folks intercept the POST /authenticate call, either with a reverse proxy or dedicated backend endpoint, append the client_secret to the request body, send it to the identity provider, then forward the response to the SPA.


synth_ice40 -abc9 fails assertion `(int)Aig_Regular(pObjNew)->Level <= Required'

Steps to reproduce the issue
See top.il + top.ys.

Also, make sure that the issue is actually reproducable in current git
master of Yosys.

TODO: check this (only tried it on Yosys 0.9+932 (git sha1 3c41599ee1, g++ 8.3.0 -fPIC -Os))
EDIT: confirmed by @eddiehung, see below.
Expected behavior
Should succeed, worst case with an error because it can't fit the 24-bit division by 3, into an iCEstick.
Smaller sizes, such as 17-bit or 20-bit do succeed and perform correctly AFAICT, with -abc9.
EDIT: 27-bit works as well, which was surprising to me, as I assumed larger bitwidths would only aggravate the issue, but apparently not.
Actual behavior
Crashes with:
ABC: yosys-abc: src/opt/dar/darRefact.c:589: Dar_ManRefactor:
    Assertion `(int)Aig_Regular(pObjNew)->Level <= Required' failed`.

Can repro on master (ecb0c68f). Am suspecting an upstream abc issue...

@eddby Actually before I report this upstream, can you try and minimise the number of SB_CARRY cells (there are 915 in your example!) and/or share the original source for this *.il?
I understand from your edit that more bits doesn't equate to sustained breakage.. but can we reduce the width/depth? I had a go at minimising the *.il by deleting some output ports to no avail...

@eddiehung I'm not sure I can reduce this, as decreasing the main parameter (number of decimal digits, which leads to the bitwidths I mentioned before), or removing the division by 3, results in success.
Here's the source aoc-2019-1.py, but note that it uses nmigen which outputs IL directly.
I had set the NMIGEN_synth_opts=-abc9 environment variable to have yosys use abc9.

Reported upstream: https://github.com/berkeley-abc/abc/issues/61

Can still reproduce this on the latest master 5ebdc0f8

It's now 2021 and I just hit this again while working on multiplier inference for QuickLogic...

I attempted to reduce the testcase with bugpoint but to little avail. Still, having multiple testcases might help.
dc2crash.tar.gz

Some more information that might be useful: if I replace the timings in qlal4s3_mult_cell_macro with this monstrosity I autogenerated a while back it gets accepted, despite the netlists being identical.

Can no longer reproduce with linked top.il + top.ys on b2e9717419e9a852f4e64f12891b8e9742900917. Closing for now.


Best way replace window proc with SetWindowLongPtr

So I'm rather new to rust but keep groking. Feel free to shout at me if I miss the obvious thing :).
I'm using winapi version 0.3.
I'm familiar with the C win32 api and tried to create a simple "EDIT" window and replace its window procedure. I know how to do that in C/C++ but wanna learn it in rust.
I noticed that WNDPROC is an Option<unsafe extern ...> of a function pointer but the exact function pointer type isn't public, right?
Also, working with SetWindowLongPtr(hwnd, GWL_WNDPROC, ...) isn't very convenient as it is currently.
So, it boils down to two requests:

pls make the WNDPROC function pointer type public and not only the Option<>, such that we don't have to re-declare it:

type FnWndProc = unsafe extern "system" fn(HWND, u32, usize, isize) -> isize;

pls provide wrappers for GetWindowLongPtr(...) and SetWindowLongPtr(...) so that we can spare us the whole boilerplate thing:

unsafe extern "system" fn my_window_proc(
    _: HWND,
    _: UINT,
    _: WPARAM,
    _: LPARAM,
) -> LRESULT {
    ...
}

    ...
    SetLastError(0);
    let proc = SetWindowLongPtrW(hwnd, GWLP_WNDPROC, my_window_proc as isize);

    let proc = proc as *const ();
    let proc : FnWndProc = std::mem::transmute(proc);
    let proc = match GetLastError() {
       0 => Some(proc),
       _ => None,
    };
    ...

What is wrong with just transmuting the return value of SetWindowLongPtrW directly to WNDPROC? The way your example is written, if SetWindowLongPtrW fails and returns a null pointer you'll transmute it to a function pointer that can never be null and invoke undefined behavior.
Also no, winapi is not in the business of providing wrappers around stuff. It just provides raw bindings.


error 503

hi getting this error while installing

GitHub server returned that 503 response, which can be caused by anything in its private infrastructure, or the network your machine is in.
Contact your network administrators so that they can help you investigate.


Allow names for loss functions and metrics

I have the following scenario: I have a wrapper function for my losses like this:
def loss_transformed(target_func, params):
  def func(y_true, y_pred):
    return target_func( transform(y_true, params), y_pred )
  return func

Then in model compilation I add the losses like this:
losses = {}
for n in N:
  losses['output-%d' % n] = loss_transformed(crossentropy, params[n])

Use case: For example intermediate supervision where transform is a scale function.
However, my loss functions are now named either just func if N=1 or output-n_func if N>1.
Problem 1: This is a mess. I would like to give intuitive names to the loss functions.
Problem 2: Different loss names for different sizes of N will cause key errors if the loss functions are used for example in checkpoints. Example:
The following only works if N=1 and will crash for N>1:
checkpoint = ModelCheckpoint(checkpointPath, monitor='val_func')
while the following only works for N>1 and will crash for N=1:
checkpoint = ModelCheckpoint(checkpointPath, monitor='val_output-0_func')
Solution:
Please add some functionality so that we are able to name individual loss functions.
Same applies for metrics.

This might do the trick:
https://stackoverflow.com/questions/6527633/how-can-i-make-a-deepcopy-of-a-function-in-python/30714299#30714299?newreg=5b27d70fa16a4e9085e8af24c6acfdae

Is this issue solved in recent updates?


Cannot open include file: 'gifanim.h' with Visual C++

When building with MSVC on Windows by simply running
cmake -Bbuild-msvc

and then trying to build the pac target I'm getting:
D:\ALPACA\src\game.hpp(8,10): error C1083: Cannot open include file: 'gifanim.h': No such file or directory

Can be seen on GitHub Actions, too: https://github.com/pinguin999/ALPACA/actions/runs/10751776363/job/29819375443?pr=1


Assign doesn't return a value

When assigning a placeholder value to a KerasVariable I get returned a None type as there is no return in assignment, where as when assigning to a tf.Variable I get returned the proper assign operation.
This is the code in keras.Variable:
def _direct_assign(self, value):
        self._value.assign(tf.cast(value, self._value.dtype))

And here in the KerasVariable:
    def assign(self, value):
        value = self._convert_to_tensor(value, dtype=self.dtype)
        if not shape_equal(value.shape, self.shape):
            raise ValueError(
                "The shape of the target variable and "
                "the shape of the target value in "
                "`variable.assign(value)` must match. "
                f"variable.shape={self.value.shape}, "
                f"Received: value.shape={value.shape}. "
                f"Target variable: {self}"
            )
        if in_stateless_scope():
            scope = get_stateless_scope()
            scope.add_update((self, value))
        else:
            self._direct_assign(value)

Link to Keras implementation: https://github.com/keras-team/keras/blob/f9501f53fa15fe6286ca834618a6bcf10f86f7e8/keras/src/backend/common/variables.py#L224

Hi @markomitos, what is your use case for this? In general KerasVariables are used as an internal representation tool for cross-backend Jax functionality. As a user they are also created after calling self.add_weight() inside of a layer scope. Any placeholder value should be assigned as an self.add_weight(initializer=...).

Hi @grasskin, thanks for the response. My use case is that I am adding keras 3 support to TensorFlow Federated and I ran into an issue here:
      def assign_placeholder(v):
        p = tf.compat.v1.placeholder(dtype=v.dtype)
        return v.assign(p), p

link to the code
The issue is that the TensorFlow 2 variable assign implementation returns the operation while in the keras 3 implementation it does not return anything. Is it possible to add a return for the value of the assignment in KerasVariable and Keras.Variable, as it is present on the lower levels of the implementation. This would solve my problem and not change the behaviour of the functions while also keeping consistent with the tensorflow implementation.


adds a workflow for macOS spotlight indexing

Discord username

JV [John Vajda]#0767

Description of changes (updated or new workflows)

adds a new directory macOS
adds a new workflow to enable and disable macOS spotlight indexing which can be a very CPU heavy process.

@jpvajda I'm just making a pass through our open PRs. Could you cull a couple of the tags for spotlight-indexing i.e. delete: the "Apple" and "MacOS" tags so that they're more specific

@elviskahoro. No problem. I just remove those extra tags you suggested.

thanks @jpvajda Are you in our Discord I can add the contributor role to your username? If you are please let me know what your username is, you can reply here or DM me in Discord

@elviskahoro  you can find me on Discord at jpvajda Thanks!


Language conventions

I'm curious what our current stance is on batch vs item vs sample. I've found a few places in the docs that return / yield batches or have max_batches, though I think this use is sufficiently distinct from the buffered version. And, given the whole "minibatch" thing, I wonder what the most clear language might be here.
Personally, I'd propose that a sample is a dict of data structures, and a batch is a dict of iterable containers where the first dimension of each points to a sample. I think this is sufficiently general, and consistent with our functional definition.

Adding to this, I would also propose using max_iter where appropriate, in place of max_{samples|batches} ... which would signify agnosticism about what is being yielded.

:+1: both of these proposals.
In hindsight, I found that confusing /a problem whole writing the docs, but
was too engaged in the task to meta the thought.
I think in particular I would expect  "buffered streamers" to functionally
produce "minibatches", and... Well that leads to exactly all of what Eric
said in my head.
On Mon, Apr 3, 2017, 09:53 Eric J. Humphrey<EMAIL_ADDRESS>wrote:

Adding to this, I would also propose using max_iter where appropriate, in
place of max_{samples|batches} ... which would signify agnosticism about
what is being yielded.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pescadores/pescador/issues/75#issuecomment-291203689,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA4t87BFJGzIIhRLe_VRjj5ZeW5wz6v0ks5rsSQJgaJpZM4MxzAe
.

okay, I'll spin up a language linting branch now and sling around for y'alls review post-haste

merp, first bump in the road ... @cjacoby can I trouble you for some context around buffered.__split_batches? The overloaded nature of batch in this submodule is making it hard for me to grok, and there doesn't seem to be an explicit test for me to examine 🙀

Hokay, so, I think this is the correct context. I completely agree with
you that this is where "batch" gets problematic.

buffer_batch produces something from it's streamer. You actually
don't know, I think, at this point if they are batches (Eric Version), or
samples (Eric Version), because upstream Streamers can produce either.
__split_batches takes the stream generated before, and returns the right
number of samples for the buffer_size you had specified.

I think. I wasn't heavily involved in the original construction of this,
but I'm pretty sure that's what it does.
On Mon, Apr 3, 2017 at 10:28 AM Eric J. Humphrey<EMAIL_ADDRESS>wrote:

merp, first bump in the road ... @cjacoby https://github.com/cjacoby
can I trouble you for some context around buffered.__split_batches? The
overloaded nature of batch in this submodule is making it hard for me to
grok, and there doesn't seem to be an explicit test for me to examine 🙀
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/pescadores/pescador/issues/75#issuecomment-291214058,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA4t870SWdysFvcFOpZol0XUJYugTOv_ks5rsSxXgaJpZM4MxzAe
.

Further thoughts on your sample/batch distinction:

do Samples have no sample dimension, and that gets added by Buffering into batches?
If that's true, that's only necessarily a safe distinction if you provide some direct way to know that without asking about the .shape of the ndarray.

You can reasonably assume that an ndarray with shape (n), is a Sample of dimension n. But you can't assume that with more ndimns. Is an ndarray with shape (10, 10) 10 Samples of Shape (10,)? I suppose you could figure this out if you had multiple keys in the Sample/Batch, by looking at the first dimension to see if they are the same, but what if you just have {'X': ...}?
Or perhaps I'm missing something about what you are proposing?

I think the only constraint is that batch[key].ndim - 1 == sample[key].ndim. This isn't directly helpful in addressing your questions, but ... I think the distinction we would have to make is between a sample_stream and a batch_stream, in that, maybe the generator has a class / type? e.g. class Buffer(Streamer): ...
I'm not sure yet. But! I think fixing it at the "what kind of generator are you" helps with the data model. Buffers could also be called Accumulators, Aggregators, or DelayLines ... and maybe it's the responsibility of the user / developer to keep an eye on the shape of their data.
one final thought and then i'ma bike home. Perhaps the contract the API makes with the user is the following (note that not all of this is novel / different from what exists):

The core iterable type is a Streamer
Streamers work for any generator / iterable type.
There are two types of Streamers that we care about: Samplers and Buffers
There is no sample, there is no batch: there is only data, a dict of key: np.ndarray pairs.
Samplers produce data with the same ndims of what it consumes. (I ... don't know if / how we enforce that, maybe with some kind of input_shape spec).
Buffers produce data with ndim+1 of what it consumed.
The user is responsible for tracking the semantics of what "data" represents

I ... think this is clean and makes sense?

I dig it. 👍  It is a minor, subtle change on the current structure, only in the clarity direction.
(Now we just need @bmcfee to weigh in.)

The core iterable type is a Streamer

:+1:

Streamers work for any generator / iterable type.

:+1:

There are two types of Streamers that we care about: Samplers and Buffers

What is a Sampler?

There is no sample, there is no batch: there is only data, a dict of key: np.ndarray pairs.

:+1:

Samplers produce data with the same ndims of what it consumes. (I ... don't know if / how we enforce that, maybe with some kind of input_shape spec).

I'm not sure what that means: what do samplers "consume"?

Buffers produce data with ndim+1 of what it consumed.

That seems reasonable.  Additional contract: all elements going through a buffer must match shape in all dimensions.

The user is responsible for tracking the semantics of what "data" represents

:+1:

note: I've updated my proposal above to have Roman numerals for ease of reference.

What is a Sampler?

Having time to digest things further, I would strike the Sampler / Buffer distinction from all claims and remove (iii) outright.
Two thoughts regarding the BufferedStreamer class:

I've been yet unable to understand what purpose this class serves.
I think "buffering" as a concept is inherently a filter / transform operation, in contrast to a Streamer which is actually a "source". @bmcfee, your phrase "...going through a buffer..." acknowledges it. This point clarifies (v) in my head.

I have a revised set of points to follow up with shortly.

kay, post-lunch proposal (not committed to any of the names below):
Streaming and Iteration
[1.1] Any object that can be iterated, e.g. for x in thing: ..., is referred to as an "iterable", per standard Python library syntax.
[1.2] This in contrast to an "iterator", defined here as a callable object that is / returns an iterable, e.g. range.
[1.3] A "stream" is defined as the sequence of objects yielded by an iterable.
[1.4] For (over) completeness, range is an iterator, range(8) is iterable, and the stream is (consecutively) 0, 1, 2, ...
[2] Pescador defines an object (currently) called a Streamer to effectively decorate an iterator and its arguments, e.g. Streamer(range, 8) and not Streamer(range(8)). This is necessary for a Streamer to do its main job, "rebooting" an iterator for continuous iteration.
[3] A Streamer, true to the principles of a decorator, should transparently yield whatever its iterator does.
Data Sampling
[4] Pescador defines the design / interface of a type of iterator, referred to as a Sampler. A Sampler is defined as (a) taking zero or more arguments, (b) is iterable when instantiated, e.g. for data in Sampler(): ..., and (c) returns objects referred to as "data".
[5] A data object is a dict of key: np.ndarray pairs. As far as pescador is concerned, objects that do not meet this criteria are not "data".
Transformers
[6] Pescador defines a design / interface referred to as a Transformer. Transformer is defined as taking data-like objects as input and output, and preserves iteration, e.g. for data in Transformer(Sampler()):....
[7] One common Transformer might be buffer_stream, which accumulates data into a FIFO queue, and yields one data object for every N in, grouping values by keys.
how we doin?

note: I've since realized that range isn't an iterator, so my e.g.'s, while simple, won't work.

For reference, the iterator/iterable/generator distinction is codified in collections.abc here and the glossary definition:

iterable
An object capable of returning its members one at a time. Examples of iterables include all sequence
types (such as list, str, and tuple) and some non-sequence types like dict, file objects,
and objects of any classes you define with an __iter__() or __getitem__() method. Iterables can
be used in a for loop and in many other places where a sequence is needed (zip(), map(), ...).
When an iterable object is passed as an argument to the built-in function iter(), it returns an
iterator for the object. This iterator is good for one pass over the set of values.

This in contrast to an "iterator", defined here as a callable object that is / returns an iterable, e.g. range.

I don't think your definition of iterator is consistent with the python terminology.
I see no reason to not subclass Streamer from Iterable, and use __iter__ as a wrapper for the current __call__ with default parameters.

[3] A Streamer, true to the principles of a decorator, should transparently yield whatever its iterator does.

I like this in principle, but it's awfully convenient to have Buffer inherit from Streamer.  Similarly, Mux doesn't fit this definition either, but it does otherwise behave like a streamer.

[4] Pescador defines the design / interface of a type of iterator, referred to as a Sampler. A Sampler is defined as (a) taking zero or more arguments, (b) is iterable when instantiated, e.g. for data in Sampler(): ..., and (c) returns objects referred to as "data".

So a Sampler is just an abstraction for what we currently treat as the generator parameter in Streamer?    This seems maybe a little overwrought: are we expecting users to define data generators by inheriting from pescador.Sampler?  Or are you proposing a decorator that would wrap generators as Sampler objects automagically so that we can type-check them later?

[5] A data object is a dict of key: np.ndarray pairs. As far as pescador is concerned, objects that do not meet this criteria are not "data".

:+1: but are you proposing to define this as a type?  Or otherwise try to check/enforce that samplers only produce data?  Dynamic checking is possible but slow, static checking seems nigh impossible.

[6] Pescador defines a design / interface referred to as a Transformer. Transformer is defined as taking data-like objects as input and output, and preserves iteration, e.g. for data in Transformer(Sampler()):....

ITYM Transformer takes an iterator of data objects.  I see this for Buffer but it's not clear how one would fit Mux into this design.  I think it's reasonable to want both Buffer and Mux to exist at the same level of abstraction, since they're both in some sense meta-streamers.

rockin, will digest and form better, more informed ideas 👍
On Wed, Apr 5, 2017 at 18:14 Brian McFee<EMAIL_ADDRESS>wrote:

For reference, the iterator/iterable/generator distinction is codified in
collections.abc here
https://docs.python.org/3/library/collections.abc.html#module-collections.abc
and the glossary https://docs.python.org/3/glossary.html#term-iterable
definition:
iterable
An object capable of returning its members one at a time. Examples of
iterables include all sequence
types (such as list, str, and tuple) and some non-sequence types like dict,
file objects,
and objects of any classes you define with an iter() or getitem()
method. Iterables can
be used in a for loop and in many other places where a sequence is needed (
zip(), map(), ...).
When an iterable object is passed as an argument to the built-in function
iter(), it returns an
iterator for the object. This iterator is good for one pass over the set
of values.
This in contrast to an "iterator", defined here as a callable object that
is / returns an iterable, e.g. range.
I don't think your definition of iterator is consistent with the python
terminology https://docs.python.org/3/glossary.html#term-iterator.
I see no reason to not subclass Streamer from Iterable, and use iter
as a wrapper for the current call with default parameters.
[3] A Streamer, true to the principles of a decorator, should
transparently yield whatever its iterator does.
I like this in principle, but it's awfully convenient to have Buffer
inherit from Streamer. Similarly, Mux doesn't fit this definition either,
but it does otherwise behave like a streamer.
[4] Pescador defines the design / interface of a type of iterator,
referred to as a Sampler. A Sampler is defined as (a) taking zero or more
arguments, (b) is iterable when instantiated, e.g. for data in Sampler():
..., and (c) returns objects referred to as "data".
So a Sampler is just an abstraction for what we currently treat as the
generator parameter in Streamer? This seems maybe a little overwrought: are
we expecting users to define data generators by inheriting from
pescador.Sampler? Or are you proposing a decorator that would wrap
generators as Sampler objects automagically so that we can type-check
them later?
[5] A data object is a dict of key: np.ndarray pairs. As far as pescador
is concerned, objects that do not meet this criteria are not "data".
👍 but are you proposing to define this as a type? Or otherwise try to
check/enforce that samplers only produce data? Dynamic checking is
possible but slow, static checking seems nigh impossible.
[6] Pescador defines a design / interface referred to as a Transformer.
Transformer is defined as taking data-like objects as input and output, and
preserves iteration, e.g. for data in Transformer(Sampler()):....
ITYM Transformer takes an iterator of data objects. I see this for Buffer
but it's not clear how one would fit Mux into this design. I think it's
reasonable to want both Buffer and Mux to exist at the same level of
abstraction, since they're both in some sense meta-streamers.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pescadores/pescador/issues/75#issuecomment-292013092,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA4iq8F5zPRuRwMpVChdCt-AM5H_pMrhks5rtBJegaJpZM4MxzAe
.

okay! first off, @bmcfee thanks for the pointers, I definitely feel like I've got a better grasp of standard terms / definitions now (but we'll see :o):
A – Definitions
(summarizing Python standards)
[A.1] An iterator is an object that produces a sequence of data, i.e. via __next__ / next().
[A.2] An iterable is an object that can produce iterators, i.e. via __iter__ / iter().
[A.3] A "stream" is the sequence of objects produced by an iterator.
[A.4] A "generator" (or more precisely "generator function") is a callable object that returns a single generator iterator.
[A.5] For example, range is a iterable function, range(8) is an iterable, and its iterator produces the stream (consecutively) 0, 1, 2, ...
B – Streaming data
[B.1] Pescador defines an object called a Streamer for the purposes of (re)creating iterators indefinitely and (optionally) interrupting them prematurely.
[B.2] Streamer inherits from iterable and can be iterated directly.
[B.3] A Streamer can be initialized with one of two types:
[B.3.1] Any iterable type, e.g. range(7), ['foo', 'bar'], "abcdef", or another Streamer()
[B.3.2] A generator function and its arguments + keyword arguments.
[B.4] A Streamer transparently yields the data stream flowing through it.
[B.4.1] A Streamer should not modify objects in its stream.
[B.4.2] In the spirit of encapsulation, the modification of data streams is achieved through separate functionality (see Section D, below).
C – Multiplexing data streams
[C.1] Pescador defines an object called a Mux for the purposes of stochastically multiplexing streams of data.
[C.2] Mux inherits from Streamer, which makes it both iterable and recomposable, e.g. one can construct arbitrary trees of data streams.
[C.3] A Mux is initialized with a container of one or iterables, and parameters to control the stochastic behavior of the object.
[C.4] As a subclass of Streamer, a Mux also transparently yields the data stream flowing through it, i.e. [B.4].
D – Processing data streams
[D.1] Pescador adopts the concept of "transformers" for processing data streams.
[D.1.1] A transformer takes as input a single object in the stream.
[D.1.2] A transformer yields an object.
[D.1.3] Transformers are iterators, i.e. implement a __next__ method, to preserve iteration.
[D.1.4] An example of a built-in transformer is enumerate [ref].
Commentary

I want to pause on data and sampling for right now.
I agree that Mux should be a subclass of Streamer; I don't understand why data stream agnosticism is incompatible with this.
Having thought about it a bunch, I increasingly think buffer_stream could be more like enumerate or zip than Streamer. In other words, I think buffer is an operation (or iterable function), where Streamer / Mux are wires / routers / switches ... but that's circuit design taking over my brain.

Update for posterity:
[A.6] We use "streamer" to refer to the union of generator functions and iterables.

closed with #88


[libmpv_render] fails to render textures

due to a perfectly legitimate desire to maintain backward compatibility with older Raspberry models, the repository only provides a generic build of mpv (and an older version of FFmpeg). As a result, mpv is unable to take advantage of hardware acceleration, and therefore does not leverage the Raspberry’s surprisingly powerful on-board GPU to play video. So I used mpv-build to build FFmpeg and MPV from their master branch. with these options.
ffmpeg:
--enable-gpl
--enable-nonfree
--enable-static
--enable-libx264
 --enable-libfdk-aac
 --enable-libvpx
 --enable-libopus
 --enable-libmp3lame
 --enable-libtheora
 --enable-libvorbis
 --enable-omx
 --enable-omx-rpi
 --enable-mmal
 --enable-libxcb
 --enable-libfreetype
 --enable-libass
 --enable-gnutls
 --disable-opencl
 --extra-cflags="-march=armv8-a+crc -mfpu=neon-fp-armv8 -mtune=cortex-a53"

mpv:
--enable-rpi
--enable-libmpv-shared

the result is astonishing, MPV (player itself) can play 1080P/60fps videos without dropping a single frame.
but libmpv will show a white screen that can only play the sounds and render subtitles. logs from MPV_TERMINAL indicate these errors:
[libmpv_render] after creating texture: OpenGL error INVALID_VALUE.
[libmpv_render] Error: framebuffer completeness check failed (error=36054).
[libmpv_render] Error: texture could not be created.

I've already rebuild the plugin, but the issue remains. also this is sort of similar to #25 but i've tried it with 1.7.9 as well.

Do you mean mpv.js works with mpv from standard repositories, but not with ffmpeg/mpv compiled from sources?
Can you reproduce issue with SDL example?
Btw, it's not enough to compile mpv with hwdec to get hwdec in mpv.js, #5 needs to be fixed first…

logs from mpv.js on electron 1.7.9 (full log)
[libmpv_render] GL_SHADING_LANGUAGE_VERSION='OpenGL ES GLSL ES 1.0 Chromium'
[libmpv_render] Loaded extension GL_EXT_unpack_subimage.
[libmpv_render] Loaded extension GL_EXT_texture_rg.
[libmpv_render] Loaded extension GL_EXT_color_buffer_half_float.
[libmpv_render] Function glQueryCounterEXT from extension GL_EXT_disjoint_timer_query not found.
[libmpv_render] Function glGetTranslatedShaderSourceANGLE from extension GL_ANGLE_translated_shader_source not found.

[libmpv_render] GL_*_swap_control extension missing.
[libmpv_render] 16 bit UNORM textures not available.
[libmpv_render] Disabling HDR peak computation (one or more of the following is not supported: compute shaders=0, SSBO=0).
[libmpv_render] No advanced processing required.
(Paused) AV: 00:00:06 / 00:00:12 (47%) A-V: -0.000 Dropped: 130
[ao/alsa] Error received from snd_pcm_avail (-77, File descriptor in bad state)!
[vo/opengl-cb] mpv_render_context_render() not being called or stuck.
[ao/alsa] Error received from snd_pcm_avail (-77, File descriptor in bad state)!
[ao/alsa] Error received from snd_pcm_avail (-77, File descriptor in bad state)!
[vo/opengl-cb] mpv_render_context_render() not being called or stuck.

Can you reproduce issue with SDL example?

The issue exist in the SDL example. as well in mpv --vo=gl

it's a known issue mpv-player/mpv#5405


Theme on post method

I would like to reuse the Messenger object and include in the options a different theme depending on the message from the server.
In other words. I'm not able to pass theme option on the post method.  I can only change the theme on
Messenger.options = {theme:'air'};  But since its a global change, I am not able to reuse an already initialized Messenger object from the same page.  I believe the way that I'm doing it will cause a memory leak:
Messenger.options = {theme:'air'};
Messenger().post ("test");
If this code is run many times while the page is not refreshed.  Am I wrong in assuming that Messenger() creates a new instance every time is run?

Theme is Messenger property. So try
Messenger({theme:'air'}).post ("test");

@urosgruber I tried what you said but still getting the same error. Do you have other options:
I am having a similar issue but for this.options.themes in the file https://github.com/HubSpot/messenger/blob/master/docs/welcome/javascripts/theme-sel.js#L25:

Uncaught TypeError: Cannot read property 'themes' of undefined

Got it!!! My similar issue was gone with UnderscoreJS VERSION 1.4.3 and BackboneJS VERSION 0.9.10.


logs dropped with CONFIG_LOG_MIPI_SYST_USE_CATALOG=y

Describe the bug
MIPI Sys-T Cat logging is not working with current Zephyr mainline. Same application works with Zephyr 3.3.
To Reproduce
Steps to reproduce the behavior:

build SOF with CONFIG_LOG_MIPI_SYST_USE_CATALOG=y
run any SOF test case

Expected behavior
Logs are seen in backend.
Impact
Unable to use Sys-T logging.
Logs and console output
By adding debugging to
subsys/logging/log_output_syst.c
It can be seen logs reach the output handler, but are skipped as the fmt string does not fall into the catalogue section:
DEBUG: msg of 44 bytes
log pkg 9e0a3bc0 data 9e0a3bec
# print in is_in_log_strings_section()
log addr be066360 outside be07bdc4-be07d330
DEBUG: not in catelogue
DEBUG: msg of 44 bytes
log pkg 9e0a3c00 data 9e0a3c2c
log addr be066360 outside be07bdc4-be07d330
DEBUG: not in catelogue

Environment (please complete the following information):

OS: SOF/Zephyr on Intel ADSP (cavs25)
Toolchain: Zephyr SDK 0.16
Zephyr: 7d54586751cfe405d2cdcfd850f8100bc9844f63

Additional context
Follow-up from SOF bug https://github.com/thesofproject/sof/issues/7703

Tested revert of bae0a5b8b66aab6c909af18eaa30cee6c164f69f , but did not help (suggest from @dcpleung ).

I tried tests/subsys/logging/log_syst/ on this same platform and the test did not pass, but the results are a bit inconclusive. I will need to verify the subsys test on older Zephyr. but sharing the details still here as I know SOF is out-of-tree case.

@dcpleung Update, I did a full biset (a bit slow as I had to find a working SOF commit pair for each bisect round) and ta-daa, the culprit is caea9dc1966588de0a6ea712cb388d237acbfa83 . So it is the other commit merged in https://github.com/zephyrproject-rtos/zephyr/pull/56996 , I only tested reverting https://github.com/zephyrproject-rtos/zephyr/commit/bae0a5b8b66aab6c909af18eaa30cee6c164f69f but not the other one. :(


SQL error when auditing is enabled

in .env set AUDITING_ENABLED=true
then create a league (pr update)
you will get an SQL error:  cannot isnert, column tag too long

add DB connection to config.audit.php

in "administration->audits" add a datatable with all audit items for the region

in "user profile" add a timeline view with "my audits"

in "club dashboard" if there are any audits add a card (bottom) with audit timeline for this club + teams

in "league dashboard" if there are any audits add a card (bottom) with audit timeline for this leagues


SSL problem

Hi. Very useful plugin that I'm using for a while now. I recently encountered a problem when working with https URLs. The error is:
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
I'm using a development CA, with a root certificate, an intermediate one (signed by the root), and final certificates for every website/webapp (signed by the intermediate certificate). I imported all certificates using keytool but the error remains the same.
OS: OSX 10.13
JAVA: <IP_ADDRESS>
Can you provide some feedback or a workaround to the problem ?
Thanks.

@bogdandynamic Thanks for you feedback on this issue. I'm going to release a new version for your problem, and I hope you'll keep your eyes on it.

Be sure I'll keep my eyes on it. It's a very helpful plugin and I don't have to use external apps like Postman to do the job.

I an so sorry. I work very busy recently, Just taking a little free time added support for HTTPS, Currently, the plugin update is pending JetBrains approval. But, also cannot custom certificate, if you still can't meet your need, I can again this weekend update a version for you.

Hello. First of all I thank you for trying to fix the issue in your free
time. After the new version is available I'll update and test it.
Afterwards I'll give you related feedback.
On Nov 2, 2017 18:51, "指尖上的艺术"<EMAIL_ADDRESS>wrote:

I an so sorry. I work very busy recently, Just taking a little free time
added support for HTTPS, Currently, the plugin update is pending JetBrains
approval. But, also cannot custom certificate, if you still can't meet your
need, I can again this weekend update a version for you.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/FingerArt/ApiDebugger/issues/3#issuecomment-341486188,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAko1t_taF9jKCmWtYmm1k4tvXfe0egKks5syfMBgaJpZM4P9XIv
.


New find node script in ARVRHelpers may be broken with custom XRTools classes

I think the "is_class" function does not work to return custom class names.
I tested when creating my sprint movement functions, adding the code to search for direct movement providers repeatedly crashed the editor.  When moving that code to the process function so that it would at least run, the errors came from the new _find_child script. According to documentation, is_class will return true only for the base Godot class not any custom classes.  There is an "is" keyword, i.e., if node is class_name, but I'm not sure if this works either in the expected way; I couldn't test because "type" is locked to a String type variable and if is keyword works, the class name would be just a class name and not a string (I think).

Yah, apparently this is a common issue with gdscript. The best solution appears to be overriding is_class in all classes. Something like:
func is_class(name : String) -> bool:
    return name == "CustomClass" or .is_class(name)

Also instead of overwriting is_class in every XRTools function, maybe you could utilize the Node "get_filename()" method instead.  E.g., in lines like 145 of ARVRHelpers, you could use if node.get_filename() == type instead of node.is_class(type)), and in the function that is calling this, type could be a string maybe of the absolute path to the script for the relevant XRTools function, e.g.,
ARVRHelpers.find_child(_left_controller, "*", "res://addons/godot-xr-tools/functions/movement_direct.tscn")
I think this would allow you to keep "type" as a String, just it would have to be documented that to use the function you need to drag over the path to the XRTools functions you are searching for.  Not sure if that would work but just an idea.

I'm trying to model these functions on the new Godot 4 find_children() method so I'd like to keep the contract essentially identical, however there too it looks like custom classes isn't supported - at least not until https://github.com/godotengine/godot/pull/62273 goes in.
Until the standard *::is_class() recognizes class_name, the only option appears to be to manually add it.

According to https://github.com/godotengine/godot/issues/21789#issuecomment-1312540449 it looks like even the workaround of overriding is_class() is not supported in Godot 4. As the project is trying to simultaneously support Godot 3 and Godot 4 with minimal differences, it seems like the advanced node-search capability can't be supported yet.
I think for now it's best we stick with the user manually specifying NodePath properties to the appropriate nodes. It's a shame as this results in significantly more manual configuration steps.

Bastiaan decided he wanted them in to simplify the code. It'll either be fixed shortly in Godot 4, or when I port it over I'll do a temporary tweak to make it work until they get around to fixing it.

This works fairly well, with the one caveat that the is_class() override only works in the editor if the script is also marked as a tool script.


ChatQnA with Remote Inference Endpoints (Kubernetes)

Description
This PR contains changes related to support remote inference endpoints in ChatQnA kuberenetes.
For Xeon kuberenetes added chatqna-remote-inference yaml file which will work for remote llm endpoint.
For Gaudi added chatqna-vllm-remote-inference yaml file which will work for remote llm, tei and rerank endpoints.
This needs a ChatQnA wrapper to work. Updated build.yaml file to include required images and also updated README with instructions
Issues
N/A
Type of change

[x] New feature (non-breaking change which adds new functionality)

Dependencies
N/A

Created another one


Require authentication on all paths but allow assets

I found that it was convenient for me to use app.all('', connect.ensureLoggedIn('/login'), ...) to require authentication on all paths, however I still wanted to allow /login, /signup and /about. I put those three paths above the app.all and it worked except that assets weren't loaded without authentication ('/images/ and /stylesheets/*).
To solve this I used underscore to check an array of strings if req.path is contained and if so next, this allows me to use app.all and require authentication on all paths but still have select assets available to the login, signup, and about pages.
Maybe there's a better way to do this, but I don't know of it and this was the best solution I had so I just wanted to share it with you.

This issue can be closed.


[QA] Avatars not visible despite presence indicated on map

Explorer Alpha build versions:

v0.20.0

Issue Description:
Even though the map indicates that there are other avatars nearby, they are not visible or readable in the scene.
STR:

Launch the explorer
Use the command /goto to navigate to any scene outside of Genesis Plaza with at least five other users.
Check the map to confirm the presence of other users.

Current behaviour:

points on map may don't disappear when avatar is


NaN < 0 errors

I would expect that NaN < 0 be NaN, but instead it gives
>>> NaN < 0.0
error: runtime error
 = Conversion error: unit '' can not be converted to ''

Is this due to f64::partial_cmp returning None despite all scalars being units-compatible?
https://github.com/sharkdp/numbat/blob/f064611bcc3378685c6b9667d9f9cfe46b104f8c/numbat/src/vm.rs#L755-L759

Thank you for reporting this.


Percentage issue

Dear Vladimir,
I am trying to calculate as follows
$ rclc 130-20%
ERROR: Too many operators

However, other CLI calculators such as Qalc output 104 as expected.

Thanks for reporting the issue. Yes, rclc does not support percentage yet. I use parsing without look ahead that makes impossible to distinguish between 10 % 2 and 10 + 2 % - so, the parser thinks that in both cases % is a modulo operation. I think I can add a per-calculation step to add % support. The only trouble is to interpret cases correctly. As of these ones, it is clear:
a + b % = increase a by b percents
a - b % = decrease a by b percents
these ones are kind of clear but maybe not obvious:
a * b % = calculate b percent of a
a / b % = calculate how many percents is b of a (e.g, 10 / 5 % == 200 because 10 is twice bigger than 5)
the last example is questionable but I do not know a better usage for division and percent signs together.
What to do for the other combinations? Throw an error at least at this moment? I am talking about cases like a & b %, a << b % and so on.
Another question is % priority. I do not like how it is done in Qalc:
10 - 20 + 4% is calculated as (10-20)+4%. I think, I'd prefer 10- (20 + 4%) way. In other words, always stick % to the closest value.

@VladimirMarkelov, Qalc behaves here as a classical Windows Calc, i.e. step by step: a) 10-20=-10, b) -10+4%=-10,4
Off-line hand-held Citizen calculator behaves the same way. If one wants another order, parentheses should be used.
Let’s proceed step by step as well, i.e. implement addition and subtraction first, then we’ll see.

I've added % as a percentage:
    a + b % - increase the number a by b percents
    a - b % - decrease the number a by b percents
    a * b % - calculate b percent of a (short for a * b / 100)
    a / b % - calculate how many percents is a of b (short for a / b * 100)

docs updated as well. If it looks good I'll add a new tag and publish new version.

I rarely use multiplication and division with percentages,
but am ready to test addition and subtraction as soon as
Windows binary is ready.

I agree: multiplication and division with percentages are rare cases, but as I tried qCalc supports at least multiplication. I do not think it hurts adding both.
Pre-release: https://github.com/VladimirMarkelov/rclc/releases/tag/0.8.9-rc1
If it is OK (just close the issue if it is OK), I'll add a tag and rename the release title.

Entering data literally with spaces as the documentation says does not work,
i.e. rclc.exe 100 + 10 % = 100 (Qalc works here).
Let's try w/o spaces. Now it works, but the output looks inconsistent as follows
rclc.exe 100+20% = 120, but rclc.exe 100+10% =<PHONE_NUMBER>0000002

Thanks a lot! It was an old bug when the calculator used only the first argument. Now it takes all of them. So, in the previous version only rclc "100 + 10 %" worked.
Updated: https://github.com/VladimirMarkelov/rclc/releases/tag/0.8.9-rc2

Recently I found Kalker, another terminal calculator which supports percentages.
I shall use it further along with Qalc to compare calculation results.
Now, let us add one more calculation step as follows to catch a discrepancy: -10.4 vs -10.8.
$ qalc 10 - 20 + 4%
(10 - 20) * (104 * percent) = -52/5 = -10,4

$ kalker 10 - 20 + 4%
-10.4

$ rclc 10 - 20 + 4%
-10.8

Aha. So, at least two calculators set priority for % as low as + and -. I'll change it. Now rclc also shows -10.4 in this case.
https://github.com/VladimirMarkelov/rclc/releases/tag/0.8.9-rc3

It seems rclc does not like when expression begins with minus, interpreting it as a switch instead,
so rclc -10.5*10.5+10.5% and rclc "-10.5*10.5+10.5%" fail, but rclc (-10.5*10.5+10.5%) works.

Good catch! It seems a library that parses the command line swallows all items starting with - and treats them as options. I'll check if I can extract unused options to treat then as an expression

https://github.com/VladimirMarkelov/rclc/releases/tag/0.8.9-rc4
Now rclc -10.5*10.5+10.5% should work


Pop-up messages fix

AS A Bürokratt Users
I WANT all pop-up messages to be in Estonian and disappear faster
SO THAT I would understand the messages and they would not disturb me
Acceptance Criteria

[x] All pop-up notifications should have a timeout. Messages should disappear after 2 seconds.
[ ] All pop-up title and the content of the messages should only in Estonian and not mixed with English

Some pop-up messages are still in English.


[provider] Remove gateway class from controlledClasses on Delete

This commit removes a gatewayclass object from controllerClasses when a object Deletion is triggered. This also maintains the oldest class in controlledClasses.
Fixes #222
Signed-off-by: Shubham Chauhan<EMAIL_ADDRESS>

Codecov Report

Merging #421 (bd5792e) into main (f094c5b) will decrease coverage by 0.12%.
The diff coverage is 88.46%.

@@            Coverage Diff             @@
##             main     #421      +/-   ##
==========================================
- Coverage   60.35%   60.22%   -0.13%
==========================================
  Files          40       40
  Lines        4323     4347      +24
==========================================
+ Hits         2609     2618       +9
- Misses       1564     1574      +10
- Partials      150      155       +5

Impacted Files
Coverage Δ

internal/provider/kubernetes/gatewayclass.go
70.27% <88.46%> (+1.72%)
:arrow_up:

internal/gatewayapi/runner/runner.go
58.51% <0.00%> (-3.20%)
:arrow_down:

internal/provider/kubernetes/gateway.go
66.81% <0.00%> (-3.02%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@chauhanshubham can you please rebase to the latest main refpoint. The CI has been updated to run a subset of conformance tests and it would be good to make sure this PR passes it. TIA !


about  ADV_TYPE_DIRECT_IND_HIGH

ESP32.If I use this type, I can't get any message in my phone.but if i use other types, I can't get any message after 0.5 meter.I am very sorry that I have a long time to use English.Hope you can understand what I said.Thanks.

I have created a PR to spam Android Devices can you check does it also have the same behaviour. Right now it only supports one device I will be adding support for more devices soon

I have created a PR to spam Android Devices can you check does it also have the same behaviour. Right now it only supports one device I will be adding support for more devices soon

WoW，Can I see the code?Cause I have the same thought.But there is some reasons that I can't do this.So I need some experience to do this.

Yes, here is the link https://github.com/MaazSk/AppleJuiceEsp32/tree/feature/addRawData
This is the latest I have tried

Yes, here is the link https://github.com/MaazSk/AppleJuiceEsp32/tree/feature/addRawData This is the latest I have tried This works on esp32 using esp-idf

Thank you.I need read that carefully.I can only understand python and arduino to this day.If you can use Arduino to make this project, that will be so cool.

Just give me some time will do that as it is easy to do in it I will make one more for it


Update CHANGELOG.md

Force rebuild with latest opensim-core, minor language change in changelog
Fixes issue #<issue_number>
Brief summary of changes
Testing I've completed
CHANGELOG.md (choose one)

no need to update because...
updated...

Already included in 4.3


Update conceptual overview section

In order to remove the DNX content the conceptual overview content and section will need reworked.

Removed stale content.


⚠ ClamAV has degraded performance

In cd07efc, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 56 ms

Resolved: ClamAV performance has improved in c04ff89.


Use UUID instead of integer IDs

For better compatibility with the document storage service

Closing this (Duplicate https://github.com/ministryofjustice/hmpps-subject-access-request-api/pull/36)


[Feature][ui] Delay execution and typo fix

What is the purpose of the pull request

Added a selector to new node setting form, user can set execution delay time when creating new node;
Added a new state DELAY_EXECUTION to tasks. In zh-cn, it calls 延迟执行, and in en-us, it calls Delay execution;
Now users can see the new state in the statistics of index page and task list;
Fix the typo of taskCtatusCount to taskStatusCount;

Related issues

[Feature][Server] Allow tasks to be delayed#3426

Brief change log

dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/config.js Add DELAY_EXECUTION to taskState. Specify color and icon;
dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/formModel.vue Add delay execution selector to node setting form and specify data field delayTime to it;
dolphinscheduler-ui/src/js/module/i18n/locale/en_US.js and dolphinscheduler-ui/src/js/module/i18n/locale/zh_CN.js Add locale words about delay execution;
dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/index/index.vue Fix the typo of taskCtatusCount to taskStatusCount.

Two files have not been changed, please restore，createDataSource.vue、actions.js

Hi~
Please resolve these four bugs.


VM error running first_run.sh

Running first_run.sh, I get:
sirfuser@ubuntu-xenial:~$ ~/devel/CCPPETMR_VM/scripts/first_run.sh dd: error writing '/tmp/EMPTY': No space left on device 5683+0 records in 5682+0 records out<PHONE_NUMBER> bytes (6.0 GB, 5.5 GiB) copied, 17.1617 s, 347 MB/s

you shouldn't have to run this normally. Edo will do this at creation time for the next VM. However, of course you should be able to run it.
It turns out that this message is expected. The zerofill trick first creates a file that fills up everything (by runnign ot of disk space), and then removes it. This is ONLY useful for then exporting the VM. Otherwise, what it will do is expand the virtual disk to actually occupy quite a lot of disk space on your HD.
@paskino, can you document the usage of first_run.sh in the README? Also, I guess it's best that you have something like the following before the dd statement
echo "Now creating a very large file filled with zeroes, and then delete it"
echo "such that VirtualBox will create a compact OVA file."
echo "You will see message saying \"error writing '/tmp/EMPTY'\". This is expected."

ah. I see that this confusion is caused by @paskino adding  step 6 on first_run.sh in INSTALL.md. This seems incorrect. The user doesn't have to do this. Instead, this step has to be in the instructions in our README.md on how to create the VM I believe.


W^X in Apple SecureROM

This page states that A7 has W^X in SecureROM. That is not the case. The first Apple ROM to feature W^X is the A9X.
I don't have a source to quote, but I'm one of the checkra1n developers, and we do run shellcode directly off the heap on A9 and below as part of our jailbreak. Everything is mapped as RWX there.

Thanks for the correction.
Our original source was here which stated:

Memory access permissions segregation (W^X) was added in A7 (iPhone 5S). On older models such as iPhone 5 everything is possible.

I had a quick look at ipwndfu but could not find a difference in the code between W^X and RWX devices but I trust you on this :)

The difference in ipwndfu is this.
A8-A9X are not supported there, but A10 and later have a JOP chain to install a new page table hierarchy before jumping to shellcode, which A7 does not get.


how to set local provider

sip.provider.net is not work
how to set local provider?

The sip.provider.net is only a placeholder for a Gateway (for calling to regular phones). Routr doesn't have a concept of a "local" provider. However, if you want to create a local sip network, you could instead use Domains
In the future, if you have any questions, please ask the slack community. We like to keep this space for bugs only.


Corrected typo at line 31

"stativ" to "static"

[x ] I have read freeCodeCamp's contribution guidelines.
[x ] My pull request has a descriptive title (not a vague title like Update index.md)
[x ] My pull request targets the master branch of freeCodeCamp.
[x ] None of my changes are plagiarized from another source without proper attribution.
[x ] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Closed and Reopened this PR to attempt to resolve a specific Travis build failure.


How to use react-native link with a existing iOS or Android project path

Can I use react-native link command with a parameter like
react-native link --path "{a_path_to_my_exisiting_ios_or_android_project}"

to link the native code in the node_modules/ to a specific, existing iOS/Android project?
If YES, how to do that and can you document it?
If No, can you add this feature?
Using the manual method for existing projects is error-prone and time-consuming.

What is your project structure? You can do it if automatic detection fails. In that case, I would have to see list of your directories and what you are trying to link.

I have an iOS project, and I add package.json and install node_modules:
.
├── Podfile
├── Podfile.lock
├── Pods/
├── helloworld/    ## native code
│   ├── Assets.xcassets/
│   ├── Base.lproj/
│   └── src/
├── helloworld.xcodeproj/
├── helloworld.xcworkspace/
├── package.json
├── node_modules/
└── yarn.lock

I need to add a fake Android project in the project to make react-native link work. I want to just run react-native link --ios to link the iOS project only.
The command react-native link doesn't automatically install React-Native-associated native projects including React, RCTAnimation, RCTActionSheet, etc. I need to add those .xcodeproj into our iOS project, and add the linked binary in the Build Phases manually.
I need to set View controller-based status bar appearance to NO manually in the info.plist.

I hope I can just install those node modules and simply run react-native link to add the native code to our iOS project.

Hi there! This issue is being closed because it has been inactive for a while. Maybe the issue has been fixed in a recent release, or perhaps it is not affecting a lot of people. Either way, we're automatically closing issues after a period of inactivity. Please do not take it personally!
If you think this issue should definitely remain open, please let us know. The following information is helpful when it comes to determining if the issue should be re-opened:

Does the issue still reproduce on the latest release candidate? Post a comment with the version you tested.
If so, is there any information missing from the bug report? Post a comment with all the information required by the issue template.
Is there a pull request that addresses this issue? Post a comment with the PR number so we can follow up.

If you would like to work on a patch to fix the issue, contributions are very welcome! Read through the contribution guide, and feel free to hop into #react-native if you need help planning your contribution.

@xareelee did you find any solution for this?

@xareelee you can set a rnpm key in your package.json and define some properties to override defaults.
E.g. here we read properties from an object userConfig.
In order to override location to your .xcodeproj, you'd do:
{ "rnpm": { "ios": { "project": ".../a.xcodeproj" } } }

@grabbou  your solution doesn't work

@xareelee  did you find any solution for this? I have the same problem


chore(main): release 4.0.0

:robot: I have created a release beep boop
4.0.0 (2023-12-26)
⚠ BREAKING CHANGES

Now we support dual package publish, and the import can fail.

Features

added support for dual package publish (dd0803f)

Bug Fixes

dual-package-publish: issue with imports lib when moduleResolution is node (4dac8aa)

Documentation

blog: added blogpost about dual package publish (006e8a9)
updated documentation for dual package publish (03ee217)

Continuous Integration

release: fixed issue with release-please skipping release (8dfb582)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/H4ad/serverless-adapter/releases/tag/v4.0.0 :sunflower:


feat: add a new blog on "Traffic Split in Apache APISIX Ingress Controller"

Actual Behaviour
We have old blogs in our blog page
Expected Behaviour
Newly published blog has to be added on our blog page about "Traffic Split in Apache APISIX Ingress Controller" published by our very own 'Chao Zhang'
Steps to reproduce it
https://github.com/apache/apisix-website/tree/master/website/blog
Would you like to work on the issue?
Yes i would like to work on this issue if no one else picks it up
How you can solve it ?

Create a file called: 2021-03-27-traffic-split-in-apache-apisix-ingress-controller.md
Copy contents from Original File[1] to the new file;
File your First PR!

[1] Original File: https://github.com/api7/website/blob/master/_posts/blog/en-US/traffic-split-in-apache-apisix-ingress-controller.md
We are going to publish it here: https://github.com/apache/apisix-website/tree/master/website/blog

thanks!

Anyone haven’t picked this issue , i think i should resolve it right away, what say? @juzhiyuan

That would be great!


Support Layer1GasFeeFlows and add layer1GasFee property to TransactionMeta

Explanation

This PR implements support of Layer1GasFeeFlows and add layer1GasFee property to TransactionMeta
References

Fixes https://github.com/MetaMask/MetaMask-planning/issues/2031

Changelog

@metamask/transaction-controller

ADDED: Support Layer1GasFeeFlows and add layer1GasFee property to TransactionMeta

Checklist

[X] I've updated the test suite for new or updated code as appropriate
[X] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
[X] I've highlighted breaking changes using the "BREAKING" category above as appropriate

This is going to be merged after

https://github.com/MetaMask/core/pull/3948
https://github.com/MetaMask/core/pull/3827


Create multiplication of array in c++

Added multiplication table using array in c++

@MohmedIkram please have a look


Find sum of cubes of numbers by recursion

Description
Input  : 1 2 3 4 5
Output : 225

Program added successfully :tada:
Thanks for your contribution :hugs:


Model Input term does not add in Modflow Model Instance

When a user completes and clicks save in the dialogue box for adding a Model Input term for a MODFLOW Model Instance, the term is not added to the DB.

@pkdash since you helped us implement this, do you have any idea why this isn't working any more? We're pretty sure we haven't changed anything related to this in our code. Any advice?

@pkdash the action attribute in the form tag for this element is showing as blank:
"<form action="" method="POST" enctype="multipart/form-data">"
Also, it doesn't have a form id. So we think it's something in Crispy Forms. We tried to set the action attribute manually but were unsuccessful.

@jsadler2 Would you check the form action attribute as soon as the page reloads. My guess is some javascript might be resetting the action attribute when some other metadata elements get updated. If that's not the case we may be able to debug the output html for this modal form in the page_preproccessors.py.

@jsadler2 or @mohamedmorsy Can you test to see if this has been fixed and close it?

@pkdash this works now as expected. @pkdash Thanks!


Fix typo in documentation: "appply" -> "apply"

Making major contributions here...

Thanks, regardless :)


Convert all singleton lists in the MR APIs to embedded objects

Description of your changes

Depends on: https://github.com/crossplane/upjet/pull/387, https://github.com/crossplane/upjet/pull/400, https://github.com/crossplane/upjet/pull/402/, https://github.com/crossplane/upjet/pull/411
Terraform configuration blocks, even if they have a MaxItems constraint of 1, are (almost) always generated as lists. We
now generate the lists with a MaxItems constraint of 1 as embedded objects in our MR APIs.
This also helps when updating or patching via SSA the (previously list) objects. The merging strategy implemented by SSA requires configuration for associative lists and converting the singleton lists into embedded objects removes the configuration need.
The provider generates the converted embedded objects in the new v1beta2 version if the current API version is v1beta1 and in the v1beta3 version if the current version is v1beta2 and registers upjet's identity converter and the singleton list converters to be invoked, in chain, by the CRD API conversion webhooks. This implies that the current versions stay intact, and old clients not aware of the new APIs should continue functioning as before (backwards-compatibility). Any clients willing to use the embedded objects-based APIs should be updated to use the new (v1beta2 or v1beta3 as appropriate) versions of the CRD APIs.
If a resource contains no singleton lists in its API, then no new version for it is generated.
I have:

[x] Read and followed Crossplane's contribution process.
[x] Run make reviewable to ensure this PR is ready for review.
[ ] Added backport release-x.y labels to auto-backport this PR if necessary.
[x] New versions for the converted CRD APIs
[x] Replace config.Resource.References[*].Type with config.Resource.References[*].TerraformName: Addressed in #1310
[x] API Conversion functions (invoked by the Conversion webhooks) to convert between the new & old API versions
[x] Switch controller watch target API versions to the current API versions
[ ] Adjust the manually authored example manifests
[ ] Fix the configurations to address the inconsistency between the JSON & Go resource schemas regarding the MaxItems = 1 constraint

How has this code been tested

/test-examples="examples/opensearchserverless/v1beta1/securityconfig.yaml"

I wonder if it might make for a more consistent user experience if we set all of the updated versions to v1beta3, skipping v1beta2 for the resources that didn't have a breaking schema change in terraform provider 5.x.
What do you think?

I wonder if it might make for a more consistent user experience if we set all of the updated versions to v1beta3, skipping v1beta2 for the resources that didn't have a breaking schema change in terraform provider 5.x.
What do you think?

I'd prefer Kubernetes API conventions here. I feel like skipping versions would be another source of confusion for the users. Even if we attempt to synchronize versions with this PR, we will still need to bump individual versions for the API changes specific to individual resources. which will again unsync their versions.

We are adding the missing example manifest (which is also the reason the check-examples job is failing for this PR) in #1334...


Improve test coverage

Codecov Report

Merging #218 into master will increase coverage by 1.20%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #218      +/-   ##
==========================================
+ Coverage   96.72%   97.93%   +1.20%
==========================================
  Files           8        8
  Lines         764      774      +10
==========================================
+ Hits          739      758      +19
+ Misses         25       16       -9

Impacted Files
Coverage Δ

R/parser.R
100.00% <100.00%> (+2.45%)
:arrow_up:

R/utils.R
100.00% <100.00%> (+1.54%)
: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 3de52ff...4ad9105. Read the comment docs.


YouKu video does not show

See: https://wechaty.js.org/2020/08/24/add-video-to-wechaty-blog/
Could you please have a check on it? @univerone
Thanks!
Update: it seems that we should convert all http protocol to https to prevent this kind of situation:

Mixed Content: The page at 'https://wechaty.js.org/2020/08/24/add-video-to-wechaty-blog/' was loaded over HTTPS, but requested an insecure frame 'http://player.youku.com/embed/XMjQ3NjUxMjAwOA=='. This request has been blocked; the content must be served over HTTPS.

Thanks for your notation! I'll fix it!

Awesome, I'm looking forward to the fix!
One more thing: the quality of the YouKu video example link that in your post is kind of low, it would be better if you could replace it with a higher quality video. Just FYI.

Awesome, I'm looking forward to the fix!
One more thing: the quality of the YouKu video example link that in your post is kind of low, it would be better if you could replace it with a higher quality video. Just FYI.

It seems like youku iframe only support high quality version of short videos within 10mins(In the website, only VIP users can watch 1080p version)， should I replace this link with a wechaty unrelated video？

No, please use Wechaty related video.
The resolution is ok, however the content of that video I believe can be changed to    another one and let's see if it could be better.


Add support for long value return for CEIL, CEILING and FLOOR math functions

Add support for long value return for CEIL, CEILING and FLOOR math functions.
Ceil and ceiling should round up to the nearest whole number if there is a decimal value.
Floor should round down to the nearest whole number if there is a decimal value.
Signed-off-by: MitchellGale-BitQuill<EMAIL_ADDRESS>Description
Currently the max size returned by OpenSearchSQL for values called with ceil, ceiling, floor is INT_MAX, this PR adds additional support for some values up to LONG return value.
There are concerns regarding accepted values because of issues with floating point precision issues. Please see this comment for more detail https://github.com/opensearch-project/sql/issues/1036#issuecomment-1335790282.
Issue exists in the positive domain for ceil and ceiling as well as the negative domain for floor.
Example issue ceil:
opensearchsql> select ceil(282474973688888.022);
fetched rows / total rows = 1/1
+-----------------------------+
| ceil(282474973688888.022)   |
|-----------------------------|
|<PHONE_NUMBER>88888             |
+-----------------------------+
opensearchsql> select ceil(282474973688888.122);
fetched rows / total rows = 1/1
+-----------------------------+
| ceil(282474973688888.122)   |
|-----------------------------|
|<PHONE_NUMBER>88889             |
+-----------------------------+

Example issue floor:
opensearchsql> select floor(-282474973688888.122);
fetched rows / total rows = 1/1
+-------------------------------+
| floor(-282474973688888.122)   |
|-------------------------------|
| -282474973688889              |
+-------------------------------+
opensearchsql> select floor(-282474973688888.022);
fetched rows / total rows = 1/1
+-------------------------------+
| floor(-282474973688888.022)   |
|-------------------------------|
| -282474973688888              |
+-------------------------------+

Notes
Because of the change of data type, several unit test, integration tests and comparison tests needed modification to reflect change from INT -> LONG.
Issues Resolved
https://github.com/opensearch-project/sql/issues/1036
Check List

[x] New functionality includes testing.

[x] All tests pass, including unit test, integration test and doctest

[x] New functionality has been documented.

[x] New functionality has javadoc added
[ ] New functionality has user manual doc added

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #1205 (eb195b3) into main (43ceda1) will decrease coverage by 35.53%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##               main    #1205       +/-   ##
=============================================
- Coverage     98.30%   62.76%   -35.54%
=============================================
  Files           348       10      -338
  Lines          8659      658     -8001
  Branches        549      119      -430
=============================================
- Hits           8512      413     -8099
- Misses          142      192       +50
- Partials          5       53       +48

Flag
Coverage Δ

query-workbench
62.76% <ø> (?)

sql-engine
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...ssion/operator/arthmetic/MathematicalFunction.java

...ensearch/sql/expression/function/FunctionName.java

...watermark/BoundedOutOfOrderWatermarkGenerator.java

.../org/opensearch/sql/ppl/antlr/PPLSyntaxParser.java

...pensearch/sql/opensearch/mapping/IndexMapping.java

...nsearch/sql/expression/aggregation/Aggregator.java

...ch/sql/opensearch/planner/physical/MLOperator.java

...ch/sql/opensearch/storage/OpenSearchIndexScan.java

...sql/opensearch/response/agg/SingleValueParser.java

...l/opensearch/data/utils/OpenSearchJsonContent.java

... and 348 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


⚠ Secret Website 3 has degraded performance

In c630b83, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 5683 ms

Resolved: Secret Website 3 performance has improved in 261c4f8.


Merge 1.7.1

/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/config.rb:40:in `<top (required)>': uninitialized constant OS (NameError)
	from /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.7/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.7/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/global.rb:14:in `<top (required)>'
	from /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb:15:in `require_relative'
	from /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb:15:in `<main>'

Looks like config.rb needs to require "os" in order to get OS.mac?

An error occurred while loading ./test/system_command_spec.rb.
Failure/Error:
  describe SystemCommand do
    describe "#initialize" do
      let(:env_args) { ["bash", "-c", 'printf "%s" "${A?}" "${B?}" "${C?}"'] }

      context "when given some environment variables" do
        subject {
          described_class.new(
            "env",
            args: env_args,
            env: { "A" => "1", "B" => "2", "C" => "3" },

NameError:
  uninitialized constant SystemCommand
# ./test/system_command_spec.rb:1:in `<top (required)>'

It is weird that system_command_result_spec.rbas a require "system_command", but not system_command_spec.rb.

Codecov Report

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

@@            Coverage Diff             @@
##           master     #761      +/-   ##
==========================================
+ Coverage   68.54%   68.65%   +0.11%
==========================================
  Files         394      393       -1
  Lines       21163    21177      +14
==========================================
+ Hits        14506    14539      +33
+ Misses       6657     6638      -19

Impacted Files
Coverage Δ

utils/analytics.rb
82.05% <0%> (-7.7%)
:arrow_down:

cask/lib/hbc/cask.rb
86.66% <0%> (-7.46%)
:arrow_down:

cask/lib/hbc/container/naked.rb
87.5% <0%> (-3.41%)
:arrow_down:

cask/lib/hbc/container/dmg.rb
82.08% <0%> (-1.25%)
:arrow_down:

cask/lib/hbc/cli/info.rb
87.71% <0%> (-0.96%)
:arrow_down:

cask/lib/hbc/container.rb
92.85% <0%> (-0.17%)
:arrow_down:

utils.rb
69.76% <0%> (-0.15%)
:arrow_down:

download_strategy.rb
62.5% <0%> (-0.11%)
:arrow_down:

formula.rb
76.46% <0%> (-0.09%)
:arrow_down:

unpack_strategy.rb
85.86% <0%> (-0.02%)
:arrow_down:

... and 36 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 400af24...8be328f. Read the comment docs.


2021-8-19 recommend

https://github.com/beatbrot/trackie
https://github.com/samhocevar/wincompose
https://github.com/bjornbytes/lovr
https://github.com/NvChad/NvChad
https://github.com/aristocratos/bpytop
https://github.com/taviso/hotcorner

Submitted, waiting for merge


Update Impacthub Testnet to v2

Update Impacthub Testnet to v2, already happened.
Also adding testnet ibc impacthubtestnet-osmosistestnet

Hi @JeremyParish69 sorry I didnt notice that locally, fixed and pushed


Ensuring $.fn.hasClass works on SVG elements in IE11

Unable to get property 'contains' of undefined or null reference in IE11 because it appears IE11 does not support classList on SVG elements: https://caniuse.com/#feat=classlist
That breaks hasClass (and possibly other methods using classList) for SVGs in IE11.
Code to reproduce the issue:
const svg = $('<svg><path class="my-class"/></svg>')
svg.find('path').hasClass('another-class')

R.I.P. IE11


Feature/294 styling media manager

Q
A

Branch
features

Bug fix?
yes

New feature?
yes

BC breaks?
no

Deprecations?
no

Fixed issues
chameleon-system/chameleon-system#294

License
MIT

Media manager: responsive styling and styling improvements, some minor fixes

Thanks @ckleis


File icon themes are not working (missing icons)

VSCode Version: Code - Insiders 1.11.0-insider (d98a518c5485bd7a47c70f5b3783f70efa5edcd6, 2017-03-29T06:11:14.271Z)
OS Version: Windows_NT ia32 10.0.14393
Extensions: the listing exceeds the lower minimum of browsers' URL characters limit

I just updated to the latest insider build and I noticed that the file icon themes are not working, they are missing all of their icons. I've tried every theme I have installed. I've tried restarting VS Code a few times but the file icon theme icons do not show up. Here is a screenshot:

Dupe of #23346.

Sorry, I should have searched closed issues before I posted this.


[#548] Create Fn tests for supported authentication types - Update Javascript bots

Addresses # 548
Description
This PR updates the JS bots to support SingleTenant and MSI authentication types.
Detailed Changes

Updated the following bots based on the implementation in the skills samples:

SimpleHostBot
EchoSkillBot
WaterfallHostBot
WaterfallSkillBot

Updated the SSO implementation in the Waterfall bots to work with CloudAdapter.

Testing
Here we can see the Waterfall host and skill bots working with the three app types.

/promoted 577


More lazy container operations

I think it would be faster to evaluate circuits containing ands, andnots and xors if these could be done laziliy, in order to skip any bitmap cardinality calculations of intermediate results. A typical use case would be implementing a container-wise implementation of the logic here.
This is implemented for or already. Was this ever attempted or measured with the other operations?

I think we optimized unions (or)  because that's a common use case, and it is a case where we can expect huge gains. As discussed elsewhere, intersections are already fast in many instances, so the expected gains are less.
Of course, if you are doing a circuit evaluation where you mix and match various operations (and, or, xor, andnot), then it is a different story.

If a PR is welcome for this I will implement these methods soon.

Welcome!

Is this megamorphism evasion?

I don't think so. We don't just cast the types... look carefully. It could be implemented more elegantly, but ultimately, we have a 3x3 matrix mapping containers to functions... so it is going to be equivalent to this.


Precision parsing is wrong in some cases

polyline.decode(polyline.encode([[0, -108]], 7), 7)
// [[ 0, -0.0000016 ]], should be [[0, -108]]

Thank you so much for checking and fixing this @MoonE @tristen! The bitwise > arithmetic fix is really smart.
But after more testing it seems that while #82 improves the parsing for precision 6, it still doesn't work for 7:
polyline.decode(polyline.encode([[0, -180], [0, 180]], 6), 6)
// [ [ 0, -180 ], [ 0, 180 ] ]
polyline.decode(polyline.encode([[0, -180], [0, 180]], 7), 7)
// [ [ 0, -180 ], [ 0, -34.7483648 ] ]

Initially I thought it's the Google algo limitation, because -180 - 180 = 360 > 360e7 = 32 bit length, and algo discards one bit truncating the number. But your update added support for > 32 bit ints, so it should work?

When I run your example with I get the correct result. I tried Firefox, Chromium and NodeJS.
With what engine/version  are you running this?


Add tests for a couple of non English languages

Norwegian and Punjabi (gurmukhi script). Only needs to test characters outside a-z

Made it work with Norwegian. Maybe add more later


Replace search for zero byte with memchr()

While profiling minimp4 during MP4 encoding, find_start_code showed up as the most expensive function. Specifically, the first while loop searching for an initial zero byte. This is effectively what memchr() does, and glibc includes an optimized version of this method. Switching to memchr() showed a performance improvement in this method.

Good catch :) Later I want to redesign h26x writer so it can accept already splitted nals which for example x264 can provide.


Multiple improvements for Insert and hooks.

Added possibility to fill the response body from hook
Return Inserted row response as JSON in body
Open access to parent (pgRestigy) instance from inside the hooks, so pgRestify helpers or other methods could be used.

Coverage decreased (-2.09%) to 97.193% when pulling 5442435b82353528a17bdd06a44f0196b2004eca on Kostanos:master into 69c46aa6161742c7a6b177294d21b0294f9cd563 on acarl:master.

Coverage decreased (-2.09%) to 97.193% when pulling 5442435b82353528a17bdd06a44f0196b2004eca on Kostanos:master into 69c46aa6161742c7a6b177294d21b0294f9cd563 on acarl:master.

Coverage decreased (-2.09%) to 97.193% when pulling 5442435b82353528a17bdd06a44f0196b2004eca on Kostanos:master into 69c46aa6161742c7a6b177294d21b0294f9cd563 on acarl:master.

I think that this should be broken up into several separate pull requests.

adding a parent to pgHooks
I think it would be better not to do this if we can avoid it. Right now a Hooks instance stands on it's own and could potentially be used for multiple separate PgRestify instances. Could you provide a use case that could only be resolved by adding the parent property?

skipping execution if res.pgRestifyResponseBody has already been set
I agree that this would be useful. We should go ahead and apply it to all the methods.

changing the value returned by POST
By default I would like pgRestify to return the minimal response and if users want to provide additional data they can add it through hooks. Maybe we could add the db response as a new attribute of res and then allow a post hook to use it to generate an alternate pgRestifyResponseBody. That way we allow users to use whatever part of the database response they want.

For the next pull request make sure that the tests pass as well. You can just run "grunt" from your terminal to make sure they all pass.

the parent is needed to us the helpers that defined there. Otherwise these helpers should be separated apart.
Good
The confirmation of insert or update request is essential. Knowing the inserted row ID (not only the URL that pg-restify returns on header), knowing the number of updated rows, etc... those are the most important info, that is currently missing on POST and PUT.