back
user profile

raphlinus

13,685karma·1,846submissions·March 7, 2014
about
I do research on fundamental UI technology and 2D graphics, with a focus on Rust and fonts. @raph@mastodon.online
recent activity (1,846 total)
comment
That was my first attempt at a PhD thesis. The one that actually got me over the line was the second attempt, on spirals and splines. Of course this was all years ago.
13h ago·view thread
comment
Elastica curves have only three parameters, compared with four for cubic Béziers, Spiro curves, and the new hyperbezier. The easiest way to understand that limitation is to consider the parallel curve…
19h ago·view thread
comment
This is future work, but I expect it to go fairly well. One encouraging sign is that there are parts of the parameter space where you do get an exact solution: circular arcs and circle involute. Anoth…
20h ago·view thread
comment
Super good questions. First, for hair rendering you've got a 3D trajectory, which Béziers can handle just fine, but I'm not sure about these spirals. I do have a chapter in my thesis and the…
21h ago·view thread
comment
There are two separate questions here. One is how much moving control points creates expected changes in the same direction. Béziers nail this, as the position of a point at t is a linear combination …
22h ago·view thread
comment
I'll try to answer some of these questions. Yes, there are regions of the parameter space where moving a control point has vanishing effect on the curve shape. I'm not thrilled about this an…
23h ago·view thread
comment
As a clarification, the hyperbezier curve can do a loop, but I deliberately chose not to make that accessible in the parameter mapping. I couldn't figure out how to do it with any reasonable co…
23h ago·view thread
comment
Not yet.
23h ago·view thread
comment
This is basically the goal of fearless_simd, but of course achieving the same level of maturity will take time.
5d ago·view thread
comment
I was curious about this and had a look. The code doesn't look much better than what a good C compiler might produce, and I found quite a few opportunities to optimize. It doesn't look much …
7d ago·view thread
comment
If you're interested in HDMI audio, I have code for that lying around. The current best Rust source is in [1], but I also have a local branch with hand-tuned asm for the terc4 encoding. It's…
9d ago·view thread
comment
Entirely fair, $1 is just the chip, not the board. No question the ESP32-S3 is incredibly good value.
21d ago·view thread
comment
If you want to do this at the $1 price point, you can on RP2350, albeit with some limitations. In particular, it maxes out at full speed (12Mbps). The trick is to use the on-chip USB peripheral for on…
21d ago·view thread
comment
Actually it's not true for the hyperreals either, though this is a common misconception. It's extremely easy for me to believe that an llm would produce a "proof" and that people w…
25d ago·view thread
comment
There are two Sams here, the Microsoft one and the C64 one. I don't believe there's any connection between the two other than the name. According to [1], the weight of a modern runnable vers…
28d ago·view thread
comment
The font is Roboto Mono, not Consolas. There's something else a lot stranger going on, though. It is a proper monospace font, but the typesetting on the shirt is not. There's some kerning …
1mo ago·view thread
comment
I had a lot of these books as a kid. I'm not even 100% why, but my dad glommed on to the idea that they were of high quality, and also quite inexpensive. Probably my favorite was "Higher Mat…
1mo ago·view thread
comment
Greg Kroah-Hartman has given a talk entitled "Untrusted data in Linux — How Rust is going to save us"[1] which I think is fairly optimistic about the idea that Rust will have an increasingly…
1mo ago·view thread
comment
Jake has already mentioned how the type system enforces single-threading (using similar mechanisms as Rc in Rust), but it's not necessarily the case that read-write races from multiple threads ar…
1mo ago·view thread
comment
The description of the BCE reminds me a lot of the PIO in the RP2040 and 2350 microcontrollers. From the article, BCE instructions include "Transmit Data, Receive Data, Load Timeout Register, Sto…
1mo ago·view thread
comment
Also see Fast GPU bounding boxes on tree-structured scenes[1] (unpublished paper) and notes toward a blog post[2]. This is a highly tuned GPU implementation of parentheses matching. It's actually…
1mo ago·view thread
comment
This is plausible to me as well. A couple years ago we were trying to make dynamic memory allocation in Vello more robust and explored using async readback of a status buffer. In that case, the async …
1mo ago·view thread
comment
No, a normal person would say, "I don't know them." Silicon Valley bros, on the other hand...
1mo ago·view thread
comment
Quite a few Ozzies who were in the US (especially Bay Area) and have decided to move back, but so far no other people with no real connection.
1mo ago·view thread
comment
I'm in Australia.
1mo ago·view thread
comment
Exactly this, there's rarely a single "correct" colorspace, you make a choice based on expressive goals and constraints. For example, for gradients you almost never want linear, somethi…
2mo ago·view thread
comment
Any time, friend. Your basic move is to set the lang metadata accurately and choose a font that does have these style differences implemented in the loca table. Best of luck and feel free to reach out…
2mo ago·view thread