Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
roca
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
125 ms
·
691.
▲
by
roca
6y ago
The issue not whether Huawei have done that, the issue is whether they will if asked. https://www.cnbc.com/2019/03/05/huawei-would-have-to-give-da... > "any organization or citizen shall support, assi
692.
▲
by
roca
6y ago
Every company has some dirty bits but the nature and scale of those bits matter. For example, what ICE does and what China is doing in Xinjiang may be superficially similar but there are also huge differences. For example, ICE incarcerates
693.
▲
by
roca
6y ago
Apple is using Rust somehow internally, they were advertising for network software developers with Rust experience a while back.
694.
▲
by
roca
6y ago
> on the Rust side, both actix and ntex are too immature as neither’s hit 1.0 yet Maybe so, but we've been running https://pernos.co on Actix for a couple of years now with no issues. We didn't have to use "uns
695.
▲
by
roca
6y ago
It is good to be proud of China's economic achievements. It is not good to be proud of totalitarianism, the genocide of the Uighurs, religious persecution, etc.
696.
▲
by
roca
6y ago
Five years ago it was easy to believe that China was on a trajectory of increasing freedom. Then Xi's change in direction really took hold: the abuse of the Uighurs happened and became known, religious persecution increased, democracy
697.
▲
by
roca
6y ago
You can definitely implement sudo and similar tools without writing any new unsafe code. You will use existing libraries that contain unsafe code, but you should be able to stick to popular well-tested libraries, which means it will be very
698.
▲
by
roca
6y ago
If we're talking about recompiling a handful of SUID programs, why not just manually translate them into Rust or something similar?
699.
▲
by
roca
6y ago
Maybe it shouldn't be doing that, but "recompiling C code in safe mode" only makes sense if you don't have to change the code much or at all. If you have to make all kinds of changes to the code you might as well just tr
700.
▲
by
roca
6y ago
From the point of view of bugginess, complexity in the implementations of massively popular libraries is far less of an issue than code you just wrote yourself, because the code in those libraries will have received much more testing than t
701.
▲
by
roca
6y ago
The sudo code in question is typical C: string processing with pointers and hand-rolled byte manipulation, size calculations, manual buffer allocation and freeing, and so on. The Rust equivalents of all this are far simpler.
702.
▲
by
roca
6y ago
Yes, that's exactly right.
703.
▲
by
roca
6y ago
Encoding array bounds into fat pointers doesn't always work without changing code (e.g. code that uses funky casts, code that makes assumptions about data layout). Also to ship this in a Linux distro you'd need two builds of many
704.
▲
by
roca
6y ago
Fullscreen isn't just for video though. It's very commonly used for games. I also wrote fullscreen support for "DOM videos" (e.g. https://pernos.co/about/overview/ ) using the fullscreen API. Th
705.
▲
by
roca
6y ago
One effect this paper doesn't talk about is how remote work can snowball. For many people the main reason to go into the office is to meet other people on your team. The more they choose to work from home, the less their team members a
706.
▲
by
roca
6y ago
Mobile Safari does hold the Web back. Examples are easy to find: Safari doesn't support the standard unprefixed fullscreen API, while Firefox and Chrome have for years, so Web developers have to write a bunch of compatibility crap or a
707.
▲
by
roca
6y ago
Nice trolling. You can use general extensions on Android in Nightly, so this is in progress: https://blog.mozilla.org/addons/2020/09/29/expanded-extensio... But sure, if you want to "throw away the
708.
▲
by
roca
6y ago
But Apple is an AOM member and apparently is implementing AV1, so things are looking up.
709.
▲
by
roca
6y ago
Sorry, my mistake, thanks for the correction.
710.
▲
by
roca
6y ago
I think we mostly agree. > Notably, hugely popular apps like Reddit can break altogether on a nearly daily basis (never mind more minor bugs, like some UI widget breaking) and they're still content to write in a completely dynamic l
711.
▲
by
roca
6y ago
The optimal point on the tradeoff between developer velocity and performance/correctness depends a lot on the domain, in particular: -- How much usage do you expect to have? The more usage, the more important performance and correctnes
712.
▲
by
roca
6y ago
Newtypes are also pretty great for detecting logic errors. (You can use them in Go and C# but they're not idiomatic and usually not zero-cost so people usually don't.)
713.
▲
by
roca
6y ago
I agree that the aliasing control and other features of Rust enable all kinds of interesting optimizations that currently aren't being done, and 'restrict' is only part of it. For example we also know that the data behind a s
714.
▲
by
roca
6y ago
"Just use 'restrict'" isn't as easy as it sounds. You need to only use 'restrict' where you are 100% sure pointers can't alias. Wherever you get this wrong you have introduced a subtle bug that a) onl
715.
▲
by
roca
6y ago
The early 90s also had SRC's Vesta file system which had some interesting properties: https://www.hpl.hp.com/techreports/Compaq-DEC/SRC-RR-106.htm... CMU's Gandalf project had some interesting "sema
716.
▲
by
roca
6y ago
Also (as someone with a PhD in a PL-related area) I think the effort to implement a real programming language and drive adoption is a much more significant contribution than writing a dozen academic papers describing the theory behind its f
717.
▲
by
roca
6y ago
Theorists knew how to build certain features but did not know whether the resulting language would scale up to work in practice. To determine that, they would have had to do the experiment of trying to get mass adoption for a language. No-o
718.
▲
by
roca
6y ago
No. Ada had no safe solution to dynamic memory deallocation until SPARK started supporting it, and ergonomic support for pointers in SPARK (borrowing) postdates Rust. Arguably we still don't have proof that SPARK is ergonomic enough fo
719.
▲
by
roca
6y ago
We've made revolutionary advances in version control, package management, and CI practices too. I think this is an example of "post something quite wrong and get lots of attention because it is so wrong".
720.
▲
by
roca
6y ago
Rust is a huge omission from that list. Until about 5 years ago there was no safe, GC-free, practical systems programming language, and furthermore it was unknown how to build such a thing. Now we know.
More ›