raphlinus
constructive-symmetry
raphlinus | constructive-symmetry | |
---|---|---|
10 | 6 | |
- | 10 | |
- | - | |
- | 5.5 | |
- | about 2 months ago | |
- | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
raphlinus
-
Moving from Rust to C++
That's surprising, given the legendary sense of humor of the C++ community.
-
Announcing Bezier-rs: computational geometry algorithms for Bézier paths (seeking code review and boolean ops help)
I have some ideas on how to do boolean ops, some of which is written up in a blog post issue, and for which I have some code locally. In particular, the parabola estimate seems much more efficient than the usual fat line approach. I also have a sketch of quadratic/quadratic intersection in kurbo#230.
-
The Beauty of Bézier Curves
I am. It is relevant to the topic, and I cite it in the (now two year old) outline for the blog post I intend to write on the topic[1].
[1]: https://github.com/raphlinus/raphlinus.github.io/issues/40
-
Raph’s reflections and wishes for 2023
I rewrote that paragraph, as I realize it comes across too contentious. Thanks all for the feedback!
-
Rust GUI library for video playback?
To do video properly requires integration with the platform compositor. This is a fiendishly difficult problem, and I know of no serious effort to solve it. I have an outline of a blog post on the topic, and hope to publish it before too long.
-
Parallel curves of cubic Béziers
I am working on this problem too, and have an issue on my blog with an outline of the writeup. Stay tuned!
-
The Toxic Culture of Rejection in Computer Science
> PS, is your monoid work online, is it this https://arxiv.org/abs/2205.11659 ? I'm interested in monoids on GPUs.
Yes, the draft is on arXiv, and I have a blog post in the pipeline[1] explaining it to a more general audience.
And thanks for the other advice, I'll consider it!
[1] https://github.com/raphlinus/raphlinus.github.io/issues/66
-
Druid app for public transport data
The new xilem async architecture is designed to integrate much more finely with async. I have an outline of a blog post in the queue but am juggling a lot of things right now. Expect to see some updates, but not super soon.
-
Bevy and Dioxus are collaborating on stretch2: a revived UI layout algorithm
This is a hard problem and one of the hardest parts is figuring out scope. I have an upcoming blog post which will touch on some of the issues. In any case I'd love to see some progress on larger ecosystem collaboration.
-
Removing characters from strings faster with AVX-512
The short answer is no, but the long answer is that this is a very complex tradeoff space. Going forward, we may see more of these types of tasks moving to GPU, but for the moment it is generally not a good choice.
The GPU is incredible at raw throughput, and this particular problem can actually implemented fairly straightforwardly (it's a stream compaction, which in turn can be expressed in terms of prefix sum). However, where the GPU absolutely falls down is when you want to interleave CPU and GPU computations. To give round numbers, the roundtrip latency is on the order of 100µs, and even aside from that, the memcpy back and forth between host and device memory might actually be slower than just solving the problem on the CPU. So you only win when the strings are very large, again using round numbers about a megabyte.
Things change if you are able to pipeline a lot of useful computation on the GPU. This is an area of active research (including my own). Aaron Hsu has been doing groundbreaking work implementing an entire compiler on the GPU, and there's more recent work[1], implemented in Futhark, that suggests that that this approach is promising.
I have a paper in the pipeline that includes an extraordinarily high performance (~12G elements/s) GPU implementation of the parentheses matching problem, which is the heart of parsing. If anyone would like to review a draft and provide comments, please add a comment to the GitHub issue[2] I'm using to track this. It's due very soon and I'm on a tight timeline to get all the measurements done, so actionable suggestions on how to improve the text would be most welcome.
[1]: https://theses.liacs.nl/pdf/2020-2021-VoetterRobin.pdf
[2]: https://github.com/raphlinus/raphlinus.github.io/issues/66#i...
constructive-symmetry
- Questions similar to Collatz in their simplicity to understand the premise?
-
Venturing into advanced areas of maths without proper prerequisites is magical
That's one thing I had in the back of my mind when I was developing the metaphor of God's Textbook of Mathematics, which understands exactly where a student is at and modifies its presentation accordingly, in my essay "Kevin Bacon and the Stern-Brocot Tree"
-
If one textbook for all of the (known) mathematics existed, how would the table of contents look?
You might be very interested in my essay, Kevin Bacon and the Stern-Brocot tree, in which I build a similar metaphor, though my focus is guessing what the very beginning of the book looks like.
-
Parallel curves of cubic Béziers
I have a small sample of what I did, as a mechanical calculator for the dihedral group D_6 available in this repo
-
my 5 year old son...
I have been working on this exact question. My answer is not quite ready for children, but if you can put some legwork in, you might be able to bridge some of the gaps. You can preview my answer here: https://github.com/constructive-symmetry/constructive-symmetry
What are some alternatives?
sprawl - A high performance Rust-powered layout library [Moved to: https://github.com/DioxusLabs/taffy]
morphorm - A UI layout engine written in Rust
gtfs_manager - A GUI for viewing and editing GTFS data
Graphite - 2D raster & vector editor that melds traditional layers & tools with a modern node-based, non-destructive, procedural workflow.
maplibre-rs - Experimental Maps for Web, Mobile and Desktop
rusty-dos - A Rust skeleton for an MS-DOS program for IBM compatibles and the PC-98, including some PC-98-specific functionality
dioxus - Fullstack GUI library for web, desktop, mobile, and more.