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
Probably could have worded it better. I didn't mean, "only use a little bit of async," I agree that doesn't make sense. I meant, "use async if your problem really needs it, ot…
7y ago·view thread
comment
Depends on the use case. I'm thinking about GUI, where on Linux you can write code that links against (say) Gtk, and thus can pull in lots of libraries while the executable itself is tiny. With t…
7y ago·view thread
comment
Right, I see your point here. There are non-trivial issues that need to be worked out, which I'm sure is one reason it's not in the library yet. Another (mentioned elsewhere) is that it take…
7y ago·view thread
comment
I admit, design of a proper random number library API is tricky, and experience from deploying rand will no doubt be invaluable. The point I was trying to make is that some use cases require sophistic…
7y ago·view thread
comment
Since stdlib and compiler releases are tightly coordinated, that shouldn't be a problem, no?
7y ago·view thread
comment
To a very large extent, we already have this with `fn foo(foo: &dyn T)` (or `foo: Box<dyn T>` for the owned version). What I would find even more interesting is the compiler much more aggres…
7y ago·view thread
comment
In my post, I specifically call on proc-macro support (syn and quote) plus rand (not all of rand though, just the "give me a random number" functionality that comprises 99% of the use cases …
7y ago·view thread
comment
I talk about this a bit, I'm in favor of at least medium granularity crates, but if they break down into smaller features, where different use cases will meaningfully choose different sets of fea…
7y ago·view thread
comment
Performance culture has you measure the actual performance implications, then make an informed decision. Is the code on a performance-critical path? Maybe some of your serialization code is, but it&#x…
7y ago·view thread
comment
This reminds me of a person who somehow managed an invitation to give a presentation at UC Berkeley on database compression in 1993, with similar levels of snake-oil. I remember one of the funnier mom…
7y ago·view thread
comment
It's important to make the distinction between subpixel positioning and subpixel (RGB) rendering. I'd personally say yes to the former, even at high dpi, and no to the latter if you'…
7y ago·view thread
comment
It's not mandatory. There should be good rope implementations already, though. If you're in Rust there's ropey and at least one other pretty good one. On modern computers, you can get a…
7y ago·view thread
comment
Right, and if you're doing processing of ASCII code points (this is 95% of Markdown parsing, for example, the major exception being case folding and Unicode whitespace), then it's just as co…
7y ago·view thread
comment
Sure. I guess what I'm trying to say is: when do you care about code point boundaries at all? In my experience, it's actually fairly rare. If you're drawing text, you care about the res…
7y ago·view thread
comment
Yes, the variable length nature of UTF-8 generally means more hard-to-predict branches. But sufficiently clever programmers can find ways around that, see Lemire's work on using SIMD to validate …
7y ago·view thread
comment
I would go further and say that UCS-4 is also a variable length encoding, mostly because of emoji and its endearing ZWJ sequences, not to mention the encoding of flags as two Regional Indicator Symbol…
7y ago·view thread
comment
So based on this research, what reconstruction filter and gamma curve should I use to render text so it looks good over a range of fonts? :) Or, perhaps a better posed question. What research-informed…
7y ago·view thread
comment
It's possible this research has been done, but if so I haven't seen it yet. Basically the reason I feel confident asserting it is that I'm talking very specifically about the stimulus p…
7y ago·view thread
comment
Absolutely, and I think there's a very strong case to be made for that. One of the points I'm trying to make is that you have to solve it somewhere. People who focus narrowly on "corr…
7y ago·view thread
comment
One caveat, if viewing this image on a high-dpi display there will be blurring from image upsampling by the browser. My eyes have the same result as yours: the white line appears thicker than the blac…
7y ago·view thread
comment
You are correct. Change my third question to, "after applying a correct gamma curve to achieve perceptually uniform line widths in the unipolar case, what is the correspondence of line widths whe…
7y ago·view thread
comment
I should have clarified that I meant lines with subpixel phase and possibly widths that are not integral numbers of pixels, ie the antialiased case. Also I totally agree that we need to take into acco…
7y ago·view thread
comment
So obviously text is one of the things I care about a lot. I'm willing to accept your filter as being very good for a lot of stuff other than presenting a GUI. Does this mean that there is not on…
7y ago·view thread
comment
Reeeaallly? I haven't made the images, but my intuition is telling me that text will be noticeably blurry compared with a box filter. I basically agree with your points regarding compositing in a…
7y ago·view thread
comment
Be careful generalizing the audio results to pixels. The central lesson of xiph's work is that people simply cannot hear frequencies above, let's say 20kHz. Therefore, as long as your sampli…
7y ago·view thread
comment
I imagine this came up partly as a result of the recent alpha compositing discussion. We desperately need some research, based in user studies and using modern display technology, to settle some basic…
7y ago·view thread
comment
It definitely depends on druid-shell, but we're also thinking about being a good guest (ie for VST and the like). But honestly our focus is full desktop apps right now.
7y ago·view thread
comment
The two funded full-timers focused on making a font editor using druid as the GUI toolkit. I personally think this is the best way to grow an ambitious new toolkit from scratch. Also, there's ove…
7y ago·view thread
comment
One of those efforts is druid. I'm deliberately choosing not to make a lot of noise on social media yet, but I suggest people actively looking for native GUI in Rust take a closer look. Our team …
7y ago·view thread
comment
There is a "color-interpolation: linearRGB" option in SVG, which seems to be implemented by browsers. See http://tavmjong.free.fr/SVG/COLOR_INTERPOLATION/ for a mo…
7y ago·view thread