Skip to content

Bunch of old patches #28

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 9 commits into from
Closed

Conversation

dcoutts
Copy link
Contributor

@dcoutts dcoutts commented Sep 27, 2024

These are patches I had locally from a couple years ago that never made it to the upstream repo.

Some rebasing & edits may be needed to make them work in the current code.

dcoutts and others added 9 commits December 1, 2022 15:12
The link utilisation pie chart is always rather small, and that's
because it has to be scaled down to fit the rather large labels.
So make the labels shorter.
Instead of using screen coordinates in the sim output, use virtual
positions and a declared world size. Then scale to the screen output in
the final rendering.

This allows fitting to the screen size more naturally, without needing
to use combinators like LayoutScaleFit which scale everything, not just
positions.
Use a proper Point type for coordinates, and a common world shape type
for the size of the simulated world.

Switch the P2P sim code from using DiffTime to Double as the
representation of Latency. Also switch from using a (1,1) unit square as
the virtual simulated world dimensions, to using the dimensions given as
the latency and returning that in the P2PTopography. This eliminates a
whole set of coordinate transformations, which is a source of bugs.
This is a better approximation of the internet: links go round the world
but not over the poles. It should reduce the average link latency and so
improve diffusion times.
In the P2P graph construction. Previously it was O(n^2), now it's
(average time) O(log k * log n) for k neighbours out of n nodes.
This uses a K-D tree, from the kdt package.

https://en.wikipedia.org/wiki/Nearest_neighbor_search
https://en.wikipedia.org/wiki/K-d_tree
The pre-processing for the perfect diffusion time is O(n^3) so is no
good for large graphs.
This allows multiple lines with proper text wrapping.
The cylindrical world gets better diffusion times, and it also
corresponds more closely to the internet which is connected around the
middle but not over the poles.
@Saizan
Copy link
Contributor

Saizan commented Oct 1, 2024

By default, secrets are not passed to workflows triggered from forks, including Dependabot

@wenkokke seems like PRs from forks won't be able to pass checks because they will lack credentials.

@wenkokke wenkokke mentioned this pull request Oct 2, 2024
@wenkokke wenkokke closed this Oct 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants