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 I were writing it, I might start with a physical interpretation of alpha as a blend of transmission and reflection of light (it basically does this) but emphasizing that has to be actual luminance,…
comment
Also because it's by far one of the most common things people get wrong, or could do better, when implementing alpha blending.
comment
It is discussed briefly at the end, but I agree with you that it should have been given more prominence.
comment
The general concept you're looking for here, I think, is a monoid homomorphism, which also underlies xi-rope. If you can define your own value types, then it seems likely you can do this kind of …
comment
I chuckled, but I have to say that the word "Googley" used to mean something when I was there. It was exemplified by, among others, Claire Stapleton, who would post incredible little stories…
comment
I think the original statement is defensible. Many of the original OT papers proposed algorithms that have since been shown not to converge in particular cases (especially the TP2 puzzle). It took a w…
comment
I absolutely encourage people to choose the license that works best for them. My motion has been the other way, all my new stuff is permissively licensed. This is basically because I want my work to h…
comment
Interesting. The rules seem to be different on different systems. Deleting two RIS symbols (whether they map to a flag or not) seems right in any case. Some other systems (Android included) will take …
comment
The rules for what you want to do on backspace are complex - you want to delete the grapheme cluster if it's an emoji or ideograph with variation selector, but if it's a combining mark, most…
comment
This should say 2010. I believe much of it is out of date, as C11 does have a memory model, and does provide both atomics and barriers. Many, if not most, uses of volatile should probably be repla…
comment
Thanks for providing more detail for my answer to mindgam3's question :)
comment
Yes, quite seriously - I go to worship most every week, annual session most every year, am on several committees, including the one that does memorial services. There are actually a few computer peopl…
comment
I think you can add stuff like Twine and Inkle's scripting language Ink to that. Their user base is emphatically not programmers, but they are definitely domain specific languages.
comment
It's not helpful if you're expecting to be handed polished products that do what you want. It is helpful if you want to understand what's going on. I think it would be interesting to ge…
comment
Yes to both. The isolation was pretty bad because I grew up in a rural area and thus there just wasn't a large group of friends to draw on, much less those with similar interests and drive. So I …
comment
I'm of the camp who believes it stems from motivation - for whatever reason, I've found computers (and math) fascinating and have found the motivation to spend a lot of time understanding th…
comment
I was a child prodigy, now living a life that is a fairly natural extension of that experience. I started programming at 6, took college classes (mostly math and physics) from 9 to 13. I had a semi-su…
comment
I am cautiously optimistic about this. I recently built a prototype GPU-based 2D renderer which I think has huge potential, but obviously also needs quite a bit of work to become a real product. I…
comment
As another datapoint, Knuth-Plass style line breaking is implemented on Android TextView and turned on by default, as of Marshmallow I think. There is a bit of a performance cost, but I personally nev…
comment
This sounds right to me. Rust takes its compatibility promise seriously, but reserves the right to break it when there's a security issue. This looks like it's one of those times.
comment
Robert Lord's comments on the issue are probably the best explanation, written with the benefit of hindsight. [0]: https://github.com/xi-editor/xi-editor/issues/118…
comment
For sure. If you're doing collaborative editing, then CRDT is a reasonable choice, but it comes with tradeoffs compared with other approaches such as OT, as I hope I've explained. (The compa…
comment
Yeah definitely. I would consider this a form of semantic analysis, of the kind provided by Language Server implementations rather than the kind of syntax highlighting provided by syntect. Also note, …
comment
xi-editor pioneers a hybrid where "identifiers" are actually the tuple of revision and position. The motivation is to buy back some of the performance edge that OT has because of its use of …
comment
Thanks for the kind words.
comment
What you say is certainly true, but also not a fair characterization of what I wrote; we deliberately designed xi-editor from the early days to be consistent with the CRDT model (see the "rope sc…
comment
I'll be giving at talk at Libre Graphics Meeting in a couple weeks on exactly this topic. I'll make the slides available as well. Hopefully they'll make the front page of Hacker News …
comment
It's a fine question. In the past, I've had a lawyer draft a patent grant (this was in 2000, there's a bit on my Wikipedia page about it). This time, I did two things. First, and to mak…
comment
Just to answer the IME question, it refers to "Input Method Editor" and is an important problem to solve for all platforms, desktop, mobile, and Web. The API's for IME are often crufty …
comment
I like the branch-predict / branch-verify split. It reminds me strongly of the ldrex/strex strategy in ARM for splitting (for example) a compare-exchange in two parts, so that in the non-con…