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
If you want to understand rinse aids better, I recommend this Technology Connections video (I've set the time stamp to the rinse aid section): https://www.youtube.com/watch?v=Ll6-…
2y ago·view thread
comment
And before that Gill[1]. [1]: https://levien.com/svg/
2y ago·view thread
comment
They're related. Requiring sb ∪ rf to be acyclic is indeed one solution to the OOTA problem, but is arguably too heavy a hammer. The other thing to say about OOTA is that it's usually re…
2y ago·view thread
comment
Thanks for this, quite useful. There's also more discussion in [1], linked from there, which contains perspective from real memory model experts. I think it's fair to say they're skepti…
2y ago·view thread
comment
I'm not sure how I feel about this. Are there nontrivial programs that depend on the (1, 1) outcome of the LB litmus test being forbidden? (See section 2.3 of the Lahav paper[1] for definitions a…
2y ago·view thread
comment
This is known as the Hadamard product and is covered in the video. The tl;dr is that, while it certainly has uses, it doesn't represent multiplication of vector spaces in any reasonable way (in p…
2y ago·view thread
comment
The numerical robustness thing gave me a chuckle (rotate 1 radian and pray to the geometry gods), especially as I've been spending a good fraction of my time dealing with that in fancy path rend…
2y ago·view thread
comment
I knew her son Peter[1] fairly well through the Berkeley Quaker meeting, though did not learn about her illustrious science contributions until after he died. [1]: https://www.berkeleyside.…
2y ago·view thread
comment
Yes, I've got my eye on those and am hopeful. Do you know of any meaty technical description of the programming model? All I've been able to find so far is fairly high level marketing materi…
2y ago·view thread
comment
Subgroup operations[1]. In SIMT, they are fairly easily modeled[2] as communication between the different threads running on the same SIMD, and in most cases explicitly expose the predication mask. In…
2y ago·view thread
comment
In addition to ISPC, some of this is also done in software fallback implementations of GPU APIs. In the open source world we have SwiftShader and Lavapipe, and on Windows we have WARP[1]. It's sa…
2y ago·view thread
comment
For earlier archaeology see [19]. It seems to me people had started coding extensions in VS Code without giving any real thought to the question, so the default choice inherited from the language was …
2y ago·view thread
comment
I don't agree. A 256 bit profile of the new AVX stuff gives you lots of goodies over AVX2, including mask predication, the fancy ternary op, and so on. Additionally, because it consumes half as m…
2y ago·view thread
comment
Search is 100% a valid justification to use contiguous storage. It wasn't high in my list of considerations when I was starting out.
2y ago·view thread
comment
Interesting article, and I love to see performance numbers to back up engineering decisions. I'm also glad xi-rope wasn't included, as I'm sure it's performance lags :) That said, …
2y ago·view thread
comment
This is touched on in Olivier Giroux' talk on forward progress in C++[1]. I've time-stamped the section on the roach motel problem, which ends with the observation that the execution model s…
2y ago·view thread
comment
What tools were used to create the audio? For example, the exact patterns of dither-based noise shaping[1] may reveal insight, but are by definition inaudible. Or perhaps there's an ultrasound so…
2y ago·view thread
comment
Agreed. And one more consideration is that (extended) grapheme cluster boundaries vary from one version of Unicode to another, and also allow for "tailoring." For example, should "อำ&qu…
2y ago·view thread
comment
As a followup, here it is: https://github.com/raphlinus/r6502
2y ago·view thread
comment
Just to give one example, if you want to do forensic analysis on the signal based on inaudible differences. That's a valid use case for an archive that doesn't apply to consumer (even audiop…
2y ago·view thread
comment
Agreed, for archival purposes we should be using lossless codecs. Not because you can hear the difference but because it makes it easier to reason about whether there's any distortion introduced …
2y ago·view thread
comment
Why is the standard considered to be CD quality? In that way, the article shows its age. Today you wouldn't be talking about 44.1kHz 16 bit, it would be all about 24 bit 192kHz. If you're lo…
2y ago·view thread
comment
Yeah, dynamic memory allocation from GPU space seems to be the real sticking point. I'll look into HSA queues, that looks very interesting, thanks.
2y ago·view thread
comment
Yeah, that's a big if. In theory there's nothing preventing good compilation to Vulkan compute shaders, in practice people just aren't doing it, as CUDA actually works today. I also agr…
2y ago·view thread
comment
There are a lot of similarities, but the granularity is finer. The idea is that you make a decision to launch one workgroup (typically 1024 threads) when the input is available, which would typically …
2y ago·view thread
comment
ROCm makes me sad, as it reminds me of how much better GPUs could be than they are today. I've lately been exploring the idea of a "Good Parallel Computer," which combines most of the a…
2y ago·view thread
comment
Go for it! I think you will learn a lot, and it seems like your expectations are calibrated well. Source: wrote a browser[1]. I enjoyed it and learned a lot. My motivation for starting it is that the …
2y ago·view thread
comment
Yeah, Rich Feldman has a good talk on this, entitled Why Static Typing Came Back[1]. It makes a good argument that static typing can recover most of the advantages traditionally accounted to dynamic t…
2y ago·view thread
comment
The actual formula is O(n^6) scaling, and for circles it's very easy to achieve that. So a circle divided into 16ths has 4096 times less error than one in quarters and one made of 128 nodes is a …
2y ago·view thread
comment
It's a bit tricky, but my decimal adc is 19 lines of code, all of which is fairly straightforward, mostly bit fiddling stuff that I expect will compile to a few instructions each. I need to go th…
2y ago·view thread