Fix tick issues and improve tick location

Changelog / Overview

Fixes #1604

Improved handling of ticks for axes, ensuring they are symmetrical across axis regardless of the range and step size
Generate ticks from the center when the range spans positive and negative directions
Add handling to ensure ticks are not created at the origin for axes
Ensure no tick overlapping occurs

Motivation

Currently when using Axes class the ticks may not be symmetrical across axes when the range spans both positive and negative directions. An example is using the range
       axes = Axes(             x_range=[-PI, PI],             y_range=[-PI, PI])
The step size defaults to 1, and the tick generation begins at -PI, this means that ticks will not line up with the correct numbers.
Before:

After:

These changes makes tick generation more intelligent without relying on the user to work out a divisible step size.
Explanation for Changes

Makes creation of Axes more user friendly and can handle a wider range of axis range / step size combinations. It also avoids overlapping ticks and ticks on the axis.

Testing Status

Further Comments

Checklist

[X] I have read the Contributing Guidelines
[X] I have written a descriptive PR title (see top of PR template for examples)
[X] I have written a changelog entry for the PR or deem it unnecessary
[X] My new functions/classes either have a docstring or are private
[X] My new functions/classes have tests added and (optional) examples in the docs
[X] My new documentation builds, looks correctly formatted, and adds no additional build warnings

Reviewer Checklist

[ ] The PR title is descriptive enough
[ ] The PR is labeled correctly
[ ] The changelog entry is completed if necessary
[ ] Newly added functions/classes either have a docstring or are private
[ ] Newly added functions/classes have tests added and (optional) examples in the docs
[ ] Newly added documentation builds, looks correctly formatted, and adds no additional build warnings

I think I found a bug. I tired running the following code with your changes to manim and even when varrying the domain of the graphs the graphs look identical.
class axe(Scene):
     def construct(self):
          axes1 = Axes(x_range=[-PI, PI], y_range=[-PI, PI])
          axes2 = Axes(x_range=[-np.exp(1), PI], y_range=[-PI, PI])
          axes3 = Axes(x_range=[-2, -PI], y_range=[-PI, PI])
          axes4 = Axes(x_range=[1, PI], y_range=[-PI, PI])
          self.add(axes1)
          self.wait(3)
          self.play(FadeOut(axes1))
          self.play(FadeIn(axes2))
          self.wait(3)
          self.play(FadeOut(axes2))
          self.play(FadeIn(axes3))
          self.wait(3)
          self.play(FadeOut(axes3))
          self.play(FadeIn(axes4))
          self.wait(3)

This is what I got running it with your changes:
https://user-images.githubusercontent.com/76829691/120416288-e9979400-c32a-11eb-8c83-3e20c96d6577.mp4
This is what I got running it on manim7:
https://user-images.githubusercontent.com/76829691/120416333-fa480a00-c32a-11eb-8d81-ffdd18174d19.mp4

I think I found a bug. I tired running the following code with your changes to manim and even when varrying the domain of the graphs the graphs look identical.
class axe(Scene):
     def construct(self):
          axes1 = Axes(x_range=[-PI, PI], y_range=[-PI, PI])
          axes2 = Axes(x_range=[-np.exp(1), PI], y_range=[-PI, PI])
          axes3 = Axes(x_range=[-2, -PI], y_range=[-PI, PI])
          axes4 = Axes(x_range=[1, PI], y_range=[-PI, PI])
          self.add(axes1)
          self.wait(3)
          self.play(FadeOut(axes1))
          self.play(FadeIn(axes2))
          self.wait(3)
          self.play(FadeOut(axes2))
          self.play(FadeIn(axes3))
          self.wait(3)
          self.play(FadeOut(axes3))
          self.play(FadeIn(axes4))
          self.wait(3)

This is what I got running it with your changes:
axe_pr.mp4
This is what I got running it on manim7:
manim7.mp4

Strange, I tried running your' code with my changes and it does seem to change with the domain:
https://user-images.githubusercontent.com/32387857/120429852-043f2c80-c36e-11eb-8bef-f561000a2904.mp4
The third one doesn't look good where the x_min is higher than the x_max but not sure the best way to handle that?

Strange, I tried running your' code with my changes and it does seem to change with the domain:

I'm rather new to GitHub so it's entirely possible I made a mistake somewhere.

The third one doesn't look good where the x_min is higher than the x_max but not sure the best way to handle that?

I'm not sure what these use case for that one is anyways.

https://user-images.githubusercontent.com/9102529/120587961-e5719080-c468-11eb-87a4-d37c4d75aad9.mp4
Seems to work correctly for me. @PaulCMurdoch can you try running it again?

I was glancing at the example gallery and noticed that this PR altered the look of one of the examples: https://docs.manim.community/en/stable/examples.html#sinandcosfunctionplot
Here is the example from the example gallery:

Here is the version from this PR:

The y-axis looks a bit odd with the new tick generation even though the range of the axis divides evenly by the step. Is there a fix for this effect? Maybe checking if (max - min) % step == 0`?

My concern about changing it is that the step for the y-axis is 1, so I would expect the ticks at -1, 0, 1 etc, whereas it looks like the ticks are at 1.5, 0.5, -0.5, -1.5 for the original example. I think it makes more sense and it is easier to be consistent to start counting steps from the origin, otherwise in some scenarios we would count from the ends of the axis, and others we would count from the origin which might be confusing?
An other option is that I could update the example to use a step size of 0.5 that will result in:

I think it makes more sense and it is easier to be consistent to start counting steps from the origin, otherwise in some scenarios we would count from the ends of the axis, and others we would count from the origin which might be confusing?

That's a fair assessment. Given that, I think adding a quick note to NumberLine that ticks are generated from the 0-point would be wise just so that it's easy for a user to understand. Adjusting the example gallery can be taken care of in a different PR (or this one if you'd like this one also needs to be adjusted slightly ).

I think it makes more sense and it is easier to be consistent to start counting steps from the origin, otherwise in some scenarios we would count from the ends of the axis, and others we would count from the origin which might be confusing?

That's a fair assessment. Given that, I think adding a quick note to NumberLine that ticks are generated from the 0-point would be wise just so that it's easy for a user to understand. Adjusting the example gallery can be taken care of in a different PR (or this one if you'd like [ this one also needs to be adjusted slightly setting the range values to the 0.6.0 version should patch it up] ).

Yes good idea, I added that note to the docstring


unable to load module elasticjs.service in angularjs application

Hi,
Thank you for your great job on elastic.js. I have a problem loading elasticjs.service module.
I installed it via bower and added the dependencies elasticsearch.js and elastic.js in my page.
But when i added it as module dependency in my angular app i got  Error: [$injector:nomod] Module 'elasticjs.service' is not available.
Thanks in advance.

Same here.
When I add the 'elasticjs.service' dependency in my module, my page just stop working

The repo is no longer maintenaid you should use the official elasticsearch search js  angular client @https://github.com/elastic/bower-elasticsearch-js  or https://github.com/YousefED/ElasticUI


Revert "Espresso"

Reverts microsoft/PowerToys#11143

@enricogior sent you an email on this for if we want to just move forward


Switching signals to return Promises

Deciding if the signal OnRelease should return a promise that resolves on completion, and for future signals, like OnSave.
While I think of signals to send data that exists (promises exist in the future), Promises allow for a new way of using them by essentially providing a start, doing and end lifetime.

keep.OnRelease:Connect(function(state)
      print("Releasing")

      state:andThen(function()
            print("Released")
            player:Kick()
      end)
end)

With this change signal names will be changed to better give context of the lifecycle
OnReleased -> Releasing
OnSaved (when it gets added) -> Saving
This will not affect OnGlobalUpdate as there is no yielding

Merging, https://github.com/noahrepublic/DataKeep/tree/13-switching-signals-to-return-promises


Why is the mean in my model almost the same for all values?

Hey guys,
I just finished training a TimeSeries model on best quality (took about 7 hours with a premium colab gpu), yet I don't think the data has fit correctly. Here is how I've trained the model:
import pandas as pd
import matplotlib.pyplot as plt
from autogluon.timeseries import TimeSeriesDataFrame, TimeSeriesPredictor
from datetime import datetime, timedelta, time
import random
import numpy as np

df = pd.read_csv(
    "/content/drive/MyDrive/stock_data/training_data_formatted.csv",
    parse_dates=["Date"],
)
values_to_remove = ['Date', 'Close', 'ID']
df["Date"] = pd.to_datetime(df["Date"], errors="coerce", dayfirst=True)
df = df[~df['Date'].isin(values_to_remove) & ~df['ID'].isin(values_to_remove) & ~df['Close'].isin(values_to_remove)]
df = df.drop(columns=['Unnamed: 0'])

#add time and microseconds to make a unique index since stocks have overlapping dates.
df['Date'] = df['Date'].apply(lambda x: x.replace(hour=12, minute=0, second=0))
df['Date'] = pd.to_datetime(df['Date'])

microseconds = df.groupby(['Date']).cumcount()
df['Date'] += np.array(microseconds, dtype='m8[us]')

ts_dataframe = TimeSeriesDataFrame.from_data_frame(
    df,
    id_column="ID",  # column that contains unique ID of each time series
    timestamp_column="Date",
)

#add frequency so model understands
def forward_fill_missing(ts_dataframe: TimeSeriesDataFrame, freq="D") -> TimeSeriesDataFrame:
    original_index = ts_dataframe.index.get_level_values("timestamp")
    start = original_index.min()
    end = original_index.max()
    filled_index = pd.date_range(start=start, end=end, freq=freq, name="timestamp")
    return ts_dataframe.droplevel("item_id").reindex(filled_index, method="ffill")

ts_dataframe = ts_dataframe.groupby("item_id").apply(forward_fill_missing)

prediction_length = 30

test_data = ts_dataframe

# last prediction_length timesteps of each time series are excluded, akin to `x[:-48]`
train_data = ts_dataframe.slice_by_timestep(None, -prediction_length)

predictor = TimeSeriesPredictor(
    path="/content/drive/MyDrive/TrainedModel",
    target="Close",
    prediction_length=prediction_length,
    eval_metric="MAPE",
)

predictor.fit(
    train_data,
    presets="best_quality",
    num_gpus=1
)

#add data for prediction and process in similar format as training data
df_data = pd.read_csv('thedata.csv', parse_dates=["Date"])

df_data["Date"] = pd.to_datetime(df_data['Date'], errors="coerce", dayfirst=True)

df_data['Date'] = df_data['Date'].apply(lambda x: x.replace(hour=12, minute=0, second=0))
df_data['Date'] = pd.to_datetime(df_data['Date'])

microseconds = df_data.groupby(['Date']).cumcount()
df_data['Date'] += np.array(microseconds, dtype='m8[us]')

ts_dataframe_test = TimeSeriesDataFrame.from_data_frame(
    df_data,
    id_column="ID",  # column that contains unique ID of each time series
    timestamp_column="Date",
)

model = TimeSeriesPredictor.load('/content/drive/MyDrive/TrainedModel/')
model.predict(ts_dataframe_test)

For some reason, this is giving me close to the same mean for any stock data I add, which I suppose means that it wasn't able to find any pattern.
I have followed instructions of the documentation to the t, so I don't know why this is happening. Is it something to do with autogluon or is it to do with my model hyperparams or how I've preprocessed the data.
Looking forward to hearing from you.

If the dataset is really challenging (lots of missing data, nonstationarity, changepoints), it may happen that none of the models provide a consistent improvement over the naive baseline. For example, financial datasets are notoriously difficult to forecast. I cannot say why exactly this happens in your case, but if you can point us to the dataset that you consider, we might look into it when we have time.

It's basically the entire daily historical data of the NIFTY500. Missing dates have been forward filled.

@whoopydev Note that we will need the actual data, not just a description of what the data is, to help. AKA we need the ability to replicate your run to reproduce what you are experiencing.

Closing until raw data is provided to reproduce


Emulate shared challenges in CompositeBackend

With #1603 demonstrating how shared challenges can be computed when computing proofs in the CompositeBackend, we still have to do the same in the verification algorithm. However, the Backend::verify function does not currently give us access to the challenges (unlike prove, where we could manipulate the witgen_callback to access them).
Here, I want to sketch how we can anyway emulate shared challenges using any backend.
Background
Let's say two machines request a shared challenge alpha of a particular ID, like so:
let alpha = challenge(0 /* stage */, 1 /* id */);

Then, this challenge should depend on all phase stage-0 witness columns of both machines. But in the composite proof, the proving backend is invoked independently for each machine, so it is not aware of the other machine's columns.
A way to emulate challenges anyway is this:

In each machine, sample local challenges alpha_local1 and alpha_local2, depending only on the local stage-0 witness columns.
To get the shared challenge, sum up all local challenges.

#1603 does this in the proving stage: It intercepts the otherwise independent machine proofs and modifies the challenges to be equal to the sum of local challenges.
An verifier with shared challenges
CompositeBackend::verify just calls Backend::verify for each machine proof, so it would not have direct access to the local challenges.
However, we do the following:

Expose the local challenge as a public output
Instead of the local challenge, use a prover-provided (and unconstrained) claimed shared challenge in the constraints
Expose the claimed shared challenge as public
In CompositeBackend::verify, verify all machine proofs and also check that the shared challenges have been computed correctly

Implementation
Our abstractions are currently not ideal to implement this. In particular, only cells in the trace can be exposed as publics. So, let me spell out the above list a bit more, using the abstractions we have available today:

Expose the local challenge as a public output

Add a witness column alpha_local_col
Add a constraint alpha_local_col = alpha_local
Expose alpha_local_col[0] as public

Instead of the local challenge, use a prover-provided (and unconstrained) claimed shared challenge in the constraints

Add a witness column alpha
Add a constraint alpha = alpha'
Because alpha is a column that is equal to the same value everywhere, this can be used like a scalar. All constraints that need to use the shared challenge should reference it.

Expose the claimed shared challenge as public

Expose alpha[0] as public

In CompositeBackend::verify, verify all machine proofs and also check that the shared challenges have been computed correctly

Checking the machine proof automatically verifies that alpha_local_col has the correct value (because there is a constraint for it), and that alpha was equal to whatever value is in the publics.
The verifier runs additional checks on the publics to verify that the shared challenges have been computed correctly.

Note: This needs a slight modification in #1603, which currently overwrites the challenges, so witgen wouldn't have access to the local challenge anymore.
Discussion
This suggested implementation adds significant overhead. For example, for Plonky3, we're currently adding 3 witness columns for each public (this could be changed to just one fixed column though, see #1607). So, this transformation would currently add 8 witness columns per challenge (2 witness and 2 fixed after #1607). For a bus, for example, we would need 2 extension field challenges, so we'd have 4 challenges. A more integrated solution could achieve shared challenges without any extra cost.
I still think it's worth doing though, because the cost still seems manageable and we'd have a backend-agnostic implementation.

Note that if publics were just scalars that can be used in constraints (as they natively are in Plonky3) instead of cells in the trace (as they natively are in Halo2, and is also what we currently implement), this would be a lot cheaper. We would just:

Add a public alpha_local_public
Add a constraint alpha_local_public = alpha_local
Add a public alpha and use it in the constraints that expect a shared challenge

No need to add any columns.

Another reason to move away from publics as cells to publics as scalars.

A good test for this is the block_to_block_with_bus_composite test introduced in #1628. It is marked as should_panic until this issue is resolved.


Update lyon and euclid dependencies

Needed for https://github.com/servo/webrender/pull/2882

cc @BorisChiou

Note that lyon crates reexpose their public dependencies so I changed most of the code that depend on both lyon_geom and lyon_path to only depend only on lyon_path. That way there's a little less work to do to update the two (new versions of the lyon crates are always published at the same time). lyon_geom also reexports euclid but I didn't touch that in most places as pathfinder uses certain euclid feature flags.

Awesome! Thanks for this patch.

@pcwalton Can we move this repository to the Servo organisation? Thanks.


Add support for CGAL_AABB_tree

fixes #55

Checklist

[ ] Used a fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

license_file entry is missing, but is required.

For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

@conda-forge-admin, please rerender

Having this issue in this build: https://github.com/CGAL/cgal-swig-bindings/issues/133

Weird, the latest passing build is not reproducible anymore, it's still having the same error... perhaps we'll have to update it first, and solve those other issues that appeared...

Hi @tadeu, let me help you. I have CGAL release manager.
The bug https://github.com/CGAL/cgal-swig-bindings/issues/133 has been fixed directly in CGAL, in versions 4.14.3 and 5.0.1. If you want to keep cgal-feedstock to CGAL-4.14.x, then pick version 4.14.3, that I released  25 February 2020, or a later version (there are none, at the time of this comment).

Ok, for now I think it's simpler to try to fix this together with the update to version 5.0.1 in #57

Superseded by #57


Volume of a Spherical Shell

Before jumping into Pr first comment for assign.All Problem from Edabit. Link is mandatory to add
Problem statement:
The volume of a spherical shell is the difference between the enclosed volume of the outer sphere and the enclosed volume of the inner sphere:
Volume of Inner Sphere Formula
Create a function that takes r1 and r2 as arguments and returns the volume of a spherical shell rounded to the nearest thousandth.

Examples
vol_shell(3, 3) ➞ 0
vol_shell(7, 2) ➞ 1403.245
vol_shell(3, 800) ➞<PHONE_NUMBER>.753
Notes
The inputs are always positive numbers. r1 could be the inner radius or the outer radius, don't return a negative number.
Problem Link: https://edabit.com/challenge/iBqJcagS56wmDpe4x

Before submitting a PR please Check some details.Check Edabit for problem task

[ ] fileName formet should be in camelcase
example- returnTheNextNumber.py
[ ]  Add label for Problem
[ ]  In file there should be problem statement and link to probelm
example -

'''
    Probem Task : This program will add two numbers
    Problem Link : https://edabit.com/challenge/SFzHtm63XT6EYNHWY
'''
*/
def main():
    return a + b

This repository is vaild for HacktoberFest2020
Read before making PR - How to contribute on Github
Good Luck,

@aayushi-droid  Assign this issue to me...

I would like to work on this.

Please assign this issue to me.

i would love to work on this project

I would like to solve this problem

I would love to work on this and I am good at problem-solving. I also have a gold badge on hackerrank in problem-solving. You can check that out here:https://www.hackerrank.com/Gvirmani1505.

Sir submitted a pull request a spherical 100% working it doesn't return a negative value please kindly consider it

@aayushi-droid Please review and the merge the Pull request #148 ,
Thanks,
VIVEK K J


setDownloadBehavior deny download doesn't work at latest version (v1.4.0)

Puppeteer version: 1.4.0
Platform / OS version: Win10
Node.js version: 9.4.0
Chromium Version: r555668
    await page._client.send('Page.setDownloadBehavior', {
        behavior: 'deny'
    });

On the puppeteer v1.3.0, i can deny all downloads with above code.
But at the latest version (v1.4.0), it doestn't work.
When i use page.close() , it alerts "Downloading is in progress, Quit chrome anyway ?"
So the page can not be closed.
Is there any way forcing page close or deny downloads in new version ?

I move setDownloadBehaviour code before page.setViewport, then it works nice.


add caching logic to config journals

We should add caching to config journals so a simple consistency check that can be issued to check the config state when we need tight guarantees (as opposed to loose guarantees but more performant cache timeouts).  This check can simply probe the storage layer for slot HEAD+1 in the journal  (which should fail with not exists) to make sure the cache's notion of HEAD is consistent with the storage layer.

Steve will write an issue for the caching project and merge this in with that...


New version: Caphyon.AdvancedInstaller version 21.7

Created by 🥟 Dumplings in workflow run #4751.
Logs
Updated: 21.6.1 → 21.7
Submitting WinGet manifests

Microsoft Reviewers: Open in CodeFlow

Hi @SpecterShell,

This PR's version number 21.7 has 2 parameters (sets of numbers between dots - major, minor, etc), which is less than the current manifest's version 21.6.1, which has 3 parameters.

Does this PR's version number exactly match the version reported in the Apps & features Settings page? (Feel free to attach a screenshot.)
(Automated response - build 878)

Hi @SpecterShell,

This PR's version number 21.7 has 2 parameters (sets of numbers between dots - major, minor, etc), which is less than the current manifest's version 21.6.1, which has 3 parameters.

Does this PR's version number exactly match the version reported in the Apps & features Settings page? (Feel free to attach a screenshot.)
(Automated response - build 878)

I think this package needs to be excluded.


Cursor position lost and falls back to end of the document when saving

The cursor position is lost when saving using Ctrl+S. This causes the cursor to jump to its default position, which is end of the file, upon user input using keyboard.
It seems sometimes auto saving also causes this, but frankly speaking I cannot always reproduce it. So the cause is unknown to me.

Fixed in new version.


chore(npm): sync package.json from npm-package-template

engines, version, release scripts for semantic-release, mocha, jsdoc and istanbul

Current coverage is 87.50%

Merging #18 into master will not affect coverage as of 02325b0

@@            master    #18   diff @@
=====================================
  Files            1      1
  Stmts           72     72
  Branches        13     13
  Methods          0      0
=====================================
  Hit             63     63
  Partial          0      0
  Missed           9      9

Review entire Coverage Diff as of 02325b0

Powered by Codecov. Updated on successful CI builds.


Dxia/rollout options config2

Conflicting files
helios-client/src/main/java/com/spotify/helios/common/descriptors/RolloutOptions.java
helios-client/src/test/java/com/spotify/helios/common/descriptors/RolloutOptionsTest.java
helios-services/src/main/java/com/spotify/helios/master/ZooKeeperMasterModel.java
helios-services/src/test/java/com/spotify/helios/master/DeploymentGroupTest.java
helios-services/src/test/java/com/spotify/helios/master/ZooKeeperMasterModelTest.java
helios-services/src/test/java/com/spotify/helios/master/resources/JobsResourceTest.java
helios-tools/src/main/java/com/spotify/helios/cli/command/JobInspectCommand.java
helios-tools/src/test/java/com/spotify/helios/cli/command/JobInspectCommandTest.java


PMM: Program Mgmt Module Scenario Walkthroughs

Script
See second draft here
https://docs.google.com/document/d/1IzyrLTJrQcaIGGl24OMQniAab9FmYnHPXVkNvZkSdc0/edit#bookmark=id.dfk7mqfdai4r
Doc
https://powerofus.force.com/s/article/PMM-Overview

@Billflorio This was originally written by Cody and then review by several folks, with a "second draft" section. Can you fill me in on where it stands please? Ready to review or still needs expert eyes? Thanks!

@barbarachristensen  At the last sprint the challenge was to split this into separate scripts each highlighting a different use case, I don't feel like an overview of the ERD is digestible in a single videoi

Same as my comment above, I pushed this script back because it's not understandable, ideally this would be separate videos of different use cases


Fix depth odom nodelet manager

Addresses issue 561: https://github.com/nasa/astrobee/issues/561

This should be tested on the robot before merging because there are some configurations where it causes the fsw to crash at startup just by changing managers

Tested in the lab, started and stopped fsw 3 times, flew the robot around, all good


Gibbs sampler is broken

It seems PR #199 is causing the Gibbs sampler producing inaccurate results.

Do you mean the error in the Gibbs constructor or other?

Yes, I am refering to the gibbs constructor.

It seems that it just because I changed the number of iterations of the Gibbs sampler to only 50 because I thought that was bit slow. I changed it back to 500 in this commit: https://github.com/yebai/Turing.jl/commit/fd6e3e6cf135928ebff9fe23ca767c69cbec71bb.
I looked into some other Gibbs result (with long run), which seems to be fine (e.g. gibbs.jl).
However, this test file is supposed to test the constructor only, can we just remove the numerical checks?


Detection of device synchronization

Device synchronization is a source of performance degradation, but currently even some of CuPy functions implicitly (whether intentionally or not) do that (#2797).
It would be nice to have a mechanism to detect device synchronization.
Proposal
Add a context manager within which any operation that synchronizes the device causes an error. The context manager sets a thread-local configuration variable.
with cupyx.allow_synchronize(False):
    ... # operations that are not supposed to synchronize

In low-level CuPy code that cause synchronization like ndarray.get, insert _declare_synchronize() call as follows:
cpdef _declare_synchronize():
    ... # Raise an error if within allow_synchronize(False).

cdef class ndarray:
    cpdef get(self, ...):
        _declare_synchronize()
       ...

Application in unit tests
Given the above implemented, we could apply it in testing.numpy_cupy_equal for example. If the test code has expected device synchronization, the test implementation can enclose the code with cupyx.allow_synchronize(True) explicitly.
Notes

ndarray.get may copy asynchronously if certain conditions are met (if using a non-default stream and given an explicit out with pinned memory). If's difficult for the code to predict whether it's actually synchronous or not. Maybe it's safe to separate asynchronous behavior as another method like ndarray.get_async.

I think this is great and could be pretty useful to improve performance of user codes.
One minor detail that just comes to my mind is that instead of declaring every method that synchronizes, could we make the cuda runtime call used to synchronize devices to check the flag set by the context manager. This will solve the second issue, but it will not detect calls that “could” synchronize but they are not doing it due to certain runtime conditions. (I don’t know if your proposal is just to error on anything that may synchronize).

+1 for the runtime module to check the flag if possible. This seems more robust, and also less painful for implementing new functions. At least we don’t need to chase after which function syncs.

Even runtime API wrapper doesn't know if the call synchronizes (because it depends on the pointer attributes), so it won't solve the problem.

It doesn't synchronize only if the memory is pinned memory in memcpy calls? or are there other cases where behavior is unclear.
I guess that being able to know if the host memory is page locked or not should be a sufficient condition for this, but I am afraid this is not easy 😢

I'm not sure about other cases, but checking pointer attributes is not roboust, and also incurs some overhead as well.

I'm not sure about other cases, but checking pointer attributes might not be roboust, and also incurs some overhead as well.

I think it is meant to be very robust. One potential pitfall could be the change of fields in the attribute struct (in 10.0 or above? I don't remember...#2768 is relevant). When looking up and interpreting the attributes we should be careful.
For the overhead, I am always under the impression that it's a cheap operation:
$ nvprof python -m pytest -v tests/cupy_tests/core_tests/test_ndarray_cuda_array_interface.py
... omitted ...
==17886== Profiling result:
            Type  Time(%)      Time     Calls       Avg       Min       Max  Name
... omitted ...
                    0.05%  632.73us       100  6.3270us  3.4130us  11.791us  cudaPointerGetAttributes
... omitted ...

From what I know, it's rather common in a CUDA program to check the pointer attributes before an operation.

Thank you for the measurement, but 6us looks quite expensive.
In my environment it's about 1us, but I'm still not confident that it's cheap enough for an overhead of the lowest-level API call.


After snapshot revert  Input/output error

Hi
I created a single box setup and created volume with a 2 replica with 20GB after that
I followed these steps.
mkfs.xfs /dev/longhorn/test
mount /dev/longhorn/test /mnt
cd /mnt
touch test1 test2
On UI I took the snapshot after that I took snapshot
rm test1
Again back to UI and I click the snapshot are revert
cd /mnt
ls
ls: cannot open directory '.': Input/output error

After I umount and mounted the file I don't see any files which I touched

@sjkeerthi In fact revert shouldn't be allowed when fs is mounted.
It's a normal block device. If you don't run sync or umount, the file may not be written to the block device. That's why you didn't see it.
And you got IO error because the block device changed and the old mount expired.
Try again follow steps:

Create the block device.
Format, mount
Write file to it. Probably run sync as well. Then take a snapshot.
Make more changes.
Unmount the block device.
Revert to the early snapshot. You should see the change.

Close this for now. Please reopen if it doesn't work as expected.


A fatal error has been detected by the Java Runtime Environment

Hello! I have a Spigot 1.12.2 Server. After some time, the server stops with an error:
A fatal error has been detected by the Java Runtime Environment:
SIGSEGV (0xb) at pc=0x000000000000a786, pid=47, tid=0x00007fadec4ffb10
JRE version: OpenJDK Runtime Environment (8.0_252-b09) (build 1.8.0_212-b04)
Java VM: OpenJDK 64-Bit Server VM (25.252-b09 mixed mode linux-amd64 compressed oops)
Derivative: IcedTea 3.16.0
Distribution: Custom build (Thu Aug 13 12:46:32 UTC 2020)
Problematic frame:
C  0x000000000000a786
Core dump written. Default location: /data/core or core.47
An error report file with more information is saved as:
/data/hs_err_pid47.log
If you would like to submit a bug report, please include
instructions on how to reproduce the bug and visit:
https://icedtea.classpath.org/bugzilla
2021-01-01T13:23:18.472+0300	WARN	mc-server-runner	sub-process failed	{"exitCode": -1}
2021-01-01T13:23:18.473+0300	INFO	mc-server-runner	Done

You probably need to report this one with the Spigot issue tracker; however, you could also try some of the other image tags to see if a different Java version helps, such as adopt11 or multiarch-latest.

You probably need to report this one with the Spigot issue tracker; however, you could also try some of the other image tags to see if a different Java version helps, such as adopt11 or multiarch-latest.

Thanks! I changed image from itzg/minecraft-server:latest to itzg/minecraft-server:multiarch and it's work!

Thanks! I changed image from itzg/minecraft-server:latest to itzg/minecraft-server:multiarch and it's work!


Add system use code to things

And populate via the data:load_drains rake task. Refactor the rake task to
update fields using the unique city_id identifier if the drain already
exists.
Require rake in the tasks file so that the environment is loaded properly.
Fixes #100

cc @jasonlally
I kept the field name from the CSV file (system_use_code), but let me know if you prefer storm_use_code.
Just give a :+1: if this looks good to you -- I'll merge and run the migration on the "production" site (the migration needs to be ran immediately after the deploy to avoid the site appearing to be offline).

:+1: Looks good - yes on system_use_code

:+1: I'll merge and walk out now

Migrated the existing dataset to back populate the field


Implement a GPIO applet, for controlling the pins directly from Python

Use either REPL or a script to directly control Glasgow's I/O pins.

Input: iface.read(channel)
Output: iface.write(channel, level, enable=True)
Toggle: iface.toggle(channel, enable=True)
Set pull-up / pull-down: iface.pull(channel, level, enable=True)
Set Hi-Z: iface.hiz(channel)

This uses a single byte command with an optional response (only currently used for reads).
The command consists of a 2-bit opcode, 4-bit channel ID (0-15), a level, and an enable flag.
@whitequark - as discussed, feedback appreciated when you get to it (no hurry from me)

On reflection, I'm going to rework this to handle the OE signals separately (new opcode).
I'd also like to implement .set() and .clear() functions that will behave like pins |= v and  pins &= ~v respectively. Perhaps also an .eq() function that can optionally accept a bitmask to selectively update the pins.
__iand__() and __ior__() might be nice to have, but I'd need to figure out how to deal with the async side of things, and there's no way to implement the "equals"... perhaps properties with a setter could work, but I think that's getting into the weeds...
My rationale behind not sending a full bitmap was to avoid the host needing to track signal states - I know that what I've done is contrary to what @whitequark is probably thinking (re: "a FIFO that grabs 16 bits and distributes them across buffers"). The worst-case is currently a 16-byte write to set all pins, but comes with a minor benefit that single pin changes require a single byte, instead of 3 (e.g: opcode + 16-bit) - and I suspect the pin-by-pin approach will be the more typical use case for this applet(?) ... Happy to discuss and change it around if needs be.

My rationale behind not sending a full bitmap was to avoid the host needing to track signal states

I don't see this as particularly valuable--sending one byte costs as much as sending two bytes.

In general, I think the protocol should be based on bulk actions (i.e. "set all n pins to state") rather than individual actions (i.e. "set pin x to state")

Sure, I talked myself around to that last night already.

I think it's useful to have the output and output enable set at the same time

To clarify, would you have just "Read" and "Write+OE" as operations?
I was happy enough to have Write and OE separate, and put it on the user to call them in the correct (safe) order, much like MCU registers.

I don't see much point in having TOGGLE as an opcode

Sure - as the python-side will be tracking the pin states, then that's easy enough to resolve.

To clarify, would you have just "Read" and "Write+OE" as operations?

I think so--it seems like there's no reason not to.
I might also make GPIOInterface allow usage both like this:
gpio.set_hi(2)
gpio.set_lo(1)

as well as like this:
with gpio.multiple():
  gpio.set_hi(2)
  gpio.set_lo(1)

(It would be prohibited to read pins from within a multiple block.) This is very optional though.
At some point we should brainstorm/bikeshed function names and stuff, the ones above are just whatever I came up with on the spot.


abbr[title] with tooltip is deleting dotted underline styling

Prerequisites

[X] I have searched for duplicate or closed issues
[X] I have validated any HTML to avoid common problems
[X] I have read the contributing guidelines

Describe the issue
I use a ... abbreviation in text.
This is good because it provide context for YTD and other terms that not everybody knows.
Now, because in 2023 every human-computer interaction that takes more than 10ms is broken, and because browsers typically take 1,000ms to show that abbreviation text, I am using BS tooltips to show this abbreviation.
In this scenario, the tooltip will properly show on mouse-over. But now it is hiding the dotted underline styling that makes this feature discoverable.
Expected:

Actual:

Reduced test cases
Please try this as-is, and then when commenting out the script at bottom.
Repro: https://stackblitz.com/edit/github-rpfnqj-hsmnpo?file=index.html
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>Bootstrap demo</title>
    <link
<EMAIL_ADDRESS>      rel="stylesheet"
      integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM"
      crossorigin="anonymous"
    />

    BS is awesome

What operating system(s) are you seeing the problem on?
macOS
What browser(s) are you seeing the problem on?
Chrome
What version of Bootstrap are you using?
5.3.0

This is an interesting use case.
Indeed, Bootstrap Tooltip JS will use title and replace it with data-bs-original-title, and so the dotted default browser rendering will be broken because I suppose that  uses title to make the dotted rendering. Even the accessibility will be probably broken because the title of an  is read by screen readers.
Haven't tested it at all but you could maybe try something like this (kinda ugly) in the meantime (even if you'll probably have both tooltips: browser + Bootstrap):
BS is awesome


[Feature request]More ship status tokens

I would love for more ship status information, such as tokens in VA for if my landing gear is extended, if my cargo scoop is deployed.
I would also love for a boolean token if the ship I am in contains a docking computer or not for better automated docking.

There is no information on status of landing gear, lights, scoop etc. available.
Regarding the docking computer, the ship's module names are available as "Ship compartment  module" (you can see these with ctrl-shift-alt-5) so you could scan these to see if one of them is a docking computer and react accordingly.


Request for Comment : Addition of Geometry Courses in Core and Advanced OSSU/Math

Problem:
OSSU Math does not introduce geometry in its core curriculum and does not recommend any texts/courses in its Advanced Math
Duration:
January 12, 2022.
Background:
OSSU promises the equivalent of education an undergraduate education in Mathematics. In order to evaluate our recommended courses, we use the CUPM 2015 guideline that specifies number of mathematical areas a student should cover.
Let us visit Geometry  section of CUPM 2015.
CUPM 2015 basic recommendations state that

Every mathematics department should offer at least one undergraduate course devoted primarily to geometry. There will probably never be a consensus on what that course should cover. However, in Section 6 we offer sample syllabi for some of the many valid course choices that institutions might make. We also outline in Section 4 some of the important issues institutions should consider as they decide which geometry course, or courses, to offer.

Reference : CUPM 2015 Page 1

Let us jump to Section 6 for sample syllabi

One such course is A Survey of Geometries This course aims for breadth, while sacrificing some depth. It assumes that students do remem- ber some of the Euclidean geometry they learned in high school. The level of rigor is purposefully sacrificed in order to develop intuition and to cover some of the breadth of geometry.

Topics covered under this suggestion

Euclidean geometry
Analytic geometry
Hyperbolic geometry
Spherical geometry
Transformations
Symmetries
Projective geometry

Reference : CUPM 2015 Geometry Page 11

I suggest this book Euclidean Plain and Its Relatives for such a course

This book is meant to be rigorous, conservative, elementary, and mini- malist. At the same time, it includes about the maximum what students can absorb in one semester.Approximately one-third of the material used to be covered in high school, but not anymore.
The present book is based on the courses given by the author at the Pennsylvania State University as an introduction to the foundations of geometry. The lectures were oriented to sophomore and senior university students. These students already had a calculus course. In particular, they are familiar with real numbers and continuity. It makes it possible to cover the material faster and in a more rigorous way than it could be done in high school.

If we look at the Table of Contents of the book it covers

Euclidean Geometry
Hyperbolic Geometry
Spherical Geometry
Projective Geometry etc.

This book perfectly suits what above CUPM course suggests and can act as a foundation for advanced geometry courses.
Geometry Advanced Courses/Books
Upon reviewing the CUPM 2015. The resources to cover advanced courses in Advanced Geometry
To Learn Euclidean Geometry the book by Sir Euclid 's Euclid Elements is best in itself. A argument that can be raised here
Is It still worth it to study Euclid Elements today? To support this argument I suggest to read this quora answer
For Non-Euclidean Geometry I suggest this book Geometry with an Introduction to Cosmic Topology

What CUPM suggests
Non-Euclidean geometries. The discovery of non-Euclidean geometries was a foundation-shaking event in the history of mathematics. All mathematics majors, with the possible exception of those specializing in certain applied subdisciplines, should know about these developments and how they changed the human understanding of the relationship between mathematics and the real world. This could be part of a geometry course or it could be studied in some other course (such as a history of mathematics course). Ideally, students should know the examples of hyperbolic, elliptic, and spherical geometries.

About the book
From the preface:
Geometry with an Introduction to Cosmic Topology offers an introduction to non-Euclidean geometry through the lens of questions that have ignited the imagination of stargazers since antiquity. What is the shape of the universe? Does the universe have an edge? Is it infinitely big? This text is intended for undergraduate mathematics and physics majors who have completed a multivariable calculus course and are ready for a course that practices the habits of thought needed in advanced courses of the undergraduate mathematics curriculum. The text is also particularly suited to independent study, with essays and other discussions complementing the mathematical content in several sections.
Contents
An Invitation to Geometry
The Complex Plane
Transformations
Geometry
Hyperbolic Geometry
Elliptic Geometry
Geometry on Surfaces
Cosmic Topology

Also the review by MAA calls it “a masterfully written textbook.”
Another course suggested by CUPM 2015 is Differential Geometry

6.7 Differential geometry
The undergraduate differential geometry course should include theoretical and computational com- ponents, intrinsic and extrinsic viewpoints, and numerous applications:
18
• Geometry of curves in space, including the Frenet frame
• Theory of surfaces, including parameterizations, first and second fundamental forms, curva-
ture and geodesics
• The concluding part of the course could be a focus that depends on the interest of the instructor and students, such as the Gauss-Bonnet Theorem, the theory of minimal surfaces, or the geometry of space-time with applications to general relativity.
Ideally a course in differential geometry allows students to see the connections between such topics as calculus, geometry, spatial visualization, linear algebra, differential equations, and complex variables, as well as various topics from the sciences, including physics. The course may serve as an introduction to these topics or a review of them. The course is not only for mathematics majors—it encompasses techniques and ideas relevant to many students in the sciences, such as physics and computer science.

For this topic I suggest this book
A Course in Differential Geometry by SHARIPOV R.A.
What book says

This book is a textbook for the basic course of differential geometry. It is recommended as an introductory material for this subject. This book is devoted to the first acquaintance with the differential geometry. Therefore it begins with the theory of curves in three-dimensional Euclidean space E. Then the vectorial analysis in E is stated both in Cartesian and curvilinear coordinates, afterward the theory of surfaces in the space E is considered. The newly fashionable approach starting with the concept of a differentiable manifold, to my opinion, is not suitable for the introduction to the subject. In this way too many efforts are spent for to assimilate this rather abstract notion and the rather special methods associated with it, while the the essential content of the subject is postponed for a later time. I think it is more important to make faster acquaintance with other elements of modern geometry such as the vectorial and tensorial analysis, covariant differentiation, and the theory of Riemannian curvature. The restriction of the dimension to the cases n = 2 and n = 3 is not an essential obstacle for this purpose. The further passage from surfaces to higher-dimensional manifolds becomes more natural and simple.

Topics Covered by the book follows a lot what CUPM 2015 suggests.

Proposal
Add the above texts as following
Core Mathematics
Geometry

Courses
Duration
Effort
Prerequisites

Euclid Plain and Its Relatives
20 weeks
3-5 hours/week
Elementary Set Theory and Calculus 1C

Advanced Mathematics
Geometry

Courses
Duration
Effort
Prerequisites

Euclid Elements
13 weeks
6-8 hours/week
Mathematical Maturity

Geometry with an Introduction to Cosmic Topology
16 weeks
7-8 hours/week
Multivariable Calculus

Differential Geometry
8 weeks
4-5 hours/week
Multivariable Calculus

Every mathematics department should offer at least one undergraduate course devoted primarily to geometry.

I am concerned that we may have too many courses in Core Mathematics rather than too few. A statement that every university should offer an option is very different from an expectation that every university student should take a course.  The guidance for OSSU Core Math is:
"All OSSU Math students need to take all of these courses."
I took a moment to look at the math requirements at MIT, Stanford and Princeton. (To be clear, this analysis by comparison is one that I hope OSSU can avoid, as rationalizing a standard from dozens of examples of university curricula is much more difficult than following an established set of standards) Those departments have few courses that are required for all students in the department. Princeton is the only of the three that requires students take a course in Geometry (and even there the course can be substituted by topology or discrete math).
This state of affairs, where students have much wider latitude in choice than in other disciplines, seems reflected in the CUPM 2015, which is much less didactic about topics every graduate must have mastered.
I wonder if in the long term OSSU Math should move to a model that expects a very small set of courses recommended for all students (Core Math), a set of courses from which students must select at least N (Advanced Math?) and a further set of elective courses (Elective Math)?
Setting aside that rumination to focus on this RFC:
I don't see evidence that Geometry should be included in Core Math. I do see provided evidence that we should include Geometry resources in Advanced Math. I see evidence that the resources recommended are of high quality and I look forward to further discussion of them.

@aayushsinha0706 "Euclid Plane and its Relatives" and "Geometry with and Introduction to Cosmic Topology" are great sources. They are both well-written, modern, short but not too short, have a ton of figures, and decent amount of doable exercises. Excellent finds!

I don't think I can support reading Euclid's Elements as a direct source of learning.
It's true that it's an incredibly important historical text. But it is more appropriate for a History of Mathematics elective course. 1) It is written almost completely in text, without any of the modern notation and algebraic conventions we are used to, 2) as such, it would require a ton of guidance for a modern mind to decipher and understand (the website linked provides some of that but it's nowhere sufficient), 3) not all of the 13 books are about geometry, and 4) it would be a repetition of the axiomatic approach already covered in "Euclid Plane and its Relatives".

The "Course on Differential Geometry" text is not very good.
It's been translated from Russian, it's a bit dense and hard to understand, it packs a ton of material into about 130 pages, it goes into tensor fields and tensor products way too early (Russian texts like to do that in other fields too, like Operator Theory), and it has no exercises whatsoever (searching for the word "exercise" yields 0 results). Look at this:

This is already happening on Page 21. It also adds a lot of other implicit prerequisites to learning Diff Geo, such as the theory of quadratic forms and very strong abstract algebra (group and field theory). The Russian school of math prefers doing it this way. They use tensor fields as the basic machinery for a lot of different kinds of math.
The book makes no attempt to indicate what the prerequisites are, because the Preface says that it is the third in a series of 3 books that are meant to be used in sequence (the first book was never written apparently!). This notation and the machinery will be alien to someone who only finished Multivariable Calculus. It's possible to avoid tensor products, group and field theory ENTIRELY and build DIff Geo on other, much simpler machinery of Multivariable Calculus (searching for the word "tensor" in the textbook I mention below yields 0 results).

This is the go-to textbook for Diff Geo around the world:
Differential Geometry of Curves and Surfaces by Manfredo do Carmo
This is what I used in my undergrad, and it is also used by the MIT courses. Just to put things in context, this book reaches the Gauss-Bonnet theorem in 450 pages whereas the above text does in 130. It has tons of figures and exercises, to which solutions can be found online.
Unfortunately it is not free, but at least it is published by the "affordable math textbook publisher" Dover. I've been looking into free alternatives but could not find any satisfactory texts so far. The best I've found is this which the professor says he prefers to the do Carmo text. But this also starts out with Manifolds, some tensors, and a ton of abstract algebra, such as the General Linear group GL(n, R) and Special Linear group SL(n, R) in n-dimensions (these are not even covered by the Core AA courses). The do Carmo text has absolutely no prerequisites other than Multivariable Calculus (the definition of "manifold" occurs for the first time on page 431).

@waciumawanjohi To address your rumination, usually there is one Geometry course in undergraduate curricula, usually a 3rd or 4th year elective such as Differential Geometry or some other variant. Euclidean plane geometry is assumed to have been covered in high school, and the axiomatic approach to plane geometry is usually covered in a 1st year proofs/discrete math course. My recommendation would be: either figure out a good free resource for Diff Geo (or make a compromise with the Dover book, in which case we could even use the MIT courses) and use that as the only Geometry course, or use "Geometry with an Introduction to Cosmic Topology" as the only Geometry course.  (I'd like to point out that Diff Geo is my favorite subject of all time ever in anything, so I'm making a big compromise here! Depending on what we will do for Topology, some basic Diff Geo might be covered by the Topology course. Munkres has some stuff on it.)

@waciumawanjohi Ok upon reviewing CUPM 2015 . I guess I can be fine with not a compulsory geometry course.

I wonder if in the long term OSSU Math should move to a model that expects a very small set of courses recommended for all students (Core Math), a set of courses from which students must select at least N (Advanced Math?) and a further set of elective courses (Elective Math)?

According to me OSSU in the long term should make Core Math and breadth requirement of Advanced Math compulsory for all students and allow students to take further electives if they want to. Core Math in itself is way too light to be called an equivalent mathematics major.
For Geometry courses
I am not in the support of introducing just only one course in geometry. Students should be given choice between A survey of geometries, Non-Euclidean Geometry and Differential geometry.
For Euclidean Geometry Euclid's elements is still like a holy book for the subject. But I can understand why @spamegg1 don't recommend learning euclidean geometry directly from it.
From Differential Geometry I did found a playlist on from Professor NJ Wilderberg from UNSW Sydney
We can offer them as supplementary lectures, same as we did with Analysis.

While @spamegg1  mentioned about Topology I am having a different plan to introduce topology as a separate advanced maths course in a different RFC
For Topology. I am planning to introduce Topology without tears. It has some really good reviews on Goodreads. And also author of the book made a really good effort to make it freely available.

@aayushsinha0706 Your proposal has responded to all of the comments offered and there have been no new comments. I encourage you to make a PR for the changes you propose here and I will merge it in.

Closed by #23


Change Detection Benchmarks

What problem does this solve or what need does it fill?
bevy_ecs's benchmarks currently do not cover change detection use cases.
What solution would you like?
Add benchmarks for added and changed components.
What alternative(s) have you considered?
Flying blind into change detection optimizations.

I'll try to tackle this one.


Memory overflow problem

When I train using the sdfstudio dataset converted from the nerfstudio dataset, I notice that the memory consumption is very high during data loading, continuously increasing until the memory is fully occupied. Given that my computer has 128GB of RAM, I'm confident that there's a bug present. Currently, I'm training directly with the nerfstudio dataset, and I'm unsure if this will impact the training results.

Same thing. It would be nice to see something hierrarchical, or merging


Waveform Clipping at 1000

Hello Dear
I was stuck at clipped waveform as shown in attached figure,

Waveform is keep clipping at 1000. If I change power to 3.3v from 5v, waveform is not having clear QRS region

Hello Dear,
The signal that Pulse Sensor provides is an analog signal, and the A-D converter in Arduino is 10bit. So it will read a signal from 0 (0V) to 1023 (5V) only. The signal is clipping because it is very large. You may want to try a different part of your body? Or different pressure of the sensor on your skin?
Also bear in mind that the Pulse Sensor is a PPG (https://en.wikipedia.org/wiki/Photoplethysmogram), and NOT an ECG. You will not see the QRS waveform with the Pulse Sensor.

Thank You, that explains a lot.


perf(receipts): Receipt compression.

poc for compression of data. It compresses receipts for around x2.2.
Tests are done on sepolias first 3M blocks:
Plain receipts without compressions are 1.5gb while compressed receipts are: 663.8mb
Compressed:
|-------------------|-----------|--------------|------------|----------------|------------|
| CanonicalHeaders  | 3345845   | 45           | 20047      | 0              | 313.9 MiB  |
| HeaderTD          | 3345845   | 7            | 5318       | 0              | 83.2 MiB   |
| HeaderNumbers     | 3345845   | 66           | 15276      | 0              | 239.7 MiB  |
| Headers           | 3345845   | 446          | 215192     | 0              | 3.3 GiB    |
| BlockBodyIndices  | 3345845   | 7            | 4652       | 0              | 72.8 MiB   |
| BlockOmmers       | 49770     | 4            | 1862       | 0              | 29.2 MiB   |
| BlockWithdrawals  | 354923    | 14           | 11436      | 0              | 178.9 MiB  |
| TransactionBlock  | 1517533   | 4            | 2413       | 0              | 37.8 MiB   |
| Transactions      | 12528489  | 413          | 373760     | 655795         | 15.7 GiB   |
| TxHashNumber      | 48297     | 1            | 282        | 0              | 4.4 MiB    |
| Receipts          | 5953985   | 44           | 38354      | 4086           | 663.8 MiB  |
| PlainAccountState | 1036957   | 13           | 4156       | 0              | 65.1 MiB   |
| PlainStorageState | 7636174   | 2848         | 37046      | 0              | 623.3 MiB  |
| Bytecodes         | 58823     | 38           | 10974      | 31955          | 671.4 MiB  |
| AccountHistory    | 16913     | 1            | 424        | 0              | 6.6 MiB    |
| StorageHistory    | 1194      | 1            | 22         | 0              | 368 KiB    |
| AccountChangeSet  | 8450678   | 51           | 26423      | 0              | 413.7 MiB  |
| StorageChangeSet  | 28465943  | 8898         | 106753     | 0              | 1.8 GiB    |
| HashedAccount     | 1036957   | 22           | 5429       | 0              | 85.2 MiB   |
| HashedStorage     | 7636174   | 2869         | 36705      | 0              | 618.3 MiB  |
| AccountsTrie      | 74015     | 1            | 703        | 0              | 11 MiB     |
| StoragesTrie      | 518092    | 440          | 7622       | 0              | 126 MiB    |
| TxSenders         | 12528489  | 34           | 29137      | 0              | 455.8 MiB  |
| SyncStage         | 13        | 0            | 1          | 0              | 16 KiB     |
| SyncStageProgress | 3         | 0            | 1          | 0              | 16 KiB     |

Plain:
| Table Name        | # Entries | Branch Pages | Leaf Pages | Overflow Pages | Total Size |
|-------------------|-----------|--------------|------------|----------------|------------|
| CanonicalHeaders  | 3345845   | 45           | 20047      | 0              | 313.9 MiB  |
| HeaderTD          | 3345845   | 7            | 5318       | 0              | 83.2 MiB   |
| HeaderNumbers     | 3345845   | 66           | 15276      | 0              | 239.7 MiB  |
| Headers           | 3345845   | 446          | 215192     | 0              | 3.3 GiB    |
| BlockBodyIndices  | 3345845   | 7            | 4652       | 0              | 72.8 MiB   |
| BlockOmmers       | 49770     | 4            | 1862       | 0              | 29.2 MiB   |
| BlockWithdrawals  | 354923    | 14           | 11436      | 0              | 178.9 MiB  |
| TransactionBlock  | 1517533   | 4            | 2413       | 0              | 37.8 MiB   |
| Transactions      | 12528489  | 413          | 373760     | 655795         | 15.7 GiB   |
| TxHashNumber      | 5953985   | 89           | 25537      | 0              | 400.4 MiB  |
| Receipts          | 5953985   | 77           | 68916      | 32347          | 1.5 GiB    |
| PlainAccountState | 1036957   | 13           | 4156       | 0              | 65.1 MiB   |
| PlainStorageState | 7636174   | 2848         | 37046      | 0              | 623.3 MiB  |
| Bytecodes         | 58823     | 38           | 10974      | 31955          | 671.4 MiB  |
| AccountHistory    | 16913     | 1            | 424        | 0              | 6.6 MiB    |
| StorageHistory    | 561368    | 62           | 10397      | 0              | 163.4 MiB  |
| AccountChangeSet  | 8450678   | 51           | 26423      | 0              | 413.7 MiB  |
| StorageChangeSet  | 28465943  | 8898         | 106753     | 0              | 1.8 GiB    |
| HashedAccount     | 1036957   | 22           | 5429       | 0              | 85.2 MiB   |
| HashedStorage     | 7636174   | 2869         | 36705      | 0              | 618.3 MiB  |
| AccountsTrie      | 86347     | 1            | 823        | 0              | 12.9 MiB   |
| StoragesTrie      | 606838    | 514          | 8846       | 0              | 146.2 MiB  |
| TxSenders         | 12528489  | 34           | 29137      | 0              | 455.8 MiB  |
| SyncStage         | 13        | 0            | 1          | 0              | 16 KiB     |
| SyncStageProgress | 3         | 0            | 1          | 0              | 16 KiB     |

Additional time of compression is insignificant:
Plain:
2023-04-23T16:06:58.169299Z  INFO Stage committed progress stage=Execution checkpoint=1000000
2023-04-23T16:13:39.837735Z  INFO Stage finished executing stage=MerkleExecute checkpoint=3000000
401s

Compressed:
2023-04-23T15:56:30.099959Z  INFO Executing stage stage=Execution from=1000000
2023-04-23T16:03:18.529737Z  INFO Stage committed progress stage=Execution checkpoint=3000000
408s

Does it make sense to compress the receipts at all given we eventually have to move blooms and logs into their own tables? That would reduce the overhead we are seeing from overflow pages

@onbjerg @gakonst This was just a simple PoC to show the effect of generic compression, we still need to check what kind of compression is best for our use case and what tables we want to compress.
Maybe those tables are just tx and receipts, maybe all other tables except for some ( Merkle tree as they are hashes, and plain state as we need very fast access?) are good to compress.
About naming, it will depend on the final implementation (or even compression lib that we use), maybe it is possible (good idea) to embed this inside main_codec macro that we have. pinging @joshieDo

Closing this as other work on this topic is in progress.

yep - ref #2483


Add spring factories configuration

This PR adds spring factories to enable auto configurations for beans.

Not required as using @ComponentScan on @EnablefiegnClient in claim-store side.


MaxShard value incorrect on cluster startup

Description
I'm proposing that we store max slice and inverse max slice with the Index .meta file.
Currently thecluster wide maxslice value is determined via gossip.  During startup each node's default state is the max slice it contains, and as we grow to more slices there is larger dispersion of slices per node.  Over several gossip iterations the nodes will coalesce on the correct value, but the time to achieve this grows with the number nodes, number of slices, and the memberlistConfig.PushPullInterval.  I would like to see the cluster at startup achieve agreement on this value sooner.
Success criteria (What criteria will consider this ticket closeable?)
Max Slice is stored and retrievable from the index .meta file.  Cluster starts up immediately with correct max slice value.

Still running into this problem. I clarified the title and tagged as a bug which I think is more accurate. We should get this fixed soon.

@codysoyland I believe the work currently being done in #593 will address this, but we should confirm once that's in review.

@travisturner how does that fit together with #1008 - are these three tickets basically all the same?

@jaffee I believe they're all basically the same thing. #1008 seems to be a summary of the issue and represents the current work better than just #593. This issue (#916) is a specific part of the implementation.

Fixed in #1600

@codysoyland I left this open because I wasn't 100% sure that #1600 addressed this. Can you make sure that there's a test covering this case?

fixed by #1663


Individual: select languages for profile when creating

@greatislander I think we agreed that individuals don't need to select languages to include as a part of the page creation flow, but they'll have a link to go to that page from the edit screen if they need to. If that's your understanding too, we can close this.


[BUG] Error notification is not shown when just a single file is dropped in zone

Bug Description
Error notification is not shown when just a single file is dropped in zone
Bug Reproduction
drop an any non geospatial file

Bug Impact
No response
Bug Screenshots
No response
Bug References
No response
Bug System Information

OS: [e.g. Windows 10]
Browser: [e.g. Google Chrome, Firefox]

┆Issue is synchronized with this Wrike task by Unito

Closing as it was fixed by #2088


Creating a Virtual Network Tap via Rest API says subscription not registered for this feature

I am referring to the following document: https://docs.microsoft.com/en-us/rest/api/network-gateway/virtual-network-taps/create-or-update
When I try to run this in postman, after authentication, I receive the error Subscription xxx is not registered for feature Microsoft.Network/AllowVirtualNetworkTap required to carry out the requested operation.
However this subscription already has the feature "Microsoft.Network" registered and i have already unregistered and reregistered. Feels like something is missing

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

@yAnn1x
Since this issue isn't directly related to improving our docs, and to gain a better understanding of your issue, I'd recommend working closer with our support team via an Azure support request. Or you can leverage our Q&A forum by posting your issue there so our community, and MVPs can further assist you in troubleshooting this issue.
Thank you for your time and patience!


Suggestions stay open

Following situation:

React tags instance
Backed by a list of suggestions

Following sequence:

Put cursor in input box
Start typing until suggestion appears
Click outside of input

Actual result:

Text so far is removed (or stays behind, depending on whether I provide handleInputBlur callback
Suggestions remain behind

Expected result:

Text so far is removed (same as above)
Suggestions are removed

As mentioned, I've experimentedwithhandleInputBlur`, but that doesn't seem to solve this much.

FWIW, using this as a workaround now:
constructor(props) {
  super(props);
  this.focused = false;
}

render() {
  const suggestions = ...;
  const filteredSuggestions = this.focused ? suggestions : [];
  return (
    <div>
      <ReactTags tags=...
                 handleDelete=...
                 handleAddition=...
                 handleDrag=...
                 handleInputBlur={(e) => {
                   this.focused = false;
                   this.forceUpdate();
                 }}
                 handleInputChange={(e) => {
                   this.focused = true;
                   this.forceUpdate();
                 }}
                 suggestions={filteredSuggestions}/>
    </div>


Soft delete model with timestamps on false, eloquent still tries to update timestamps

Laravel Version: 5.4.26
PHP Version: 7.0.1, 7.1.1
Database Driver & Version: MySql 5.6.35

Description:
When soft deleting a model with timestamps (created_at, updated_at) set to off, eloquent still tries to update the updated_at column. The bug was introduced in version 5.4.26, it still works in 5.4.25
Steps To Reproduce:
Create a soft deleting model with no timestamps columns and call delete on it

Just found out this is not a bug
https://medium.com/laravel-announcements/laravel-v5-4-26-released-4d604e401b61


Added functionality to give a description in the progress bar

tqdm allows a description to be given to the progress bar, I find this is helpful in packages where multiple different progress bars are used. This PR allows a description to be added to a emcee progress bar based on a string passed to to the sample function.

Thanks! What about adding a progress_kwargs dictionary or something to allow other keyword arguments beyond just desc?

That is a cleaner way. I have put it in like this, happy to know your thoughts.

Looks good to me! Thanks!!

@dfm could I be a pest and ask for a pypi release with this feature? I can't get my package onto pypi currently as it requires this feature and pypi doesn't like direct dependencies to git repos apparently.

Absolutely! I'll do that now.

v3.1.1 should be on PyPI shortly (as soon as this finishes running)

Amazing! Thanks for your help 🙏🏻


[Feature]: Allow upload of images

Guidelines

[X] I agree to follow this project's Contributing Guidelines.

Description
Right now we only allow image urls to be shared but it would be better if we actually allowed people to upload the actual image files with their data upload and then we could reference the image name in the files to make sure that they are present in the dataset.
Problem
Image file upload not supported.
Proposed Solution
Allow upload of images in the portal, perhaps inside of a zip folder.
Alternatives Considered
Don't validate the images. Require others to host them.

Ended up making a workaround, we just transform the URL addresses to HTML to view the image inside of the table. Also added support for HTML links to check. https://github.com/Moore-Institute-4-Plastic-Pollution-Res/Microplastic_Data_Portal/commit/faae2e86634a69adcc2222502cde359b353327f0

Actually, we still need to make a way for the files to be downloaded from the URL address when being added.

added https://github.com/Moore-Institute-4-Plastic-Pollution-Res/Microplastic_Data_Portal/commit/f4427bf66a680411f0c73c8393dd1517a7c68244


release 1.4.1

docket:

Repair abi prefixing for PyPy. #483
Repair .egg resolution for platform specific eggs. #486
Eliminate the python3.3 shard. #488

https://pypi.org/project/pex/1.4.1/


Added support to read dictionary-encoded required parquet pages

Addresses  #668 .

Looks great, thanks!


chore: bump yggdrasil

Should have 32 windows support

ubuntu fail but apart from that :shipit:

Guess who's back? Back again? Flaky test


Kosaraju's Algorithm

Overview

Write code for Kosaraju's Algorithm in C++.
Add that code into a directory named "Graphs", if the directory doesn't exist, create one and add the code file.

Please take care of these things while creating the pull request.

The code file was added to the correct directory.
Code quality looks good.
The programming language used is the same as mentioned in the issue.

Hi I can work on this, please assign it to me.

I have written the code. I will create a PR after 1st October because of Hacktoberfest.

Pull request created, kindly look into it


How to represent VersionCode in the MedCom FHIR messages

The versionCode represents the version of the profile.
The task is to find the FHIR way to handle the version id

The FHIR way is described here (snippet from https://www.hl7.org/fhir/versioning.html#mp-version). Are we sure that we want to do this? @medcomire @ovi-medcom
2.8.3 Version Specific Profile
There are some circumstances where applications handle 'naked' resources - that is, resources where there is no wrapping envelope to carry a mimetype version parameter, nor any suitable parallel location to store the version. The most obvious circumstance is when resources are stored in files, though this may arise in other circumstances due to (legacy) application or protocol design.
When there's no other alternative, the version has to be in the resources itself, and applications reading the resource have to scan the resource to determine the version and then read the resource as the correct version.
In these cases where the version must be placed in the resource itself, this is done by indicating that the resource conforms to specific version in meta.profile:
{
"resourceType" : "Patient",
"meta" : {
"profile" : ["http://hl7.org/fhir/3.0/StructureDefinition/Patient"]
}
}

The FHIR way is described here (snippet from https://www.hl7.org/fhir/versioning.html#mp-version). Are we sure that we want to do this? @medcomire @ovi-medcom
2.8.3 Version Specific Profile
There are some circumstances where applications handle 'naked' resources - that is, resources where there is no wrapping envelope to carry a mimetype version parameter, nor any suitable parallel location to store the version. The most obvious circumstance is when resources are stored in files, though this may arise in other circumstances due to (legacy) application or protocol design.
When there's no other alternative, the version has to be in the resources itself, and applications reading the resource have to scan the resource to determine the version and then read the resource as the correct version.
In these cases where the version must be placed in the resource itself, this is done by indicating that the resource conforms to specific version in meta.profile:
{
"resourceType" : "Patient",
"meta" : {
"profile" : ["http://hl7.org/fhir/3.0/StructureDefinition/Patient"]
}
}

We have to define a place for us and vendors to unified inspect the version of the FHIR message.

We have to define a place for us and vendors to unified inspect the version of the FHIR message.

Issue fixet in #69
1.0 has been added to the URI

Issue fixet in #69
1.0 has been added to the URI


Add playoutDelayHint to webrtc receiver for smoother video playback

In general the idea is to alleviate stuttering that can occur even
without packet loss due to inconsistent packet timing by adding a small
buffer before playback.
This specific setting seems only partially supported and has changed
names several times. In the latest extensions spec[1], it is
defined as simply playoutDelay but only the slightly older name
playoutDelayHint property appears to have any effect on my testing for
Chrome 99.0.4844.51 on Windows 10. There appears to be an open issue to
add support for Firefox[2].
[1] https://w3c.github.io/webrtc-extensions/#rtcrtpreceiver-interface
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=1592988

Since this adds latency it may be more desirable to make it optional or add it to the configuration, but I will leave that up to maintainers. I also think it's somewhat (but not wholly) redundant if https://github.com/GRVYDEV/Lightspeed-webrtc/issues/30 is implemented.
And lastly I'll just emphasize that this will not fix all stuttering. Specifically it will only address stuttering that occurs even without packet loss; any stuttering caused by packet loss will remain.


Bot using 443 port

The bot for some reason is using port 443, and that makes me unable to run a webserver.
Is it really needed?

I think this isn't an issue afterall, i was having issues of not beeing able to start lighttpd serving https becouse the 443 port was in use i then saw:
 lsof -i :443
COMMAND    PID     USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
node       505     root   12u  IPv4<PHONE_NUMBER>      0t0  TCP <IP_ADDRESS>:56319->ec2-52-90-64-91.compute-1.amazonaws.com:https (ESTABLISHED)
node       505     root   13u  IPv4<PHONE_NUMBER>      0t0  TCP <IP_ADDRESS>:52061->ec2-54-197-21-112.compute-1.amazonaws.com:https (ESTABLISHED)

Which gave me a missconception.

Hi, no worries. slack-irc shouldn't really bind any ports at all, so if it does - that's a bug.


Support Server Side Rendering

I would like to use vue-cal in my gridsome project, but currently to do so I have to wrap it in <ClientOnly> tags as the component does not support SSR. This would be a very appreciated feature!

@BernardZhao, thanks for your feedback.
I will have a look after the V2 release.

Thanks for considering this. Once I get the bandwidth, I'll see if I can help myself. I will probably just follow this guide.

Hello,
We're using vue-cal with nuxtJS, but it's not working, we've some chunks failing to load (about i18n).
I think you've to test with NuxtJS if you're considering SSR.

Hi @Nainterceptor,
I've quickly tried it in dev mode and get no error, please provide a sample of code or reproduction link, and some details about when exactly does it break, so I can investigate from there.

I haven't seen any particular problem when I tried, but I am no Nuxt expert.
If anyone can reproduce the problem and can give me the step by step to reproduce, I will work from the errors.
Any help is welcome.

Not sure if anything changed, but I tried the latest version of this library and found that it works perfectly in Gridsome. It seems to be working fine now, and I'm not sure what was obstructing this before.

Good Day,
I was able to reproduce this when showing times, which is able to be addressed with the <client-only> tags, and again when querying for data. For whatever the server hangs with a file lock on .nuxt\views
Locks up after first load
<template>

		<vue-cal :time-step="30" small :events="events" selectedDate="2018-11-16" />

</template>

Does not lock up
<template>

		<client-only>
    		<vue-cal :time-step="30" small :events="events" selectedDate="2018-11-16" />
		</client-only>

</template>

I am using nuxt 2.11.0 w/ typescript 3.7.5
After generation, the page behaves correctly.

Not sure if anything changed, but I tried the latest version of this library and found that it works perfectly in Gridsome. It seems to be working fine now, and I'm not sure what was obstructing this before.

After more investigation, it seems that it works in Gridsome in development mode, but not during a build. The build gets stuck in the rendering HTML stage, as you can see in these Netlify logs:
4:05:53 AM: > gridsome build
4:05:54 AM: Gridsome v0.7.12
4:05:54 AM: Initializing plugins...
4:05:57 AM: Load sources - 0.92s
4:05:57 AM: Create GraphQL schema - 0.07s
4:05:57 AM: Create pages and templates - 0.1s
4:05:57 AM: Generate temporary code - 0.15s
4:05:57 AM: Bootstrap finish - 3.58s
4:05:57 AM: Compiling assets...
4:06:26 AM: Compile assets - 29.04s
4:06:28 AM: Execute GraphQL (126 queries) - 1.32s
4:06:28 AM: Write out page data (126 files) - 0.05s
4:08:27 AM: FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

The only way to get around this is once again wrapping vue-cal in ClientOnly tags, rendering it on the client.

After reading this, I am thinking the problem is probably the fact that timeouts are never destroyed, causing the lockup. Moving the code in the index created() hook to mounted might fix this.

Hi @BobGneu, @BernardZhao, thanks your investigation.
I'd like to help on that once the V3 is released in stable version.
@BernardZhao if you want to benefit from SSR with Vue Cal, not using the client-only tag, then please create a bare project that I can clone with Nuxt & Vue Cal latest versions.
Also give me the exact steps to reproduce and command to build so that it will save me some time searching.
Hopefully it can be sorted without too much refactoring.

Here is a bare project I created using Gridsome and Vue Cal, which is my use case.


Add description field to the migration plan and add support for execution from specified step

Description of your changes
This PR:

Adds description field to the migration plan for a better user interface.
Adds support for execution from specified step

I have:

[x] Read and followed Crossplane's contribution process.
[x] Run make reviewable to ensure this PR is ready for review.
[ ] Added backport release-x.y labels to auto-backport this PR if necessary.

How has this code been tested
Generated and reviewed migration plan
- name: backup-managed-resources
  description: Backing up Managed Resources
  type: Exec
  exec:
    command: sh
    args:
        - -c
        - kubectl get managed -o yaml > backup/managed-resources.yaml
  manualExecution:
    - sh -c "kubectl get managed -o yaml > backup/managed-resources.yaml"
- name: backup-composite-resources
  description: Backing up Composite Resources
  type: Exec
  exec:
    command: sh
    args:
        - -c
        - kubectl get composite -o yaml > backup/composite-resources.yaml
  manualExecution:
    - sh -c "kubectl get composite -o yaml > backup/composite-resources.yaml"
- name: backup-claim-resources
  description: Backing up Claims
  type: Exec
  exec:
    command: sh
    args:
        - -c
        - kubectl get claim --all-namespaces -o yaml > backup/claim-resources.yaml
  manualExecution:
    - sh -c "kubectl get claim --all-namespaces -o yaml > backup/claim-resources.yaml"

@ulucinar I made the changes you suggested about the wording in the descriptions. However, I would like to say a few things about the fact that it contains more information.
It may be good to provide as much information as possible in the Description, but I think it is sufficient to set the summary information as a title in its current form. An example output is in this PR. (Of course, this is an older version, the wording has been improved.)