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
You could probably do this less invasively by setting font-variant-ligatures: none;
comment
It does, thanks! This does indeed look like good stuff. It is true that font-rs is not fully optimized for large areas, as it depends on memory fill and cumulative sum for each pixel. These are not hu…
comment
When listing approaches, people should look at Skia Compute[0]. While it is true that traditional GPU's are not a super-great match for 2D graphics, modern GPU's are becoming more and more C…
comment
How does the performance of path filling compare to font-rs?
comment
There's a pretty long history of technical efforts to achieve censor resistance, of which Ross Anderson's 1996 "Eternity Service" is probably the most influential. I'm not ver…
comment
Sci-hub is truly a modern-day Library of Alexandra. I hope the modern day counterparts of Julius Caesar fail.
comment
The DX7 was 6 operators, and the module in the CX5M (I had one) was 4 operators, like the DX21. It used the YM2151 sound chip, which was also present in a number of video games. This was an awesome co…
comment
I talk a little about why in my "fearless SIMD" blog post (also introducing a prototype that wraps the unsafety but at the moment is very limited in exactly what SIMD operations are exposed)…
comment
Yes, you want to set processSectionDelay to 0. Here's an example: https://github.com/raphlinus/ghilbert/blob/master/src/htmlou... …
comment
A huge amount of the speed problem in MathJax is just the default configuration, which does the math typesetting in a deferred callback and throttles the work, basically guaranteeing that the browser …
comment
I think you're right about GPU tending to have worse latency, but I think it's because that's the way the swap chain is set up and the use of blocking present calls. I've been stud…
comment
This. I believe the value proposition of Rust is that it decreases the cost of developing high quality software, much as the value proposition of PHP is that it decreases the cost of medium-quality so…
comment
No, the policy is to use your google.com address, with some exceptions[1]. This confuses a lot of people, as things done for fun by one person on weekends (maybe not even official 20% time) are mixed …
comment
Feel free to include http://levien.com/Social%20rule.puz , which has a Recurse theme. It's not top quality but I've had a number of people tell me they enjoy it.…
comment
It also has a SAT based-solver telling you when you get stuck (ie when there is no completion of the grid using words from its dictionary), but I'm not sure whether the WASM integration for it st…
comment
It is indeed hard to strike that balance. I've not properly written up my return statement but based on my experiences I would recommend not trying to do a hugely ambitious project, expect the ex…
comment
Of these two, I find the second more appealing. The main use cases I have in mind are linking discussions from issues, and in general creating a permanent record of the work we do (our IRC logs got lo…
comment
I have used Discourse quite a bit, and it was a top consider when we were looking for a new platform. Public web archives are a goal, and either we'll deploy a bot to publish them, or I've h…
comment
I haven't found this a problem. We tend to just have general topics, like very often the "what's everybody working on this week" topic.
comment
We use Zulip for xi-editor and related projects, and I am very happy with it. I find it helps us have real discussions, as compared to other types of forum (and I've tried a bunch). Two features …
comment
The dirty secret is that it's basically Cairo, a 1990's graphics API, with modern C++ syntax. So all of the work that's happened since then, including HDR color spaces, precise control …
comment
This makes interesting reading, as I've been following C++ graphics proposals for a while, and they are one of the inspirations behind piet. I hope for piet to have a role in the Rust ecosystem s…
comment
It's a complicated tradeoff. It's not just performance, the main thing is clear code. Another factor was support across a wide variety of languages, which was thinner for things like flatbuf…
comment
These numbers are not quite right for a variety of reasons (performance measurement methodology is hard), but to do something more of an apples-to-apples comparison, it's about 50x slower than se…
comment
We actually do get 60fps, but JSON parsing on the Swift side takes more than its share of total CPU load, affecting power consumption among other things. So (partly to address the trolls elsewhere in …
comment
Hadn't seen that particular wrapper, but if we're going to take on an FFI solution, we're more likely to use Rust for this, and implement more logic than just JSON parsing.
comment
That's one of the things we're considering. But it is by far the most idiomatic way to do things in Swift. One of the alternatives we're considering is implementing the line cache (incl…
comment
Yeah, I've done some analysis, it's creating a ton of objects to conform to the Codable protocol, and a lot of those objects are for codingPath, which is updated for basically every node in …
comment
This is very cool. Meanwhile, in the xi-editor project, we're struggling with the fact that Swift JSON parsing is very slow. My benchmarking clocked in at 0.00089GB/s for Swift 4, and things…
comment
This isn't their first rodeo. In 2008 Google launched Knol, which was a fairly major initiative to provide a service like Wikipedia, but without Wikipedia's problems around unattributed cont…