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
We've been using Zulip for just over a week in xi-editor and related projects, and I'm thrilled. Huge improvement over the pastiche of IRC and Reddit we were using before.
comment
This is a subtle point. It's not the array assignment that's the race here, but the update to the shared (by closure capture) `a` variable. You'd get the same data race if `a` were an `…
comment
Totally. If it means they live an actually good life rather than a form of hell, I would consider it a very good deal. (Of course, things get a lot dicier when there are "treatment programs"…
comment
JVM has two additional advantages over Swift (sorry for repeating) - an actual memory model, and data races can cause logic errors but not the full undefined behavior of LLVM languages.
comment
C and C++ are sharp tools. They have extensive undefined behavior, but also a formal memory model, so it means something to say, "this code is correct." They also have a culture of people wh…
comment
> This is addressed in the article, and a resolution is provided. "Undefined state" is the language used in the article, and has no precise technical definition. The article suggests to m…
comment
This might be contentious, but I'm going to say it. If your program is multithreaded in a nontrivial way, Swift is not the language for you, at least yet. First, this article understates the dang…
comment
At Google the lunch is not scored. It's a chance for the candidate to decompress a bit (the rest of the day is back-to-back) and also to sell Google culture a bit, but it's not about getting…
comment
Same here. Plus for some reason Yakov Zeldovich's books on calculus really sang to me, much more than American textbooks.
comment
Agreed. And (as was largely the point of my thesis) these things are tradeoffs, a spline that's perfect in all these ways is not possible. I played around a bit and am not feeling that they'…
comment
Very cool! Some of the later sections are broken. The fact that this is interactive is great, maybe I'll get around to putting my stuff in this form.
comment
I would replace the last two operations by another multiplication and one reciprocal square root. There is extensive SIMD support for very fast approximations, and getting better in newer chips.
comment
This is great stuff. I've also done some work in the space, and did a writeup called "A matrix approach to the Moog ladder filter", which is a pretty different perspective from Vadim…
comment
Likely that was xiph on why excessively high sample rates don't do much for the listening experience: https://people.xiph.org/~xiphmont/demo/neil-young.html …
comment
From the asm you posted I have no idea whether it's optimized or not; it looks like two virtual function calls (calll %eax). Also, while I'm sure Julia is nice, the GC makes me worry about w…
comment
_This_ is why I linked to my undefined behavior post. Your comment is about as clear an example of being in the semi-portable camp as any I've seen. And I'm not blaming you, because in C you…
comment
LLVM does (quite recently!), but Rust currently does not. I think it's likely that Rust should add it, but a large part of my post was exploring how far we could go with Rust as of today. Edit ad…
comment
I've spent quite a bit of time looking at autovectorization, but didn't write about it much here, as it's only good for a pretty small subset of problems. One subtle gotcha I ran into i…
comment
Right, I've run into this a number of times, especially when porting code originally written for 32 bit to 64 bit. Besides compilers getting better, I think there's another factor - it used …
comment
I agree that WASM is only really interested for embedding untrusted code, but am not sure that the browser is the only place where you need that. A good example is Cloudflare's workers, which the…
comment
It's missing the Net Promoter Score survey. Other than that, pretty spot on.
comment
The name definitely made me think of Rust's mio. On the other hand, `namespace cplusplus` and `mod rust` maybe are disjoint.
comment
My personal feeling is that the world is moving on from distance fields, and the state of the art is doing vector rasterization in the GPU. There are a few approaches to these, and currently one of th…
comment
I loved this book as a kid, but I'm really not sure I would recommend it today. The Lisp of that era had "dynamic scope," and a great deal of Allen's book is concerned with fancy d…
comment
The Vintage Synthesizer Museum in Oakland has one, I got to play with it. They might be able to do something with the disks.
comment
I think wasapi has more or less superseded asio and has more support from Microsoft. If you're programming in Rust, you can use the cpal crate, which wraps all these. I'm not sure cpal has a…
comment
Yes to both, and also plan to write blogs about the content, and documentation for the library as it matures. I'm gratified to see the interest!
comment
Wrong on both counts. However, I'm very much back in the audio synthesis game, and will give a talk at next month's SF Rust Meetup on the topic.
comment
Thanks! I think a unification of OT and CRDT is a very promising space, both for practical implementation and for deeper academic understanding. To be honest, I only skimmed the posted paper, but it d…