raphlinus
Graphite
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...
Graphite
- 3D and 2D: Testing out my cross-platform graphics engine
-
Canva acquires Affinity, its biggest acquisition, to compete with Adobe
There is also Graphite (https://graphite.rs/) which, unlike Gimp, has a modern architecture and very ambitious goals (Blender for 2D basically).
-
Any good beginner open source projects for a guy with a math background?
If you're interested in either computational geometry, layout/packing/constraints, or functional programming language concepts, those are all the math-related concepts that we're currently interacting with for Graphite, a 2D vector graphics editor that's aiming to become the next Blender (but for 2D instead of 3D). If that sounds interesting, I'd love to help get you started if you want to join our Discord and I can explain the math-related work that we need to get done. Cheers!
- Graphite: 2D Raster and Vector Editor
-
Things I wish I knew before moving 50K lines of code to React Server Components
Not sure which web-based spreadsheet app you're talking about, because there are many that do use these frameworks. Here's a PS/AI clone built with a Svelte frontend: https://graphite.rs
- Redefining state-of-the-art graphics editing
- Graphite: Open-source raster and vector 2D graphics editor
- Graphite: In-development raster and vector 2D graphics editor that is FOSS
-
What’s everyone working on this week (25/2023)?
Wanted to contribute to a good Rust-based project last week, started searching and found a good Reddit thread featuring several great projects. Looked at and found Graphite. I liked the concept though I know almost nothing about graphic design.
-
New release for the Rust diffusers crate (Stable Diffusion in Rust + Torch), now with basic ControlNet support!
I'm currently trying to decide on the SD server to deploy with Graphite, both for running locally (with Tauri desktop builds) and for us to host on a server for users.