Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
Manishearth
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
9 ms
·
31.
▲
by
Manishearth
7y ago
I address this in the second paragraph: > impl Trait in return position has changed how people code; but that's because it made certain things suddenly possible, which isn't an idiom change as much as obsoleting some old bad wo
32.
▲
by
Manishearth
7y ago
Not really going to address the rest of the post but I wanted to point out that `impl Trait` hasn't really changed what's idiomatic. People still use generics in argument position, and while I've seen a couple instances of pe
33.
▲
by
Manishearth
7y ago
I don't think that's too slow. It can be, but it's not the main bottleneck in my experience. That said there are various tricks that browsers use to avoid introducing these boundaries.
34.
▲
by
Manishearth
7y ago
SVG and HTML use the browser's text rendering stack, which is pretty good. (Native UI elements also benefit from native rendering stacks). Canvas has the same problem, though there are tricks like compiling Harfbuzz to wasm to get arou
35.
▲
by
Manishearth
7y ago
> Good point and thanks for the link! However, doesn't it imply that text rendering is a bottleneck anywhere - games, digital signage, etc.? Yes, and this is why non-Latin text in many games is at best a texture, and at worst, horr
36.
▲
by
Manishearth
7y ago
Hi, I work on a browser, layout and styling are expensive. Browsers already to tons of work to avoid recomputing too much of this stuff whenever the DOM changes, and it's still inadvisable to poke the DOM too much. I don't see
37.
▲
by
Manishearth
7y ago
These things are actually pretty related: JS isn't particularly slow as a language; it only gets slow on the web because every time JS code touches the DOM/CSS a part of layout and style needs to be recomputed.
38.
▲
by
Manishearth
7y ago
VR is only part of the focus, we're still working towards a general purpose browser, it's just a slow and long process. Webrender is being actively worked on and is in the final stages of integration into Firefox (I believe it
39.
▲
by
Manishearth
7y ago
Eh, you really need to understand how scripts work without necessarily being able to read them. You may need to be able to read some scripts, but learning scripts is much easier than learning languages. Most text rendering experts I know se
40.
▲
by
Manishearth
7y ago
This problem isn't exactly Arabic-specific, it's just super easy to trigger in Arabic. You've got kerning in the Latin script as well, and you could theoretically have a font that makes `the` look smaller than `th`. But in Ar
41.
▲
by
Manishearth
7y ago
I think what swift does is good for its design space. I definitely would not like it if Rust did the same thing, because you need fast ways to store and reuse indices for parsing and other things. Swift is primarily geared towards UI, and i
42.
▲
by
Manishearth
7y ago
Most of those systems are terrible at handling non-latin text because they get all these things wrong. Of course it's "easy" to handle length in these cases, they've selected out any kind of text that makes handling leng
43.
▲
by
Manishearth
7y ago
Fun fact: the iOS bug where you could brick a device by sending some strings in Arabic to the device was essentially due to assuming that there is a monotonic relationship between some measure of "string length" and "display
44.
▲
by
Manishearth
7y ago
We used to have M:N threading in Rust's runtime -- this is one other way to achieve what we wanted. It imposed a cost on all programs, including those which weren't using it, and iirc it didn't fit well and wasn't flexib
45.
▲
by
Manishearth
7y ago
It's not the big hammer that can't be argued with. There's a path forward there: bring in security experts to weigh in on this. This hasn't happened. It could, and when it does there may be progress. Rust doesn't qu
46.
▲
by
Manishearth
7y ago
Actual semver based version resolution. And yes, this _can_ be added with some ad hoc scheme that requires you to use a certain kind of git tag, but that's not what people are asking for.
47.
▲
by
Manishearth
7y ago
"local git dep" was a mistake, I meant "git dep", which can be used in a way that approximates Go's import system if you use versioned tags. (The "local" comes from it being in-house but that's confus
48.
▲
by
Manishearth
8y ago
What do you mean by "versioning support for git dependencies"? We do support pulling in git dependencies based on a branch (I think tags work?) We also support checking the version of the git dep. It's fetching the dep that&#
49.
▲
by
Manishearth
8y ago
Note that Rust has supported mirroring ("source replacement") for a while now. https://doc.rust-lang.org/nightly/cargo/reference/source-rep... This feature is for alternate registries that _suppleme
50.
▲
by
Manishearth
8y ago
It's still pretty major, because SIMD, but not as dramatic https://github.com/Amanieu/hashbrown#performance Note that the hashbrown crate uses FxHash by default, so the second table is the fair comparison. When po
51.
▲
by
Manishearth
8y ago
Yeah, the tools team is looking into providing a nightly-with-tools experience that's smoother about this stuff.
52.
▲
by
Manishearth
8y ago
It would be very nice if cargo-fuzz targets could be swapped to work with proptest, quickcheck, and miri. It's something I've wanted to do for a while, but I don't have as much time to maintain cargo-fuzz.
53.
▲
by
Manishearth
8y ago
As someone who has dabbled in the C++ program analysis space before: A _ton_ of effort has gone into this already. There's also a lot of promising stuff there already. There's active research on how to best do aliasing/pointe
54.
▲
by
Manishearth
8y ago
I don't see anyone in that discussion who is on the Rust/Cargo teams. I see a bunch of disagreement from people involved in gstreamer/meson (and some other non-team folks), which makes sense, disagreeing with something on you
55.
▲
by
Manishearth
8y ago
Ah, I wasn't aware that the meta tag existed, everything about publishing crates seemed to point to using github (or a self-hosted repository of various supported VCSes) Thanks. The example using a less-commonly-known package distribut
56.
▲
by
Manishearth
8y ago
As far as I can tell, rsc.io/sampler isn't a git repository, so it's not doing the same stuff `go get` does. If I try to clone it I just get hit by the HTTP redirect to the docs for rsc.io/sampler. I may be missing somet
57.
▲
by
Manishearth
8y ago
> hard to get it working the normal way This is mostly for complex games, otherwise for simple stuff there are ways to get it working.
58.
▲
by
Manishearth
8y ago
It's more than just affine types, it's region typing, which is far less common.
59.
▲
by
Manishearth
8y ago
You misunderstand, `1.1` _is_ `1.0.0.1`, there are multiple ways to represent IP addresses.
60.
▲
by
Manishearth
8y ago
Chrome and Chromium share the same engine, and for this stuff it is the engine that matters.
More ›