Fix the handling of user errors

See the individual commits for specific descriptions of the changes.

Codecov Report

Merging #1989 into canary will decrease coverage by 0.28%.
The diff coverage is 10%.

@@            Coverage Diff            @@
##           canary   #1989      +/-   ##
=========================================
- Coverage    6.53%   6.25%   -0.29%
=========================================
  Files          90      90
  Lines        4118    4127       +9
=========================================
- Hits          269     258      -11
- Misses       3849    3869      +20

Impacted Files
Coverage Δ

src/util/config/files.js
0% <0%> (ø)
:arrow_up:

src/util/errors.js
0% <0%> (ø)
:arrow_up:

src/util/config/local-path.js
87.5% <50%> (-12.5%)
:arrow_down:

src/util/get-project-name.js
90.9% <0%> (-9.1%)
:arrow_down:

src/util/get-files.js
91.53% <0%> (-8.47%)
:arrow_down:

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 5e85389...bc4e814. Read the comment docs.


[Feature Request]: Light Node Header Pruning

Implementation ideas
Motivation
The Header of a Light Node could get quite big for big Blocks. Let's say we have k = 128 ~ 8MB -> This will mean that we have 256 row roots and 256 column roots, which are already 96 bytes * 512 = 49152 bytes per Header. 1 Week's worth of Headers is equal to 49152 * 4 * 60 * 24 * 7 = 1 981 808 640 ~ 2 GB. With each square size increase, we would double the storage requirements. Can we have constant storage requirements not dependent on the square size?
Validator set optimizanzion
Another big part of the Size of the Header is the Validator keys. Currently, all validators are sent over the wire at each height. This can be reduced by only sending the diffs of the validator set changes. This means you don't have to change anything if the set does not change over a height. This optimization was already often discussed.  It could help with bandwidth and storage.
When does a light node need access to the Header?

We need the header to be able to DAS.
We need the header to be able to verify FPs.
We need the header to be able to verify inclusion Proofs.

Let's keep the header until we successfully sample the height but prune it immediately after. We will keep the header hash of the previous header to have a chain of header hashes that we can reference later. That way, we can reference it later. We took care of case one, but how do we take care of 2 and 3? We can take care of 2 by adding the header to the FP. This way, an honest full node can send the header with the FP, and when the light node receives it, we first verify the Header to the hash, then the FP.
Now for the inclusion proof, there are 3 Solutions.

We send the header with the inclusion proof
We save the data root per header and now have a reference to extend the inclusion proof from the row root to the dataroot. Maybe we can also change the header hash not to have to save the data root separately.  Like hash( Header) into hash(hash(dataroot) + hash(rest of Header)) so we can have a mini inclusion proof of the dataroot to the Headerhash
We have a timer of when we expect inclusion proofs, and when we receive those inclusion proofs, we prune the header. This would be specific to the logic that is building on top of Celestia.

This means we can reduce the 49152 bytes to 32 per height or by 1500x . This would stay constant with the size of the square. We can prune the header hashes after the FPW.
Possible Downsides
New light nodes joining the network will have a more challenging time syncing as the headers are unavailable throughout the network. You could keep a random sample of headers so on average, we will have good network health and syncing time is the same.
Deleting Samples
We could delete samples after block reconstruction time as they are not needed anymore.

For inclusion proofs, I think (2) makes the most sense, and is also described in the data availability proofs paper as "super light clients".

We could delete samples after block reconstruction time as they are not needed anymore.

I think ideally they should be kept until the storage window expires: https://github.com/celestiaorg/celestia-node/discussions/2034


Update NOTICE.txt

Cherry-pick of https://github.com/mattermost/mattermost-mobile/pull/7241

/release-note-none


Complex Momentum

Others have had great success with complex momentum, showing improved performance across optimizers and improving momentum stability. Additionally, others have shown momentum to be quite unstable in LLMs. Therefore complex momentum could be an attractive approach to improve stability without decreasing performance.
This issue is about implementing complex momentum and testing it against the baseline.

Complex heavy-ball momentum (as proposed in the complex momentum paper) has interesting properties.
Below you can see the real value of the momentum curve at momentum=0.8 and complex_momentum=0.3j when it's fed with 100 1s.

It appears to oscillate strongly by itself, which the paper claims to balance out the oscillations caused by the model. Fortunately, supervised models trained in an end-to-end fashion (like ours) rarely show cyclic behavior, so we likely don't need it. It might still be worth a try, but I wouldn't prioritize it.

Closing as the expected gain is too low.


flatten_routes() is order-sensitive and gets the wrong path when Include preceds Route

When a list of routes that contains an Includes object before a Route object is passed to apistar.core.flatten_routes, the path of the Includes object is assigned to the Route object. For example:
import apistar
from apistar import Include, Route

routes = [
    Include('/nested', [Route('/a', 'GET', lambda: 'a', name='a')]),
    Route('/x', 'GET', lambda: 'x', name='x'),
]

flat_routes = apistar.core.flatten_routes(routes)
assert flat_routes[0].path == '/nested/a'

# This check fails; the path picked up the parent route of the preceding Include
assert flat_routes[1].path == '/x'

The cause of the bug is an inplace assignment to prefix_path in the Include branch of flatten_routes() here; prefix_path is then reused by any subsequent Route objects.

In fact, it also affects any Includes objects that are come later in the list:
routes.append(Include('/nested_again', [Route('/b', 'GET', lambda: 'b', name='b')]))
# Assert fails because the path becomes '/nested/nested2/b'
assert apistar.core.flatten_routes(routes)[2].path == '/nested2/b'

Yup, looks valid on a quick skim. Tweaking the tests so that they catch this error and resolving the erroneous assignment both needed. Pull requests would be most welcome, but I'll resolve it in otherwise. Thanks so much for raising this!

Just pushed! Let me know if it looks ok.

Shouldn't this be a new release? upgrading to 0.2.1 broke my urls, using this revision it fixed it.

Yeah, incoming shortly.


ci: automatically test on all LTS node versions

automatically test on all LTS node versions (currently: 18, 20)

example for testing on extra versions (21)

adds windows testing (win tests take ~30 seconds longer)
replace codecov dependency (in package.json) with codecov-action (in GHA workflow)

has working config for codecov & coveralls (commented out)

test: prefix mocha with npx

no need to declare dependency, gets installed automatically when tests are run
pairs nicely with #135

I'm happy to amend this PR in any way that suits the maintainer(s).
fixes #119
Previews

--

Is there anything I can do to nudge this along?


Invalid content /en/virtual-machines/kevm/about/kevm-testnet-support/

Typo: "Etherium"
Fix: "Ethereum"

thanks for your feedback, https://github.com/cardano-foundation/testnets-cardano-org/pull/470 will fix this.


For ETF Tickers, use annual report expense ratio from fundProfile

This PR replaces the data['annualReportExpenseRatio'] with the one in data['fundProfile']['feeExpenseInvestment']['annualReportExpenseRatio'] so that it displays the correct value instead of None.

nvm, saw the other PR with fundProfile, will use that instead


Support for relative path for sources when gdb set-substitution is used

VSCode Version: Code 1.18.1 (929bacba01ef658b873545e26034d1a8067445e9, 2017-11-16T18:34:22.110Z)
OS Version: Linux x64 4.14.4-1-ARCH
Extensions:

Extension
Author (truncated)
Version

xml
Dot
1.9.2

vsc-material-theme
Equ
1.1.2

material-icon-theme
PKi
3.2.0

vscode-docker
Pet
0.0.22

code-settings-sync
Sha
2.8.7

jupyter
don
1.1.4

json-tools
eri
1.0.2

vscode-text-pastry
jkj
1.2.0

cppcheck
mat
0.2.1

vscode-clang
mit
0.2.2

hg
mrc
1.2.3

python
ms-
0.9.1

cpptools
ms-
0.14.5

autodocstring
njp
0.1.2

vscode-icons
rob
7.19.0

trailing-spaces
sha
0.2.11

vscode-hexdump
sle
1.6.0

change-case
wma
1.0.0

(2 theme extensions excluded)

Steps to Reproduce:

Reproduces without extensions: Yes/No

Hi, when using gdb its quite often that path substitution is used that uses relative path instead of absolute path (e.g something like set path-substitution /workspace/cpp ./cpp) This works in GDB but seems to be not working in visual studio. I would expect this to be resolved relatively to the workspace directory which is specified in debugger launch.json. This would be expected behavior I suppose. Thanks.s

Reading your description it seems that the issue originates from an extension and not VS Code itself. Thereby I will close this issue and kindly ask you to report this issue against the extension repository.
Most extensions are on GitHub as well so it should be easy to file it against the extension. If you open an extension on the market place, click on the Support link to find out more.

Thanks again for your feedback!

Makes sense. Raised https://github.com/Microsoft/vscode-cpptools/issues/1370


InvalidReferenceError: object type 'derived::(default:X | default:Y)' does not exist

EdgeDB Version: 2.0-dev.6375+75976cc

Subquery on link where target is union type fails with InvalidReferenceError if link is aliased in 'with' block:
select Z {
  xy := (
    select .xy { a }
  )
}
# This works

select Z {
  xy := (
    with _scope := .xy
    select _scope { a }
  )
}
# InvalidReferenceError: object type '__derived__::(default:X | default:Y)' does not exist

Schema:
type X {
  property a -> str;
}
type Y {
  property a -> str;
}
type Z {
  link xy -> X | Y;
}

Simpler query that returns same error:
with _scope := Z.xy
select _scope


Add Confusion Matrix and why not Accuracy

Added answers for:

Is accuracy always a good metric
What is confusion tables and cell in confusion table

Thank you!


Fix serializing strings with embedded quote characters

Without this change, to_dts can end up writing a DTS with unescaped quote characters in strings, resulting in an invalid DTS that can't be compiled.

Pull Request Test Coverage Report for Build 38

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

Totals

Change from base Build 37:
0.0%

Covered Lines:
872

Relevant Lines:
1012

💛  - Coveralls

Pull Request Test Coverage Report for Build 38

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

Totals

Change from base Build 37:
0.0%

Covered Lines:
872

Relevant Lines:
1012

💛  - Coveralls


Mississippi Scraper Blocked

An email was sent yesterday to ask them to whitelist our IP address

Id very much like your input on this one.

Mississippi appears to be unblocked.
I checked it randomly yesterday and while the current code base doesnt work I have a solution. this is not pretty but its functional.

import datetime
from datetime import datetime, timedelta
from juriscraper.OpinionSiteLinear import OpinionSiteLinear

class Site(OpinionSiteLinear):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.domain = "https://courts.ms.gov"
        self.court_id = self.__module__
        self.url = "https://courts.ms.gov/appellatecourts/sc/scdecisions.php"
        self.recent_thursday = self.get_recent_thursday()
    def _process_html(self):
        self.parameters = {
            'court': 'SCT',
            'date': self.recent_thursday,
        }
        self.url = "https://courts.ms.gov/appellatecourts/docket/get_hd_file.php"
        self.method = "POST"
        self.html = self._download()

        if not any(["ZIP" in link for link in self.html.xpath("//a/@href")]):
            return
        for row in self.html.xpath('//body/*', recursive=False):
            if row.tag == "br": continue
            if row.tag == "center": continue
            if "WordPerfect/ZIP" in row.text_content():
                case = {}
                continue

            hrefs = row.xpath(".//a")
            if hrefs:
                a = hrefs[0]
                byte_str_slug = a.get("href").strip(".")
                if "https" not in byte_str_slug:
                    formatted_slug = byte_str_slug.replace('\\', '/').strip("/")
                    case['url'] = f"https://courts.ms.gov/appellatecourts/{formatted_slug}"
                else:
                    case['url'] = byte_str_slug
                case['docket'] = a.text_content()
            if row.tag == "b":
                case['docket'] = row.text_content().strip()
            if row.tag == "ul":
                case['name'] = row.xpath(".//b/text()")[0]
            if row.tag == "hr":
                if case.get("url", None) is not None:
                    case['date'] = "2023-12-30"
                    case['status'] = "Published"
                    self.cases.append(case)
                case = {}

    @staticmethod
    def get_recent_thursday():
        days_to_subtract = (datetime.now().weekday() - 3 + 7) % 7
        recent_thursday = datetime.now() - timedelta(days=days_to_subtract)
        return recent_thursday.strftime('%m/%d/%Y')

They only release opinions on Thursdays and the appeals court only on Tuesdays ....  Im worried that they might block us again so I wonder about embedding a requirement to only run this on Fridays and Wednesdays for the appellate court.

I got excited when I was able to scrape Mississippi while working elsewhere for Christmas.  Unfortunately my code no longer works now that I am back at my home address.
I've had multiple phone calls with Mississippi but I have been unable to make progress.  I think we need to consider other options.

Bummer. Is this a captcha issue? If so, I'm +1 for defeating them, but let's stop after the research stage of this until we've had a change to chat about it.
(Amusingly, a compliance officer for a potential (big) client asked a few days if we defeat captchas in some automated fashion. I was happy to say no at the time, but I guess in the future, the answer may change.)

I think its recaptcha - but we aren't getting to the point were they even display a captcha they just axe us early

I can access it with a VPN - I am going to reach out to the court again to see if we can get whitelisted.

I've had very little luck with our original contact at the Mississippi Courts.  So I contacted the director of Information Technology this morning and hope that restart conversations there.

That's great. Can you  keep your notes about who you contacted, their contact info, and how they responded over in freelawproject/crm, please?

This was given up on - but we have an awesome new volunteer uploading these manually.


API enhancement: get full route for nested resource

If I use nested resources I sometimes have to deal with generic route names. Say I have a users and companies route and both have a nested resource address, which I can operate on with users/:id/address and companies/:id/address.
Now I want to enhance the restangularized element with custom logic inside Restangular.setOnElemRestangularized, but I need to treat the address of a user differently than the address of a company. I can't just look into the route param, because it is address in both cases. I need to check elem.parentResource.route, too. It could look like this:
Restangular.setOnElemRestangularized(function(elem, isCollection, route) {
  if(elem.parentResource.route + '/' + route === 'companies/address') { /* do stuff */ }
  if(elem.parentResource.route + '/' + route === 'users/address') { /* do stuff */ }
});

This can become quite verbose and error prone. It becomes even worse with deeper nested resources or in more generic situations where I have to make sanity checks (e.g. is elem.parentResource defined?).
It would be very useful to get the full route of a resource like this:
Restangular.setOnElemRestangularized(function(elem, isCollection, route) {
  if(elem.getFullRoute() === 'companies/address') { /* do stuff */ }
  if(elem.getFullRoute() === 'users/address') { /* do stuff */ }
});

.getFullRoute() would basically recursively prepend every existing parentResource.route separated by a /. elem.getFullRoute() would be equal to elem.route for every non-nested resource.
function getFullRoute(elem) {
  var parentRoute = '';
  if(elem.parentResource) {
    parentRoute = getFullRoute(elem.parentResource) + '/';
  }
  return parentRoute + elem.route;
}

What do you think?

This issue is still open and still seems relevant.  Is there a workaround or a fix?  How can I apply custom methods to nested model objects?


Detect syntax errors only on save

Discussed in https://github.com/microsoft/vscode-python/discussions/16166

Originally posted by Sentinellium May  5, 2021
Today i noticed that vs code started to analyze code problems while typing which i didn't notice before, changing the setting didn't help and i can`t make it to check the code on save as it was earlier.
Environment data
Version: 1.56.0 (user setup)
Commit: cfa2e218100323074ac1948c885448fdf4de2a7f
Date: 2021-05-04T22:09:06.405Z
Electron: 12.0.4
Chrome: 89.0.4389.114
Node.js: 14.16.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19042

Thank you for submitting your feature request and everyone who considered it! Unfortunately this issue did not receive enough votes over the allotted time, and so we are closing the issue.


ForgeRock key manager documentation is outdated

Description:
The ForgeRock key manager documentation[1] steps seems to be outdated from their newer versions. Furthermore, there's an instance where APIM 3.2.0 is mentioned instead of 4.0.0.

[1] https://apim.docs.wso2.com/en/4.0.0-dev/administer/key-managers/configure-forgerock-connector/

Closing this as this is a duplicate of https://github.com/wso2/docs-apim/issues/3473


React 16.13.0 'Warning: Cannot update a component from inside the function body of a different component.'

After upgrading to React 16.3, I notice a significant performance issue on pages where I have multiple components all querying the same cache value. This appears to be due to an issue with the useQuery hook and/or the cacheExchange.
Expected behaviour
A single network requests is made to populate the cache. Components render with cached value once available.
Actual behaviour
Performance absolutely tanks and the following message appears: Warning: Cannot update a component from inside the function body of a different component.

This doesn't seem to be unique to urql — Apollo has a similar issue.  I've forked and tweaked the Apollo example repo to use urql instead of apollo. The same notes about when the issue manifests seem to apply.

Hey,
Thanks for the accurate reproduction, this issue seems to be present in most state-management solutions judging from this https://github.com/facebook/react/issues/18178#issuecomment-594150971 I'll follow this up more in the coming days.

If I'm not mistaken, this can very easily be triggered. As far as urql is concerned, results and operations are global. They're then filtered back down. So when you're writing useQuery that triggers an operation, which then comes back with a result. When you duplicate this query then a result from one query will also update the other one. The only way for us to prevent this would be to deduplicate changes when the update is deeply equal to the last state, which seems counter productive 😢

Yeah, I find the warning very counterintuitive in this particular situation. If I have two components calling useQuery with the exact same query and variables, I want them to be "linked" together in this way. It's especially baffling to me, a mere mortal, that if I set all my queries to network-only then everything is fine but if I try to use the cache I get literally thousands of these warnings printed in the console, in my particular app.

The error message itself feels kinda erroneous as well to me, let's state the following example
const MyUsers = () => {
  const [result] = useQuery(...)
  ....
}

This errors out if the result is served synchronously from cache but the error states:
Warning: Cannot update a component from inside the function body of a different component.

We aren't leaving the MyUsers component at all, it had me very confused in the start.

Thanks for the quick fix here, folks 🙏


Fix for #3632

One pixel makes a huge difference 😅
The problem:

The fix:

A new inspection was created.

The inspection completed: No new issues

Ah, the very definition of pixel pushing 😅 Thank you @promatik 🙏


proxy to an in memory net.Listener

I already have the *net.Listener in the same process as the TCP Proxy. It would be great if I could proxy directly to that instead of needing to Dial a separate IP address.

TargetListener gets me close to what I want but I need the Listener to handle TLS, unless I put my own Listener behind the TargetListener somehow (not sure how to do that)


Make ESC or E also quit Inventory

First of all, great mod!
Yes you have to open your inventory first to do the right click so its current behavior is understandable. but I'd suggest at least having a config option or something that allows for quitting all the way from any GUI. because we are so used to scrolling to the item in hotbar and right click to open it, and pressing ESC gives the control of Steve right back to you without needing you to quit another GUI. so yeah its kinda inconvenient now.

Added feature in 1.0.1. See mod config to find it.


Remove GAPIC generated API version documentation

Now that the version-specific documentation has been moved, we now have duplicate documentation. Because of the way YARD loads documentation, the API version documentation we want to see is not being shown, but the generated docs we don't want to see is being shown.
Video Intelligence has't been released since these files were updated, but you can see the wrong documentation being shown on the JSONDoc Angular site for master, as well as generating the YARD HTML files locally.
We are close to removing the JSONDoc Angular app for our documentation, and instead use the YARD HTML output, and when we make this transition JSONDoc concepts like "Data Types" will no longer work. So the GAPIC-generate duplicate documentation should be removed IMO.

@jbolinger Is this something in your control?

@dazuma Any thoughts on this?

@blowmage I believe it is. So, you want content at the second link to simply be removed? Does anything else need to be done?

Nope, I believe removing the content at the second link should make a big improvement.

Agreed, the content in the second link should be removed.

Fixed in artman, and regenerated all libraries. Closing.


Estimate the size of a managed ledger suffix from a position

This patch adds the ability to estimate the size of a suffix of a
managed ledger by passing in a prefix. The size is an estimate. For
complete ledgers after the position, the size can be calculated
exactly, but for the first ledger, if it is partial, we can only get
an estimate without having to make an RPC. The estimate for this
ledger is based on the total size of that ledger and the number of
entries in that ledger.

This will be used for scheduling compaction

retest this please // many fails
    org.apache.pulsar.broker.loadbalance.LoadBalancerTest.testDynamicNamespaceBundleQuota
    org.apache.pulsar.broker.service.BrokerBkEnsemblesTests.testSkipCorruptDataLedger
    org.apache.pulsar.broker.service.ReplicatorTest.setup
    org.apache.pulsar.client.api.BrokerServiceLookupTest.testModularLoadManagerSplitBundle
    org.apache.pulsar.client.api.DispatcherBlockConsumerTest.testBlockBrokerDispatching


/language/unicode_entry (Entering Unicode Characters) needs to explain XCompose

The Compose key has a much better usability than any other method mentioned on that page because it is largely mnemonic (hex codes are not) and XCompose not an application-specific solution. So that should definitely be explained first, and the various applications later. You can use my SU post or parts of it without needing to follow the SU terms of copying (cc by-sa 3.0). I think the default key for Compose is RShift+RCtrl.

:+1:

:+1: too


Adds new -type and -uplink flags to register command

This allows Autojoin clients to specify these v2.Registration fields and pass them to the Autojoin API as part of the registration process.

This change is

Pull Request Test Coverage Report for Build<PHONE_NUMBER>9
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 98.142%

Totals

Change from base Build<PHONE_NUMBER>8:
0.0%

Covered Lines:
1215

Relevant Lines:
1238

💛  - Coveralls


Not working from console

I have a simple entity:
namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Class Event
 * @package AppBundle\Entity
 * @ORM|Entity
 * @ORM|Table(name="event")
 */
class Event
{
    /**
     * @ORM|Column(type="integer")
     * @ORM|Id
     * @ORM|GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @ORM|Column(type="guid")
     */
    private $uuid;

    /**
     * @ORM|Column(type="string", length=100)
     */
    private $name;

    /**
     * @ORM|Column(type="text")
     */
    private $description;

    /**
     * @ORM|Column(type="datetimetz")
     */
    private $startDate;

    /**
     * @ORM|Column(type="datetimetz")
     */
    private $endDate;

    /**
     * @ORM|Column(type="text")
     */
    private $location;
}

I want to generate getters and setters using:
php bin/console doctrine:generate:entities AppBundle:Event
I get this error message:
  [Doctrine\Common\Annotations\AnnotationException]
  [Semantical Error] The annotation "@Doctrine\ORM\Mapping" in class AppBundle\Entit
  y\Event does not exist, or could not be auto-loaded.

So I tried your plugin, but it does not fix the problem. Is it supposed to?
I am using symfony 3.1.5, composer 1.2.1 and PHP 7.0.12.

Thanks for the report. I will look into it. I think the API might have changed, since this package is quite old.

I have to apologize, the problem was on my side. I used pipes instead of backslashes, because I read the docs wrong. Bummer... Thanks for your help, anyway.

No need to apologize, I am glad you could solve it.


Chat Models

Hi, how would you evaluate chat models with this tool? I see gpt-3.5-turbo being used in completion mode, but say I want to evaluate:
{"role": "system", "content": "You are a chatbot"}
{"role": "assistant", "content": "Hello, I am a chatbot! How can I help you"}
{"role": "human", "content": "What is the capital of France?"}
{"role": "assistant", "content": "<ANSWER>"}

and assert ANSWER is Paris?

NVM, found it in the docs https://promptfoo.dev/docs/configuration/parameters


Kubectl not installed on GKE images out of the box?

After spinning up a fresh GCE cluster, I found that when SSHing into individual instances that kubectl does not exist. I tried following the documentation for setting up kubectl using gcloud, but the gcloud that is already installed on the instances is out of date and conflicts with the documentation.
Is there any way to update the GKE images to include the latest gcloud with kubectl already installed and authorized (via service accounts) to access the kubernetes API? Otherwise, I am having to manually authorize kubectl via service accounts / web tokens and am doing this manually for each instance.

kubectl is installed on the master afaik, if its not, that's a bug.
It's not installed on the workers by choice.  We could do it, I suppose, what is your use case for kubectl on the workers?

I don't have a specific use-case for the workers. Its just important that I remotely accessing kubectl on machines that don't have the tooling setup locally. How do I access the master via ssh on GKE? I just see worker nodes in my instance list.

cc/ @zmerlynn @roberthbailey
This is a usability issue for our GKE customers.

On the GKE Beta, we manage the masters. If you created the cluster on the command line, kubectl would just work. If not, you can use gcloud beta container get-credentials <cluster> to configure kubectl.

Also note that kubectl isn't installed by default on GCE VMs. And even if you run sudo gcloud components update kubectl the binary will be dropped into /usr/local/share/google/google-cloud-sdk/bin which isn't on your default path. You can run the gcloud update command and then modify your path and at that point you will have kubectl on any gcloud VM. Once you've done that, running the get-credentials command that @zmerlynn suggested will create a local kubeconfig file that will allow you to send commands to the kubernetes apiserver.
@zmerlynn -- do you know how kubectl gets installed on the master instances on GCE? Which version is it?

I was running into the issues that @roberthbailey mentioned when using the pre-installed gcloud to bootstrap the installation of kubectl. I couldn't find the kubectl command. I was also getting 401s back when trying to authorize credentials. The version of gcloud also seemed older than what the docs were assuming (the commands were out of date). I ended up installing a fresh copy of gcloud in my $HOME and got kubectl working. Credentials worked by getting a token via a web browser flow, but this all seemed very wrong if I wanted to automate this process.

The kubectl installed in the normal OSS flow is the one built during the release, so it should always match the server version.

@jkingyens - I tried to update the gcloud that was installed on my GKE node to add kubectl and hit a bunch of weird errors. I'm going to try on another node to see if I can reproduce, but I think in the mean time installing a fresh version seems like the best way to go.
Re: Tokens, gcloud should grab a token from the service account attached to the GCE VM. Right now, all node VMs are created with compute read/write scope (which is unfortunate in general, but helpful in this case) which should allow you to query the GKE API and obtain authentication information for the master using the get-credentials call.

I suspect we should do the following:

Make sure containerVM has a recent gcloud by default
Make sure kubectl is in the default path for that containerVM
Make sure that version of kubectl works with the v1 API regardless of master binary version without triggering the sanity check.

@thockin also mentioned driving cloud shell to get a more-recent gcloud and default to kubectl being installed?

It's a trivial salt change to put the kubectl from the release onto the user's path on the nodes just like we do on the master (see #10590). I'm not sure if this is the best fix, but it works.

Cloud shell will include it in an upcoming release.
On Tue, Jun 30, 2015 at 4:52 PM, Alex Mohr<EMAIL_ADDRESS>wrote:

I suspect we should do the following:

Make sure containerVM has a recent gcloud by default
Make sure kubectl is in the default path for that containerVM
Make sure that version of kubectl works with the v1 API regardless
of master binary version without triggering the sanity check.

@thockin https://github.com/thockin also mentioned driving cloud shell
to get a more-recent gcloud and default to kubectl being installed?
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/10337#issuecomment-117374406
.

@jkingyens You just want SOME VM/machine with the tools installed, but don't want to install them on your own host and don't want to create another VM?

Yes thats right.
—
Sent from Mailbox
On Wed, Jul 1, 2015 at 3:29 PM, Brian Grant<EMAIL_ADDRESS>wrote:

@jkingyens You just want SOME VM/machine with the tools installed, but don't want to install them on your own host and don't want to create another VM?
Reply to this email directly or view it on GitHub:
https://github.com/GoogleCloudPlatform/kubernetes/issues/10337#issuecomment-117841458

@aalexand How often is gcloud updated in developer shell?

kubectl is already deployed in cloud shell! They fixed it yesterday :)
finding the master auth info, well that's different.
On Wed, Jul 1, 2015 at 4:09 PM, Brian Grant<EMAIL_ADDRESS>wrote:

@aalexand https://github.com/aalexand How often is gcloud updated in developer
shell https://cloud.google.com/developer-shell/?
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/10337#issuecomment-117846830
.

It actually works great on GKE. :)
zml@artful-fortress-786:~$ gcloud beta container clusters list
NAME             ZONE           MASTER_VERSION  MASTER_IP       MACHINE_TYPE   STATUS
generic-cluster  us-central1-f  0.19.3          <IP_ADDRESS>  n1-standard-1  RUNNING
zml@artful-fortress-786:~$ gcloud beta container get-credentials --cluster generic-cluster
Fetching cluster endpoint and auth data.
kubeconfig entry generated for generic-cluster. To switch context to the cluster, run
$ kubectl config use-context gke_artful-fortress-786_us-central1-f_generic-cluster
zml@artful-fortress-786:~$ kubectl get pods
POD                                                            IP           CONTAINER(S)            IMAGE(S)                                         HOST
                      LABELS                                                           STATUS    CREATED   MESSAGE
fluentd-cloud-logging-gke-generic-cluster-6183a884-node-90e2   <IP_ADDRESS>                                                                            gke-generic-cluster-6183a884-node
-90e2/<IP_ADDRESS>   <none>                                                           Running   5 days
                                                                            fluentd-cloud-logging   gcr.io/google_containers/fluentd-gcp:1.6
                                                                                Running   5 days    last termination: exit code 0
[...]

Sounds good enough for now.


Responsiveness updates

Signed-off-by: Nikhil-Ladha<EMAIL_ADDRESS>Description
Fixed responsiveness of footer and navbar. Updated the manifest for the site.
Signed commits

[X] Yes, I signed my commits.

Thank you. 🙂


More cleanup and improvements enabled by signature move

Make ComputeSignatures an internal idea, triggered by property changes that invalidate signature

Mostly wraps up https://github.com/mono/Embeddinator-4000/issues/276

Build and tests passed.

Fixed CppSharp bump.

Build and tests passed.

Build and tests passed.

Build and tests passed.


402 Payment Required on get_highest_resolution() call

:exclamation:  DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE :exclamation:
lack of information will lead to closure of the issue

Describe the bug
A clear and concise description of what the bug is.
get_highest_resolution() function call leads to an error: 402 Payment Required error.
yt.streams.get_highest_resolution()
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pytubefix/__main__.py", line 632, in streams
    self.check_availability()
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pytubefix/__main__.py", line 312, in check_availability
    status, messages = extract.playability_status(self.vid_info)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pytubefix/__main__.py", line 409, in vid_info
    innertube = InnerTube(
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pytubefix/innertube.py", line 522, in __init__
    self.refresh_bearer_token()
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pytubefix/innertube.py", line 568, in refresh_bearer_token
    response = request._execute_request(
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pytubefix/request.py", line 35, in _execute_request
    return urlopen(request, timeout=timeout)  # nosec
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 216, in urlopen
    return opener.open(url, data, timeout)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 519, in open
    response = self._open(req, data)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 536, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1391, in https_open
    return self.do_open(http.client.HTTPSConnection, req,
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 1351, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error Tunnel connection failed: 402 Payment Required>

code that was used that resulted in the bug
from pytubefix import YouTube
yt = YouTube(url) # I have try some options like client='WEB_CREATOR', use_oauth=True and allow_oauth_cache=True
video = yt.streams.get_highest_resolution()

Expected behavior
A clear and concise description of what you expected to happen.
Should provide a valid URL

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

OS: [macOS]
Python Version [3.10]
Pytubefix Version [7.2.2]

Additional context
Add any other context about the problem here.

Show the actual code you are using. Not, I tried something some options like ....
Include the URL that generates the error.
If the error is Payment required, does the URL require payment? Details please.

@jhanley-com Thank you for your answer, the issue was not related to the package!


Add editor setting to enable or disable zooming with ctrl + Mouse wheel

Re-submit https://github.com/godotengine/godot/pull/94480
Fixes https://github.com/godotengine/godot-proposals/issues/7997
I updated the tooltip text to include mac and linux:
If [code]true[/code], allows zooming in the script and text-based shader editor with
[kbd]Windows: Ctrl + Scroll wheel[/kbd].
[kbd]Mac: CMD + Scroll wheel[/kbd].
[kbd]Linux: Option + Scroll wheel[/kbd].
I think the best solution is to add a the ctrl+scrollwhell as a shortcut setting, and users can configure the shortcut. However, the shortcut settings currently does not support mouse events. I also couldn't figure out where the shortcut settings are added/removed. If someone can point me to a direction to start, I can try to create a new PR to let the shortcut setting to support mouse events, then add ctrl+scrollwheel as a shortcut.

You need to add a co-authorship to your commit for the original author, see here

@Stronkkey is added as the co-author.

However, the shortcut settings currently does not support mouse events.

Fascinating. See:

https://github.com/godotengine/godot/pull/65790

It's for the buttons on the side of the mouse, but one may argue it could be expanded further.

It's for the buttons on the side of the mouse, but one may argue it could be expanded further.

Interested, It would be awesome if the middle mouse button (scrolling and clicking) could be mapped to the shortcuts.


Retire request, introduce axios

The npm module request has been deprecated for some time now. I'd therefore like to switch to Axios, which is a more modern and promise-based alternative.
The migration becomes urgent as I'm having some issues adding the VVO provider to my own public transport application Abfahrt. Using this client, I'm not able to perform successful requests to the VVO TRIAS API (returning error 404).
This seems to be a problem with request in general, because it works with Postman and with axios when using the exact same request headers and payload. I did some low-level debugging on my own platform before I realised that this is a problem with this client: https://gitlab.com/andary/abfahrt-core/-/issues/50
I therefore will need to introduce axios sooner than planned.

As expected, it was an issue on my side and it works also fine with request when changing the Content-Type header for VVO to text/xml instead of application/xml.
Therefore a consumer would need to be able to override the header automatically set by the client.

Created new issue: https://github.com/andaryjo/trias-client/issues/12

I'm still going forward with migration to axios in https://github.com/andaryjo/trias-client/pull/13


allow to change status server port

currently it conflicts with other applications running

https://github.com/chiselstrike/chiselstrike/pull/362

it actually seems port already taken buy chisel.. that is more weird..

trying to run boilerplate app with pm2..
pm2 start "npm run dev"

The issue is likely that chisel dev died but forgot to kill the background daemon chiseld. This is fixed in main but not yet released. Just run killall -9 chiseld and that should fix the issue. Let's keep the issue open though as that error message needs fixing.

thanks for rapid response.. just did that and restarted again.. the same situation.. seems it's not compatible with pm2.. it actually remains working in background.. but pm2 shows an error..

@BearLemma @espindola can one of you try out ChiselStrike with https://pm2.keymetrics.io and see what the issue is?

Anyway what's the correct way to deploy in production to my server..

@7flash can you confirm you are building from git or using a released version?
I just tested with pm2 and it works for me.
For production, I wouldn't recommend using the "run dev" workflow anyway: that workflow is a development mode (as the name implies) helper that listen for files in the local directory where it is called, and apply them automatically as changed.
If you spawned a daemon, those don't go well together.
It is probably better to do `pm2 start "npx chisel start"
the process is now running:
glauber          98460   0.0  0.2 408549664  27680   ??  S     6:54pm   0:00.06 node /opt/homebrew/bin/chisel start

as can be verified by checking the status:
npx chisel status
Server status is OK

And you can apply the local files manually when there is a change:
npx chisel apply
End point defined: /dev/hello

This should work much better since chisel dev will also daemonize and spawn a new server, which will likely conflict with what pm2 is trying to do.
Hope that was useful, and if you're not around already, we'd love to have you at our discord channel https://discord.gg/GHNN9CNAZe

Thanks for detailed explanation.. that works well.. should be added into docs..
pm2 start "npx chisel start" --name board-dapp-second --no-autorestart

regarding the original issue.. it solves the problem for me.. but still might be needed to be able choose custom port..

100%. Let me know if you'd be interested in sending a PR to change the readme and/or the port option. It would be awesome  to have your contribution!
If not, I'll try to get to this soon over the weekend.

Sure will try.. it seems default port defined here.. just need to figure out how to read it from cmd opts..
https://github.com/chiselstrike/chiselstrike/blob/740c941bf69b0245680fd5a4733e21aac76eba67/server/src/server.rs#L46

We already have --api-listen-addr, --internal-routes-listen-addr e --rpc-listen-addr. We just need to make it easy to pass them via the cli (issue #1481), right?

no couldn't find those arguments you mentioned in codebase..

should be passing an argument here in CLI app.. https://github.com/chiselstrike/chiselstrike/blob/8c7903548e0198d0ded4b03243e3b894b6d4503e/cli/src/server.rs#L12

no couldn't find those arguments you mentioned in codebase..

Perhaps you did, and never realized it.  Your comment above shows them in the codebase.  structopt will automatically make that a CLI option (of chiseld), except with dashes instead of underscores.

@7flash As Dejan explained, this is done through structopts. So When we do this:
    #[structopt(short, long, default_value = "<IP_ADDRESS>:9090")]
    internal_routes_listen_addr: SocketAddr,

the structopt proc macro automatically generates the option --internal-routes-listen-addr that you can now set.
This won't get passed to chisel dev, but it seems like you are not going for it anymore, since you are using this through pm2.
In that case, I believe this is solved for you, right?
BTW, If you're not on our discord, would love to chat! drop by! (If you are, feel free to shoot me a message)

I am closing with the understanding that the option is already there, and passing them to chisel dev is not the goal. @7flash let me know if there still anything pending and we'll get to it!

../target/debug/chisel dev --internal-routes-listen-addr=9091

error: Found argument '--internal-routes-listen-addr' which wasn't expected, or isn't valid in this context

../target/debug/chisel start --internal-routes-listen-addr=<IP_ADDRESS>:9091

error: Found argument '--internal-routes-listen-addr' which wasn't expected, or isn't valid in this context

Right. As I said, those arguments are not passed to dev (none of the port ones are), but I thought it should work with chisel start. Turns out it doesn't, it works only if you invoke the server directly.
I'll open another, more generic issue.
In the meantime, since you are compiling it anyway, try to start the server directly:
./target/debug/chiseld --internal-routes-listen-addr=<IP_ADDRESS>:9091

(chisel is the command line utility that controls the server chiseld )


support for cuda11.3

I notice that the requirements.txt need torch2.0 which is only supported by cuda 11.7 or higher, so does this project support torch 1.x with cuda 11.3?

Thanks for your attention! We've successfully build the project with cuda 11.2. You may try to build and see if any issues occur. Also, we provide docker support and corresponding docker images to support cuda 11.3. Please don't hesitate to let us know if any issues occur. Thanks 😄

This issue has been marked as stale because it has not had recent activity. If you think this still needs to be addressed please feel free to reopen this issue. Thanks 😄


Suport unparsing LogicalPlan::Window to  SQL

Is your feature request related to a problem or challenge?
Part of https://github.com/apache/datafusion/issues/9726 to complete the LogialPlan --> SQL conversion
Converting LogicalPlan back to SQL is valuable for several usecases such as using DataFusion to programatically create SQL -- see the plan_to_sql.rs example
Describe the solution you'd like
Support converting SQL with window functions like this:
SELECT first_value OVER (x ORDER BY y) FROM foo;

Describe alternatives you've considered
The basic pattern is this (see https://github.com/apache/datafusion/pull/10371 for an example):

Implement the LogicalPlan --> AST reverse code in Unparser::plan_to_sql(source link)
Add a test in roundtrip_statement in sql_integration.rs source link

Note you can run the tests like
cargo test -p datafusion-sql -- roundtrip_statement

Additional context
I think this is a good first issue as the pattern is well established and there are explicit instructions

I tried to implement for a while and I have a question,
for selecting a window function, there would be an projection.
> explain SELECT first_value(y) OVER (ORDER BY x) FROM foo;
| logical_plan  | Projection: FIRST_VALUE(foo.y) ORDER BY [foo.x ASC NULLS LAST] ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW                                                                                |
|               |   WindowAggr: windowExpr=[[FIRST_VALUE(foo.y) ORDER BY [foo.x ASC NULLS LAST] ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW]]                                                                                |
|               |     TableScan: foo projection=[x, y]       |

However, for an aggregate, there's not.
> explain select count(x) from foo;
+---------------+------------------------------------------------+
| plan_type     | plan                                           |
+---------------+------------------------------------------------+
| logical_plan  | Aggregate: groupBy=[[]], aggr=[[COUNT(foo.x)]] |
|               |   TableScan: foo projection=[x]                |
+---------------+------------------------------------------------+

In my understanding, window function is a special case of aggregate function, why would these two have different plan struct?

In my understanding, window function is a special case of aggregate function, why would these two have different plan struct?

I think window funtions and aggregate functions are different. Somewhat confusingly is that you can use aggregate functions as window functions
Window functions always have an OVER clause.
So for example, this is a normal aggregate
select count(x) from foo;

However, this is count being used as a window aggregate:
select count(x) OVER (PARTITION BY y) from foo;

I took a stab at this in #10767. It can be handled similarly to how we currently handle LogicalPlan::Aggregate.


Convert to source generator

Turns the code generation into a source generator.
References

【Roslynメタプログラミング】ValueChangedGanerator | ++C++; // 未確認飛行 C ブログ
New C# Source Generator Samples | .NET Blog
YairHalberstadt/stronginject: compile time dependency injection for .NET

By the way, I enjoy watching your YouTube videos and find them to be very helpful. :) I used your videos as a reference to write VocaDB.ResXFileCodeGenerator. Thank you!

memo (may be my tasks):

[ ] add package info like this
[ ] add CI workflow like this
[ ] SourceGenerator should append text directly into StringBuilder instead of SyntaxNode.ToFullString for performance reason
[ ] add tests for SourceGenerator
[ ] use Microsoft.CodeAnalysis.CSharp.CodeFix.Testing.XUnit to test ValueChangedGeneratorCodeFixProvider

SourceGenerator should append text directly into StringBuilder instead of SyntaxNode.ToFullString for performance reason

Do you mean that I should use SourceText.From just like you did in StringLiteralGenerator?

Do you mean that I should use SourceText.From just like you did in StringLiteralGenerator?

Yes but this has both pros and cons.
Advantages:

performance

Drawbacks

duplication
difficult to format

Removed redundant tests and added a test for nested namespaces. Perhaps we could replace SyntaxNode.ToFullString with StringBuilder later. It seems that CsWin32 uses ToFullString by the way.


On IE11, some fields on address record edit form aren't clickable

Replace by https://github.com/OSU-Net/cyder/issues/877


Access token does not persist

I am using ember-simple-auth with Fastboot. The logging part is working, or at least I get the token, but when I do a refresh I lose that token. How do I make it persistent?
I created the following file (I understand it's what the ember-simple-auth doc says)
import CookieStore from 'ember-simple-auth/session-stores/cookie' export default class ApplicationSessionStore extends CookieStore {}
And this is the function I use to authenticate the user in my loggin component
@action
async authenticate (event) {
event.preventDefault()
  const credentials = {
    email: this.email,
    password: this.password
  }

  try {
    await this.session.authenticate(AUTHENTICATOR, credentials)
    const expirationTime = 14 * 24 * 60 * 60
    this.session.store.cookieExpirationTime =  expirationTime
  } catch (error) {
    throw new FormSubmitError(error.json.errors[0].message)
  }
}

I think that this is the same issue as https://github.com/mainmatter/ember-simple-auth/issues/2410.
Could you please check that out and let us know later?


Add option to modify the minimum rating needed for a 'clean' exit of …

…zero.

Thanks! And thanks for the quick release as well!


[BEAM-9499] Sickbay test_multi_triggered_gbk_side_input for streaming…

… mode
Please add a meaningful description for your change here

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

Run Python Dataflow ValidatesRunner

Run Python Dataflow V2 ValidatesRunner

R: @HuangLED

Thanks @HuangLED


watermelon_id generation

Hi, I would like to know how to create a record using a non-mobile application. For example, my user creates a record in the web system, how will it be possible to create this record, knowing that watermelon_id is a mandatory field?

I see you've already marked this as closed, I assume you realized you can just fill the field yourself? As long as it's unique among all Watermelon objects it'll work fine. Using a large UUID generator will suffice without having to check for existing values.


information and advice

yt_dlp now support from many sites, check the complete list here @JackismyShephard

I appreciate the info 💪 . I might have a look at this later and see how it works with the current song cover generation pipeline 😄

What is the exact problem with the requirements.txt  file? Are you having problems running one of the ./urvc  commands?

Thank you for informing me. I will have a look at that soon

@blane187gt I just tried running the notebook and everything works for me. If you are still having issues, I probably will need more information on your current setup as well as detailed error logs to solve those issues.


ValueError: signal only works in main thread

After deleting my postgress and running the program I am getting this error. Using Ubuntu on a virtual machine and trying to connect through the client. It says that websockets is not available. Please let me know where i can get the log so I can share it.
thanks

Dear,
I will look into it and see what's the issue.
BTW: are you running via docker or start up script?

xqliu
Thanks for the kind response,
I am running the docker-compose build && docker-compose up method to run the program. When I search for the error it sends me to a Flask related error.

Looks like this is an issue related to flask-socketio. actually we are not using that, will remove that dependencies.
Thanks for reporting the issue.


Copy Paste with Windows copies extra bytes

When copy paste some python code into a file in Codiad in a Windows OS through any browser, some extra bytes that shoould be there and give problems.
Any idea if there is a fix or workaround?

Have you tried copying plaintext? Ie, copy from your source into notepad, then copy from notepad into the browser? I often use notepad on my windows box to sanitize text.

Sure, like that works perfectly but its not practical for people that don't have to know that windows has that issue. A was looking for a more universal solution ;). Thanks anyway ;)


EXC_BAD_ACCESS error

Hi, i imported your files, and it seems the decoder file gets the app stuck on this error.
it gets stuck in the getpixel(int x, int y) function, in the if(channel == 4) line.
this one:         c.set( pixels[index], pixels[index+1], pixels[index+2], pixels[index+3] );
any idea how to fix it?
thanks in advance.
Jan

No idea what the right fix is for this, just starting my OF experience but you can try to reëncode the gif. Probably a problem with the amount of channels. When I tried a different gif, the example was working.

check, thanks


Barreled exports would be nice

Given a folder like:
/Json
- Printer.mad
- Parser.mad
- CoolShit.mad

It would be nice to be able to have an automatic barreled export such that:
import Json from "Json"
Json.Printer // this reference

is identical to:
import Printer from "Json/Printer"
Printer // this other reference

without having to manually maintain a root Json/index.mad or similar file

I think the specifics of this feature aren't totally hammered out yet, but it'd potentially be similar to a JavaScript export like:
import Parser from "./Parser"
import Printer from "./Printer"
import CoolShit from "./CoolShit"
export default {Parser, Printer, CoolShit}


Whiteboard API

What will this do?

Track cursors for drawing on a whiteboard rendered by html5 canvas. Users can stream the state from the backend and persist many boards.

You could make this with Nodejs with the canvas module

You could but then you don't get all the other things along side it on the platform. Considering the service gets turned into an easy to use library and will handle most of the logic cuts out a lot of work. Also something I see as generally reusable.


Reworked reserved parameters and added multiple reserved params

Reworks reserved parameters
Adds light detail around multiple reserved parameters
Minor updates to other sections and updates to heading indentations

You changes look good.
Outside of your changes, we currently have a "(?)" in the paragraph which is most likely a typo or a comment from the original documentation to check that sentence and we should remove it, maybe we can improve the wording too.
The paths are captured by various (?) endpoints which we’ll get to in a second.
to something like:
The path is captured as part of each endpoint you add, we will expand on this under **New Endpoint**.


Somewhat scale-free normalization

Normalization made in https://github.com/jpulakka/nordpool_diff/issues/15 makes the result "totally scale-free", meaning that (when normalize: max_min is used) the output varies similarly no matter if the input varies between 1-2 cnt/kWh or 100-200 cnt/kWh.
This works as planned - making the the output magnitude independent of current overall electricity price (variation). But this also doesn't feel quite right. When prices are very cheap, there's no need to optimize targets as heavily as when the prices are very expensive. Real-world nonlinearities (heat pump efficiency, heat leak) could turn unnecessary variation into an anti-optimization.
Maybe "somewhat scale-free" normalization would be in place. So, the output wouldn't be linearly dependent of input scale, but it would still be somewhat dependent, so that 100-200 cnt/kWh variation would give bigger input than 1-2 cnt/kWh variation, but just not 100x bigger. Something to think about. Logarithmic dependency?

"sqrt_max" and "max_min_sqrt_max" are there now and will be included in 0.2.2 release.


Removed unneeded file and fixed error where amounts weren't updating …

…automatically

This change is

Reviewed 5 of 5 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Can't use holdApplicationUntilProxyStarts if a preStop command is used

Bug Description
Hello! We are running into DNS failures on startup and are looking to use holdApplicationUntilProxyStarts. However we have preStop command defined (because the proxy would stop too soon and app would have network failures).
It seems to be based in this line of code. Because we have any global lifecycle command configured we can't leverage this annotation.
Can we update it to be Values.global.proxy.lifecycle.postStart?
Version
$ istioctl version
client version: 1.14.1
istiod version: 1.12.5
pilot version: 1.12.5
data plane version: 1.12.5 (100 proxies)

$ kubectl version --short
Client Version: v1.22.2
Server Version: v1.21.14-eks-18ef993

Additional Information
No response

Or, if this is intended behavior. Can we update the document to clarify?


[Feature Request] Consistent releases.

It'd be useful if every release version included the plugin, the server, and the hub. Even if it's just the same zip from the previous release. That would allow us to safely link to the latest without having to worry of it missing stuff in the future. It would also help with confused users.

I would also prefer this.
It would be one less thing to troubleshoot.


Provide defaults for JWSHeader and Signer

We could also provide default headers and signers for some usecases to make the usage of the framework even easier. See discussion and implementation sketch in #5.

Moving to a note in the project board.


Resume read_package after drop.

Fixes #563
As detailed in #563, dropping MySQL future, such as fetch_many while it is within read_package, puts the stream in an invalid state, which causes the next user of a stream in the pool to get garbage. This is because a package has some length, stopping in the middle of read_package might have only read part of the package. When read_package is then called again it will attempt to read the header of the next package from the data in the middle of the latter.
This pull requests tries to fix this issue, by essentially storing the state of the read_package future within the stream it self, such that calling read_package again will start it from the same position, and return the full package that read_package had partially read before.
To do this a read_some call is added to the BufStream. The assumption for this call is that if it succeeded it will tell how much data has been read, and if it is dropped til will have read NO data.

I have now tested it quite thoroughly, together with #918.  My test runs a future with
let mut rows = sqlx::query!("SELECT `id` FROM `long_table`").fetch(context.con());
let mut sum: usize = 0;
while let Some(row) = rows.try_next().await? {
    sum += row.id as usize;
}

I have run this future in parallel while canceling some of them. This was able to reproduce the issue in #563. Applying this patch and #918, fixes the situation.

@antialize can you add your repro to tests/mysql/mysql.rs so we can make sure this doesn't regress?

@abonander  I have added a test. It is a bit hard to test reliably, so it does not always fail. You can se #938 for a run of the test on top of master.

If the future is dropped or cancelled while self.recv_package_state = RecvPackageState::ReadingHeader, then would the BufStream have a payload without a header?

If the future is dropped or cancelled while self.recv_package_state = RecvPackageState::ReadingHeader, then would the BufStream have a payload without a header?

As far as I can tell, this solution works given a couple of assumptions we might consider.

sqlx will never drop the bufstream and later read from the underlying stream.
there are never multiple threads trying to concurrently read from a given bufstream.

For what it's worth, I'm exploring both of these issues.

As far as I can tell, this solution works given a couple of assumptions we might consider.

sqlx will never drop the bufstream and later read from the underlying stream.
there are never multiple threads trying to concurrently read from a given bufstream.

For what it's worth, I'm exploring both of these issues.

cc @antialize @rich-murphey
I love the work done here. Thank you – both of you – for the work and the research. I'd love to chat more on approaches on Discord.
I just pushed up the beginnings of the core rewrite to the next branch. This includes careful handling of the IO stream to obviate the need for this. I'd love to discuss the pros and cons of these approaches.

cc @antialize @rich-murphey
I love the work done here. Thank you – both of you – for the work and the research. I'd love to chat more on approaches on Discord.
I just pushed up the beginnings of the core rewrite to the next branch. This includes careful handling of the IO stream to obviate the need for this. I'd love to discuss the pros and cons of these approaches.

Hey, even though I've raised these additional contexts to consider, I do appreciate what this code does to make the state changes explicit and restartable.

Hey, even though I've raised these additional contexts to consider, I do appreciate what this code does to make the state changes explicit and restartable.

@rich-murphey. You are right about the assumptions on the stream and bufstream. Thouse assumptions could can be checked as long as the mysql-stream does not have it aggregated stream public, and does not have any way of releasing it again.
@mehcode I would be happy to discuss things on discord. I could not find any sqlx project on there, perhaps you could add me antialize#8715. I am in Central European Timezone, so it would probably have to be in the morning for you.

@rich-murphey. You are right about the assumptions on the stream and bufstream. Thouse assumptions could can be checked as long as the mysql-stream does not have it aggregated stream public, and does not have any way of releasing it again.
@mehcode I would be happy to discuss things on discord. I could not find any sqlx project on there, perhaps you could add me antialize#8715. I am in Central European Timezone, so it would probably have to be in the morning for you.

Assumption 2 holds in at least one test that reproduces protocol errors.
Here is a test that reproduces the protocol error for postgres in an actix-web app:  https://github.com/rich-murphey/sqlx-actix-test
I added a Mutex to both PgStream::recv_unchecked() and BufStream::read_raw() so that they log an error upon any attempt to lock an already locked stream.   The test shows the protocol errors, and no attempts to lock an already locked stream.
So for this specifc test there are never multiple threads trying to concurrently read from a given PgStream or BufStream.
I also modified BufStream::read_raw() so that it did not remove the header separately from the body of the message, but only remove them together.  That did not eliminate the protocol errors.
I'm not sure what is leaving message fragments in the connection.

Assumption 2 holds in at least one test that reproduces protocol errors.
Here is a test that reproduces the protocol error for postgres in an actix-web app:  https://github.com/rich-murphey/sqlx-actix-test
I added a Mutex to both PgStream::recv_unchecked() and BufStream::read_raw() so that they log an error upon any attempt to lock an already locked stream.   The test shows the protocol errors, and no attempts to lock an already locked stream.
So for this specifc test there are never multiple threads trying to concurrently read from a given PgStream or BufStream.
I also modified BufStream::read_raw() so that it did not remove the header separately from the body of the message, but only remove them together.  That did not eliminate the protocol errors.
I'm not sure what is leaving message fragments in the connection.

Thank you again for the impetus here. With #1025 merged, the problem should be solved – albeit inefficiently – with 0.5.x and this is fully fixed in the next branch as we discussed on Discord.


Small ASLLVD correction:  DEAF_2

BOWLING-STRIKE_2 should be its own main entry.
So instead of:

we should have
BOWLING-STRIKE

BOWLING-STRIKE

BOWLING-STRIKE_2

BOWLING-STRIKE_2

This has been taken care of   - CN. 2/18

Same correction needed here:

DEAF_2 should be its own main entry
we should have
DEAF

DEAF

DEAF_2

DEAF_2

But this is not from the ASLLVD, rather:
6-Ben-Control-of-Sound-U-6
What's the best way to fix this ??
THANKS !!

This has been resolved


WIP - name-based extractors for unapply to drop allocation of Some

Initial attempt at implementation of #46 - I have checked and this seems to work as it should, but sadly usage of another value class to introduce allocation-less name-based extractor introduces an usage limitation for macro annotations - it's impossible to declare a value class inside of another class and sadly, test suite classes are one of potential use cases like that. Frankly, I have no idea how and if this can be circumvented but maybe some other soul can find a way to solve this riddle.
Tests fail, obviously, as macro annotations now won't compile with unapply = true when declared inside of a class.

Solution using a shared instance of name-based extractor fails for 2.10 only. Will look into this.

First, thanks for the PR and I appreciate your patience waiting on me to finally get around to commenting on it! :smiley:
While I like the spirit of this change, I wonder if the Some ever really gets constructed here after the JVM is warmed up. I played around with this idea a while back (see https://github.com/estatico/scala-newtype/issues/18#issuecomment-383207925).

Here are the benchmarks via sbt clean 'jmh:run TestBenchmark' -
Benchmark                     Mode  Cnt          Score         Error  Unit
testCaseClass                thrpt<PHONE_NUMBER>03.871 ±  861246.654  ops/s
testManualSimpleUnapply      thrpt<PHONE_NUMBER>21.470 ± 4173139.812  ops/s
testManualUnapplyValueClass  thrpt<PHONE_NUMBER>63.022 ±  870967.771  ops/s
testNewTypeSimpleUnapply     thrpt<PHONE_NUMBER>64.917 ±  283007.861  ops/s

the testManual benchmarks are for handwritten newtypes, whereas the testNewType one is the macro generated one which contains ClassTag instances.

To expand on this, testManualSimpleUnapply uses the Some extractor whereas testManualUnapplyValueClass uses a value class (the same strategy as this PR) -
https://github.com/oleg-py/newtype-unapply/compare/master...carymrobbins:unapply-class
object Manual {
  type Type <: Base with Tag
  trait Tag
  type Base <: Any
  def apply(x: String): Manual = x.asInstanceOf[Manual]
  def unapply(x: Manual): Some[String] = Some(x.asInstanceOf[String])
}

object ManualUnapplyValueClass {
  type Type <: Base with Tag
  trait Tag
  type Base <: Any
  def apply(x: String): ManualUnapplyValueClass = x.asInstanceOf[ManualUnapplyValueClass]
  def unapply(x: ManualUnapplyValueClass): Unapply = new Unapply(x.asInstanceOf[String])
  final class Unapply(val get: String) extends AnyVal {
    def isEmpty: Boolean = false
  }
}

Ideally, these handwritten versions should perform better than any generic solution (unless I've horribly messed something up) and their performance is very close (with the Some version actually being slightly faster, but that could just be due to solar flares).
If you do indeed want to pursue this avenue (although I know it's been a couple months now since this PR's inception), I'd recommend forking my benchmark and seeing how well it does. But if the performance of using Some is essentially identical to using AnyVal (which is probably mostly due to some JIT magic) it might make sense to leave it as Some. Definitely open to ideas here though.

To be perfectly honest I wouldn't expect allocation-less unapply to be significantly faster than Some-based version. One reason I can think of off the top of my head is that TLAB allocations are very fast, so any benchmark that would measure real impact of this would have to actually measure the impact of garbage generation pressure on the collector. With semi-concurrent and fully concurrent GCs available on the JVM this is a hard task. One way to measure this would probably be to use serial collector and prolonged benchmark which should show both the cost of allocation and elongated GC pause. There's another optimization that is available to some extent with C2 (at least that's what I believe, I'm not sure) which is escape analysis and greatly improved with GraalVM. If I understand this correctly JVM can choose to allocate Some in stack frame and then deallocate everything by just dropping that frame.
Now the question that you might be thinking of is: why would it be beneficial to have this in scala-newtype if JVM is capable of such feats? My answer is that if this project strives to provide sensible, zero-cost abstractions it should do so consistently and if it's possible to avoid an allocation using a clever compiler trick it would be the right thing to do.
I'm also a tad bit pedantic and like working on such intricacies :smile:


ConcatSpace - deprecate in favor of BinaryOperatorSpaces

binary_operator_spaces now supports no_space no space, so concat ops can fixed just as the other bin. ops.

deprecate concat_space rule
~add . to the operators supported operators of binary_operator_spaces~ done
change concat_space rule to proxy of binary_operator_spaces
on v3 remove concat_space rule, must be done in another PR after the previous items have been handled

Is this still open ? I like to learn it. I try to learn to contribute on Github too 😄.

@ahmadkarlam it looks so, do the honours 😃

It is still open, however I noticed that it might not be an easy pick....
The concat operator has an odd exception; this is valid:
$b = $a. 1;

this is not:
$b = $a.1;

this is unique of the concat operator.
Secondly, there are some more changes coming up for operator in 7.4;
https://wiki.php.net/rfc/concatenation_precedence
so sure it can be done, however if you want an issue to get into github and the project then there might be better candidates

not worth the trouble and risk, closing as such


(PUP-8271) Handle the special name for the init plan

Currently the typed_name method of a SmartPath does not tread init
specially. This updates the name check when a plan is instantiated to
handle this. There remains a bug where the name reported by list_plans
and list_tasks in PAL include the init portion. It's possible the fix
for that will make this code unecessary.

It's unclear to me where this would be tested or if it needs to handle nested init plans.

loaders/loader_spec.rb has some plan testing, but doesn't look like there's a ton.

Also, not sure what we'd change in Bolt to avoid causing an error with init plans when listing them. So I assume you mean a change in Puppet to print them differently might replace this change.

I think something needs to happen with TypedName so that the name method handles init for objects with init naming.

CLA signed by all contributors.

Superseded by #6468


implementation is unclear

First of all, thanks for the work you've put into this project, it is greatly appreciated.
Let me preface this by saying I am a beginning coder and not very good, so the issue is likely more on my end than it is on yours. My issue is that I can't understand how I am supposed to pass options in the  component. I have created my elements and gave have react tilt working, but I can not figure out how to give them reverse or disable y or any of these options because no matter how many times I read it, I can't figure out what the documentation wants me to do.
I have read this section of the readme about 100 times already and I just can't understand how to do it.
<ReactTilt
options={ /* options / }
styles={ / CSS styles / }
className={ / class name(s) / }
tiltChange={ / event output destination */ }
/>
I was hoping you could either
A) make the documentation more clear here, or
B) simply explain to me how to do it, and I will happily edit the documentation myself to make it more clear.
thanks for your time, and hard work.

I will update the documentation today (I will add a section in README.md with an example implementation). react-universal-tilt uses universal-tilt.js, installed together by NPM. The Props in readme section has a link to the universal-tilt.js option.
Thank You for information!

Check this README.md update. I added 2 examples of implementation in the examples section.

Thank you so much! This is much clearer and I now realize exactly what I was doing wrong (I was only using 1 set of { }'s)


Multiplesms

Description
feat: allows multiple phone numbers/carriers for multiple sms texts to be sent out on alerts, delimited by commas.
EX in .env

VARIABLE
VALUE

PHONE_NUMBER=
"9998887777,5554443333"

PHONE_CARRIER=
"verzion,verizon"

info :: ✔ sms sent to<EMAIL_ADDRESS>info :: ✔ sms sent to<EMAIL_ADDRESS>Testing
Ran npm run test:notification and successfully is able to retrieve multiple text messages on multiple devices.

Superseded by https://github.com/jef/nvidia-snatcher/pull/446


Print a PDF to a physical printer

Wondering if there is any information about how to managing printing on desktops in golang.
This is the sequence I am trying to achieve
After the user has selected a pdf template and my code has merged data into the pdf I want to let the user print it.
Opens the print dialogue for the OS.
User selects printer, orientation, paper side.
The orientation and paper size is used to defender the pdf correctly.
Then user is show new pdf
Then user confirms and prints
Then system send to print spooler.
Am looking for tips about how to access these OS specific APIs.
It's not PDF related but I would think others may find this useful.
Hoping I can work this out and put into contribution repo

I think maybe the ghostscript features are needed ?

It's not PDF related but I would think others may find this useful.

You're right -- physical printing is not a part of PDF production. If you want a solution for the Windows platform, the github.com/alexbrainman/printer project may be what you need. On Linux and Mac, I would look into Samba.

It's not PDF related but I would think others may find this useful.

You're right -- physical printing is not a part of PDF production. If you want a solution for the Windows platform, the github.com/alexbrainman/printer project may be what you need.

The Alexbrainman only prints text, not PDF. I looked at his lib and spoke to him about about it already.
On Linux and Mac, I would look into Samba.
Cant use this becaue i cant assume they have samba. It imposses too much on the users to have to install Samba.

If anyone else has idea would be fab.
I am building a PDF VIewing and Print Preview engine in FLutter so it works on all Desktops and Mobiles. This will even allow PDF editing. Will make it open when its in decent shape.
But i am still trying to crack the printing nut.
The onyl way to do it properly is to open the native Print Preview dialog.
When the user selects and print and then paper size and orientation, you have to then rerender the PDF to that and give the Print Preview Dialog the preview image of the PDF.
This would be the ideal but its quite integrated with the native song and dance.
The other way is to build the print preview in FLutter and make the api calls to get the Printer list and the Printer optioons via an API. That could be a huge can of worms though.

It's not PDF related but I would think others may find this useful.

You're right -- physical printing is not a part of PDF production. If you want a solution for the Windows platform, the github.com/alexbrainman/printer project may be what you need.

The Alexbrainman only prints text, not PDF. I looked at his lib and spoke to him about about it already.  Seems like a dead end.

On Linux and Mac, I would look into Samba.

Cant use this becaue i cant assume they have samba. It imposses too much on the users to have to install Samba.

The onyl way to do it properly is to open the native Print Preview dialog.
When the user selects and print and then paper size and orientation, you have to then rerender the PDF to that and give the Print Preview Dialog the preview image of the PDF.
This would be the ideal but its quite integrated with the native song and dance.
Trying to work out how to tap into this native stuff on Windows and Mac and linux.

The onyl way to do it properly is to open the native Print Preview dialog. When the user selects and print and then paper size and orientation, you have to then rerender the PDF to that and give the Print Preview Dialog the preview image of the PDF.

Good point. This seems to point to some cross-platform GUI framework that has access to the native print dialog and can execute the PDF generation application. This application, which imports gofpdf, would accept parameters that would drive the PDF process.

yep thats basically it.
I have not had time to dive into this yet though :)

@joeblew99  one option (if you're either on linux/osx or dealing with networked printers) is an ipp client like https://github.com/phin1x/go-ipp  you'd have to build the print dialog yourself though

@jacobalberty thanks will try it now.

I got this working with go-ipp so figured I'd post enough of my code here to help anyone else .
Fairly easy to use just instantiate IPPDriver  with the appropriate settings (user and password can be blank) and provide it to your Fpdf.Output() then call IPPDriver.Print() function with a name for your document.  If you want anything more advanced you would need to modify the code to fill out the third parameter of PrintJob see https://godoc.org/github.com/phin1x/go-ipp#IPPClient.PrintJob for information on that third parameter.
type IPPDriver struct {
        bytes.Buffer
        printer  string
        server   string
        port     int
        user     string
        password string
}

func (d *IPPDriver) Print(name string) (int, error) {
        doc := ipp.Document{
                Document: d,
                Size:     d.Buffer.Len(),
                Name:     name,
                MimeType: "application/pdf",
        }
        ippc := ipp.NewIPPClient(d.server, d.port, d.user, d.password, true)
        return ippc.PrintJob(doc, d.printer, map[string]interface{}{})
}

i looked here and only found HP printer supported: https://www.pwg.org/dynamo/eveprinters.php
SO i got turned off the idea of using it.
I guess this is wrong and lots of printers support IPP ?

@joeblew99 cups as of 2.3 is deprecating printer drivers to rely on IPPE the logic being most printers sold after 2010 support  the IPPE standard.  So virtually any network printer should support IPP, not all will support PDF input I think I have a few older printers at work that claim not to support PDF.  I'm doing all my printing through cups right now though which can act as an IPP endpoint for any printer cups supports (even with 2.3 printer drivers still work they're just deprecated)


React DOM warnings found after merging local master

The following warning found when running all tests after merging local master.

Warning: Each child in a list should have a unique "key" prop.
Warning: Invalid DOM property class. Did you mean className?

The first warning was caused by the fragment in the code snippet below:

    {issue.labels.map(label => (
       <>
            {label.name}

        </>
  ))}

When using <></>, it doesn’t support keys or attributes.
Using fragment declared with the explicit <React.Fragment> syntax fixed the issue.

              {issue.labels.map(label => (
                <React.Fragment key={label.id}>
                  {label.name}

                </React.Fragment>
              ))}


Fix issues in quadlet generation

No reason to volume mount ramalama into container.

@ygalblum PTAL

@ericcurtin I am not thrilled with what we have here so far, but this should work.  I think we should have an example with OCI Artifact models which would continue to use the Artifact name rather then a path to the model for the generated quadlet.  Perhaps generating two quadlets, a QUADLET.volume and QUADLET.container.

Happy to merge on green @rhatdan ... We can always revisit in other PRs anyway :)
I'll be offline shortly


Check outstanding issues with bootstrapisation of templates.

Re-test locally and deploy the template changes.

This issue was moved to DemocracyClub/electionleaflets#78


Add mapping function

I think https://github.com/tizoc/ocaml-interop/pull/60 should let us capture and return exceptions in a more reasonable manner.


Improvements to multimodal HDI

This PR implements the improvements to HDI suggested in https://github.com/arviz-devs/arviz/issues/2394, with a few differences:

Supporting passing an array of HDI probabilities is left for a future PR.
Circular support for continuous multimodal HDI is included.
When more intervals than max_modes are computed, now the max_modes highest probability intervals are returned instead of just the ones that are lowest on the real line.

📚 Documentation preview 📚: https://arviz-stats--28.org.readthedocs.build/en/28/

Oh one thing I left out but will add is the ability to restrict the bounds to points actually in the sample. There are 2 ways to do this, via trimming or interpolation. As I shared on Slack, experiments show that interpolation produces better estimates than trimming and for moderate to large sample sizes (n>O(100)) is better than KDE-based estimates. The latter makes me wonder if this should be the default, but I hesitate mostly because I haven't seen it discussed in the litrature.
I'm not certain what keyword to use to allow the user to configure this behavior. BTW, what are the names mode='nearest' and mode='agg_nearest' meant to convey?

IIRC, there were two implementations of hdi in regular arviz. One that used the raw samples, looking at how many k samples need to be included to cover ci_prob then generate all intervals between a sample and k samples ahead. That is nearest.

As far as I can tell from reading the regular arviz code, the two methods that are supported are 1) the same as "nearest" here and 2) the same as "multimodal" before this PR. "agg_nearest" does not seem to be supported.
I was more wondering why these names were chosen. e.g. what is "nearest" near to? The original draws? If so then I think "contiguous" is a more accurate name, since that's really the constraint applied by this method.

The other used kde/hdi first then very similar approach but with kde/hist results, so closer to what the multimodal is doing. That is agg_nearest.

agg_nearest seems to be not so similar to nearest at all. It will only be similar when multimodal would return a single interval. Otherwise, it also includes all the intervals between the HDI intervals and can contain much more probability than the requested "hdi_prob". Personally, I don't see a use for agg_nearest; I see it as being similar to reaching for a CDF estimated from a KDE instead of an ECDF. I think the smoothing would in general only make the estimate worse. If something similar to nearest that forces contiguity but uses "bin centers" is really what's desired, a JIT-compiled sliding window approach would be quite efficient:
import numpy as np
import numba

@numba.jit
def hdi_contiguous_weighted(bins, bin_probs, prob):
    n = len(bins)
    is_discrete = bins.dtype.kind != 'f'

    cum_probs = np.cumsum(bin_probs)
    bins_diff = np.diff(bins)

    i_lower = 0
    i_upper = np.searchsorted(cum_probs, prob, side="left")
    interval_width = bins[i_upper] - bins[i_lower] + is_discrete
    min_interval_width = interval_width
    interval_prob = cum_probs[i_upper]
    interval = np.array([i_lower, i_upper])
    while i_upper < n - 1:
        # increase lower bound until interval is invalid
        while interval_prob >= prob and i_lower <= i_upper:
            if interval_width < min_interval_width:
                interval[:] = (i_lower, i_upper)
                min_interval_width = interval_width
            interval_prob -= bin_probs[i_lower]
            interval_width -= bins_diff[i_lower]
            i_lower += 1

        # increase upper bound until interval is valid again
        while interval_prob < prob and i_upper < n - 1:
            interval_width += bins_diff[i_upper]
            i_upper += 1
            interval_prob += bin_probs[i_upper]

    return bins[interval]

Let's remove agg_nearest then, not sure where I took it from if it is not in current ArviZ. I didn't think too much about the names either. To rename nearest numpy also has a closest_observation method for np.quantile which is probably better than nearest, I like contiguous too.

I've added multimodal_nearest method, which returns multimodal HDIs where the bounds come from the sample. I don't think it's the best name, as naively I would assume this means "compute the multimodal HDI using a KDE and then snap the bounds to the nearest sample points," which is not quite what this does. What this does is compute the densities at the sample points and use that to rank the points to find the HDI bounds.

I think multimodal_sample might be a better name than multimodal_nearest, as it's not so much returning the nearest point in the bounds but rather selecting the bounds from the sample.

multimodal_sample sounds good to me.

Thanks, @OriolAbril!


Add support for Travis-CI and Coverity Scan

This patch set adds support for Travis-CI, automatic builds at checkin,
and Coverity Scan for static code analysis.  It also contains a refactor
of the autogen.sh script to rely on autoreconf instead of calling each
autotool manually.

You added some weird stuff to line 1 of README.me, but otherwise this looks okay.
By the way, I find it odd that autogen.sh calls configure.  It made it hard to do out-of-tree builds from the git repository.

The weird stuff is for displaying neat icons with clickable status.
Yeah, I've been thinking about removing the configure line. All it really does is enable maintainer mode, doesn't really seem necessary.  I'll update the PR with that line removed.  We can run
autoreconf with the -m switch instead. That will cause it to call configure + make if there was a previous build. (I think it looks for config.log to detect this.)

Ok, I no longer see the weird stuff on line 1 of README.md.  Maybe it was a GitHub glitch.

Naw, I updated the PR :)


⚠ SolarOscp has degraded performance

In 74620d8, SolarOscp ($SOLAROSCP_URL) experienced degraded performance:

HTTP code: 200
Response time: 177 ms

Resolved: SolarOscp performance has improved in a3a6b56 after 17 minutes.


OSError: exception: access violation writing 0x00000284C1557000

hello, i keep getting this error when using audiostretchy for a wav to wav speedup. any help would be appreciated. I am running it on windows
code:
from audiostretchy.stretch import stretch_audio
stretch_audio("input.wav", "output.wav", ratio=1.1)
error:
OSError                                   Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_16828\3037458555.py in
1 from audiostretchy.stretch import stretch_audio
2
----> 3 stretch_audio("input.wav", "output.wav", ratio=1.1)
~\anaconda3\lib\site-packages\audiostretchy\stretch.py in stretch_audio(input_path, output_path, ratio, gap_ratio, upper_freq, lower_freq, buffer_ms, threshold_gap_db, double_range, fast_detection, normal_detection, sample_rate)
354     audio_stretch = AudioStretch()
355     audio_stretch.open(input_path)
--> 356     audio_stretch.stretch(
357         ratio,
358         gap_ratio,
~\anaconda3\lib\site-packages\audiostretchy\stretch.py in stretch(self, ratio, gap_ratio, upper_freq, lower_freq, buffer_ms, threshold_gap_db, double_range, fast_detection, normal_detection)
314                 stretcher.output_capacity(self.nframes, ratio), dtype=np.int16
315             )
--> 316             num_samples = stretcher.process_samples(
317                 self.in_samples, len(self.in_samples), self.samples, ratio
318             )
~\anaconda3\lib\site-packages\audiostretchy\interface\tdhs.py in process_samples(self, samples, num_samples, output, ratio)
114         :return: The number of processed samples.
115         """
--> 116         return self.stretch_samples(self.handle, samples, num_samples, output, ratio)
117
118     def flush(self, output: np.ndarray) -> int:
OSError: exception: access violation writing 0x00000284C17F7000

The code is running fine on a linux machine but the audio being produced has white noise after about 5 seconds, any suggestions on how to fix it?

I'm getting a similar error on Windows 11
It's the same for wav and mp3 files using the stretch_audio() or the AudioStretch() method
File "d:\Python\Pydub\main.py", line 3, in
stretch_audio("alabama-jam.wav", "output.wav", ratio=1.1)
File "D:\Python\Pydub\venv-speed\lib\site-packages\audiostretchy\stretch.py", line 356, in stretch_audio
audio_stretch.stretch(
File "D:\Python\Pydub\venv-speed\lib\site-packages\audiostretchy\stretch.py", line 316, in stretch
num_samples = stretcher.process_samples(
File "D:\Python\Pydub\venv-speed\lib\site-packages\audiostretchy\interface\tdhs.py", line 116, in process_samples
return self.stretch_samples(self.handle, samples, num_samples, output, ratio)
OSError: exception: access violation writing 0x00000156A6664000

Will this bug be ever fixed? i have the exact same bug
Worked PERFECTLY first 3 minutes then this started to happen, rebooted PC, reinstalled the module, NOTHING HELPS wtf

Same OSError. Would love a fix.


useAsyncStoryblok returns undefined when story is not found

Describe the issue you're facing
When calling useAsyncStoryblok with a nonexistent url, I get undefined back.
In the documentation there is this bit:

Previously there would be a status returned, regardless if the site exists or not.
But now you get undefined back and it throws an error (instead of a 404 there is a 500 shown to the user in my case)
Has the api changed?? I couldn't find infos on this
Reproduction
Sorry, none
Steps to reproduce
No response
System Info
Nuxt 3.11.2
@storyblok/nuxt 6.0.9

Used Package Manager
pnpm
Error logs (Optional)
No response
Validations

[X] Follow our Code of Conduct

Reproduction
Sorry, none

Hi, @LukasHechenbergerID please provide a minimal reproduction link using https://stackblitz.com/fork/github/nuxt/starter/tree/v3-stackblitz. See Why Reproductions are required

Same, I temporarely added this snippet instead to get a 404
if (!story?.value?.content) {   throw createError({ statusCode: 404, statusMessage: 'Page Not Found' }) }


Icicle Source REPL

This is a WIP!!! Pls don't merge yet.
REPL for Icicle surface language.
Commands:

:load <filepath>
:set show-type -- show the expression type
:set show-core -- show core output
:set show-eval -- show evaluated result

Given an Icicle expression, e.g. feature salary ~> sum value, show the result type and core output -- plus the result value if a data set is given as well.

:bangbang:

you can put WIP in the title, and remove it when you think its ready

:banana: :back:

this depends on topic/icicle-initial now so I'll close this PR to make a new one


Links; Can we...?

Can we make all links open in a new window? so the user doesn't lose their place in the scroll? or will they kinda open inside of the Nouns101 interface like they are now when I test them?

Well, they work like any other link: you can click without any modifier to open on the same page or hold ctrl/cmd to open on a new tab. Pretty standard


Fix XcursorImageDestroy interop signature

The native API return type is void, per https://www.x.org/releases/current/doc/man/man3/Xcursor.3.xhtml#heading6
void XcursorImageDestroy (XcursorImage *image)

Update the C# interop method to match.
May help with https://github.com/AvaloniaUI/Avalonia/issues/10425

What does the pull request do?

What is the current behavior?

What is the updated/expected behavior with this PR?

How was the solution implemented (if it's not obvious)?

Checklist

[ ] Added unit tests (if possible)?
[ ] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/avalonia-docs with user documentation

Breaking changes

Obsoletions / Deprecations

Fixed issues

Related to #10425

Updated to use XFreeCursor per https://github.com/AvaloniaUI/Avalonia/issues/10425#issuecomment-1981363971 -- @kekekeks  does this look like what you had in mind? Thanks.

Does it fix the crash?

Will test once the cibuild is available (cannot build locally at the moment unfortunately)

Yes, with 11.1.999-cibuild0045794-beta the SIGSEGV no longer repros while testing locally.


Add a warning when deleting a label

When deleting a label all images in that label will become unlabeled.
This is more important in localization, because they will also lose their bounding boxes.

I just tested and deleted a label that had images and got no warning.
Might need to revisit this.

I just keep all issues on github.com/cloud-annotations/training
reopen this there