Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
tatterdemalion
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
5 ms
·
1.
▲
by
tatterdemalion
8y ago
The same code with `await` :) let (reader, vec) = await { io.read_until(reader, b'\n', Vec::new() }?; if vec.len() == 0 { return Err(Error::new(ErrorKind::BrokenPipe, "broken pipe")); } let stri
2.
▲
by
tatterdemalion
8y ago
The user specifically asked about stackfull coroutines, which is not the direction we're going. But I think the pain point the user talked about (futures right now are difficult to deal with) will be resolved by our stackless corou
3.
▲
by
tatterdemalion
9y ago
The RFC supports it, eddyb's list of milestones in the compiler just don't get you all the way there.
4.
▲
by
tatterdemalion
9y ago
Signal's use of SGX was to increase users' trust in Signal - OpenWhisperSystems couldn't log your contacts even if they wanted to. Its up to potential users to decide if they think OpenWhisperSystems will surreptitiously perf
5.
▲
by
tatterdemalion
9y ago
My apologies if I misunderstood you - I read your comment as suggesting that safe abstractions are "leaky" and therefore create additional responsibilities for users to validate that they are using them safely when composing them
6.
▲
by
tatterdemalion
9y ago
Proving the correctness of unsafe code is totally different from what you talked about, which was composing different abstractions with unsafe internals together. Users of safe Rust do not need to worry about whether the composition of two
7.
▲
by
tatterdemalion
9y ago
There is a conflation happening here. What is the nature of this bug when you compose these two libraries together? If it is a violation of Rust's safety guarantees, then at least one of those libraries has a bug, it is exposes a safe
8.
▲
by
tatterdemalion
9y ago
Its possible that I misread the comment; it seemed to state that this problem extended into safe Rust, which it definitely does not.
9.
▲
by
tatterdemalion
9y ago
> The major difficulty here is that in general, unsafe pieces of code cannot be safely composed, even if the unsafe pieces of code are individually safe. This allows you to bypass runtime safety checks without unsafe code just by composi
10.
▲
by
tatterdemalion
9y ago
Rust is consciously designed for large code bases. shrug
11.
▲
by
tatterdemalion
9y ago
- We are directing material resources (as in, hours of paid work) to improving compiler performance. We consider this a serious problem, and "the compiler performance is always improving" is not an accurate gloss of the amount of
12.
▲
by
tatterdemalion
9y ago
What we could do better than we do today - and your comment about ergonomics alludes to our work to improve this - is ease the onboarding of that complexity we have to be "honest" about. Its a design constraint of Rust that it mus
13.
▲
by
tatterdemalion
9y ago
This is not my experience using Rust. I had six months of programming experience when I first tried Rust. I definitely got confusing errors at first, but I grasped the system within a month or two. And that was in 2014 - the borrowchecker a
14.
▲
by
tatterdemalion
9y ago
Do you stay away from all type systems? This would be an accurate negative framing for any type system, which all necessarily reject some correct programs.
15.
▲
by
tatterdemalion
9y ago
I understood your point. As my comment alluded to, the criticisms of tokio this blog post is attempting to address have to do with the implementation complexity - abstractions do not reduce the implementation complexity of themselves.
16.
▲
by
tatterdemalion
9y ago
There's another reason Rust's ecosystem uses futures (as opposed to having some library-based greenthreading system): each future is like the stack of a userspace thread, but perfectly sized (it will be as large as the largest sta
17.
▲
by
tatterdemalion
9y ago
What's missing here is that Go has a userspace scheduler and greenthreads. Despite presenting the user with something that looks like old school blocking IO, because you are only blocking a greenthread it is actually asynchronous IO un
18.
▲
by
tatterdemalion
9y ago
There are various criticisms of tokio, coming from different directions. Some have to do with the fact that some abstractions in the futures ecosystem are leaky today and that makes them less easy to use than they could be (though they won&
19.
▲
by
tatterdemalion
9y ago
I think this was a very bad move, because Mozilla installed adware in all of its browsers. The fact that it was installed through an add on, though, seems irrelevant. Mozilla developers can distribute arbitrary code to all users because t
20.
▲
by
tatterdemalion
9y ago
Or Rust. ;-)
21.
▲
by
tatterdemalion
9y ago
Similarly, this automobile is well built despite having every design decision be wrong. There's some distinction between the architecture and the craftmanship - a poorly crafted and poorly architected anything is just a pile of rubble,
22.
▲
by
tatterdemalion
9y ago
Upthread there are quotes from other physicists chiding Slotin because what he was doing was extremely dangerous. It was known at the time.
23.
▲
by
tatterdemalion
9y ago
The PARTNER study studied 767 serodiscordant couples, with the HIV positive partner undetectable. All participating couples did not use condoms at least some of the time. They found zero cases in which the undetectable partner infected the
24.
▲
by
tatterdemalion
9y ago
> Having a compiler and standard library written in the language that it compiles has some huge benefits for increasing the pool of possible contributors. But this isn't the official compiler, this is someone's personal project
25.
▲
by
tatterdemalion
9y ago
I'm sorry.
26.
▲
by
tatterdemalion
9y ago
It took me a bit to figure out what you could be talking about. Rust does not insert runtime checks like this of anything by default except for boundschecking on indexing operation. You must mean that you stored your `CounterWidget` in a Re
27.
▲
by
tatterdemalion
9y ago
Except that normally a new feature does not involve creating a new system. Technical debt significantly impacts velocity of implementing new features in the future.
28.
▲
by
tatterdemalion
9y ago
This is also how HashSet is implemented in Rust (internally its a HashMap<T, ()>, and zero sized structs are optimized out just like Go). But by providing a set type, Rust is able to provide for users various set operations which Go r
29.
▲
by
tatterdemalion
9y ago
The claim that Rust's generics system is "fancy template cruft" on top of "all the complexity of C++" is absurd, though.
30.
▲
by
tatterdemalion
9y ago
Or Go.
More ›