Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
pcwalton
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
58 ms
·
721.
▲
by
pcwalton
5y ago
I'm happy calling initiating a completely preventable conflict that nobody wanted that has resulted in the deaths of 137, 17 of whom are Ukrainian civilians, and 316 wounded evil. There's no meaningful moral difference between wha
722.
▲
by
pcwalton
5y ago
Times like these I wish I were allowed to say exactly how much money big companies save by using the newest versions of GCC and Clang. The economic value of modern compiler optimizations is staggering.
723.
▲
by
pcwalton
5y ago
The advantages of using a newer language greatly outweigh the disadvantages of theoretical "reflections on trusting trust" attacks. By mandating C89, you're condemning thousands of kernel developers to use a language that
724.
▲
by
pcwalton
5y ago
It's the right choice. Otherwise you're wasting power for no reason. The only reason not to use the GPU is driver bugs, usually on Linux, that cause it to use more energy than the CPU.
725.
▲
by
pcwalton
5y ago
cxx, the high-level Rust/C++ interoperability layer, is currently used in production at large scale.
726.
▲
by
pcwalton
5y ago
Hans Reiser was reportedly impossible to work with in any event, as the Reiser4 debacle showed. I'm happy excluding him from the open source community.
727.
▲
by
pcwalton
5y ago
How is Rust memory management totally abstracted away from you? You have to opt in to every heap allocation, just as you have to call malloc() in C. And it's certainly true that Rust has overloading and C doesn't, but that wasn&#x
728.
▲
by
pcwalton
5y ago
C and C++ are not a very thin abstraction over assembly language. The C virtual machine is very far from the actual hardware. And Rust is the same distance from the hardware as C and C++ are. Rust's core operations are, by and large, t
729.
▲
by
pcwalton
5y ago
Unfortunately, it's an average 2x slowdown, and sometimes much higher. This is significantly slower than work from 15 years ago, such as CCured [1] (see section 8), which was still too high to achieve widespread adoption. CCured also h
730.
▲
by
pcwalton
5y ago
Not sure if x86-64 REX prefixes count as "core" by your definition, but REX prefixes are incredibly wasteful and basically throw away all the code size gains that x86 would otherwise get over competing instruction sets. For most i
731.
▲
by
pcwalton
5y ago
I learned awk a while back, thinking along the same lines, and decided that there's a reason why everyone uses Python/Ruby/etc. nowadays when I learned that arguments and locals are the same thing. Even the designers of awk r
732.
▲
by
pcwalton
5y ago
The "right" solution with no quality compromises is per-pixel linked lists (PPLLs) that are then sorted afterward. This is straightforwardly implementable on GPU, but it remains to be seen whether the technique will take off, give
733.
▲
by
pcwalton
5y ago
I always found illusionism completely nonsensical, for the reasons that Galen Strawson put forth in "Realistic Monism" [1] (emphasis mine): > Some of them — Dennett is a prime example — are so in thrall to the fundamental intui
734.
▲
by
pcwalton
5y ago
You can make the same argument about CPUs. Modern CPUs are horrendously complex. But nobody is asking to remove, say, out-of-order execution on simplicity grounds, because that would hurt users and cost millions of dollars at scale for no r
735.
▲
by
pcwalton
5y ago
By performance you mean elapsed time, right? So by 8x you mean 8x slower?
736.
▲
by
pcwalton
5y ago
For most regexes, backtracking and Thompson NFA have the same asymptotic complexity, which is why most languages adopted backtracking. The implementors of such languages knew what they were doing, especially when you consider that by adopti
737.
▲
by
pcwalton
5y ago
Simplicity of implementation isn't what users need, though; they need performance. For example, you can make GCC into a much simpler C compiler by compiling at -O0, but in practice nobody does that.
738.
▲
by
pcwalton
5y ago
That's a serious accusation to make without evidence. Anyone doing this would rightly face significant jail time.
739.
▲
by
pcwalton
5y ago
> What do we call C code transpiled to Rust. Crust? Fun fact: in ancient Rust, what we now call extern "C" functions were called "crust" functions, pronounced like the word.
740.
▲
by
pcwalton
5y ago
R₀ for Omicron is 8-10, but the generation time is 5 days instead of 16 days for measles.
741.
▲
by
pcwalton
5y ago
The Omicron variant of COVID-19 is the most infectious disease known to mankind. In mid-December, with caseloads similar to now, the asymptomatic positivity rate was around 15%, so you can roughly put the chances of your driver being infect
742.
▲
by
pcwalton
5y ago
It's easy to forget how bad software was back in the '90s. Third-party software on Windows 95 was horrible --crashes due to drivers and such were a constant source of headaches that we just don't deal with to anywhere near t
743.
▲
by
pcwalton
5y ago
Fine-grained sandboxing. Memory-safe languages. Safer syscalls (e.g. returning EFAULT when calling "execve(pointer to null array)"). There are lots of ways to improve the current state of security.
744.
▲
by
pcwalton
5y ago
I really like this writeup. Note that it may not be worth using the SIMD in this way (horizontal SIMD) if you know you will be multiplying many matrices that are the same size. It may be better to do vertical SIMD and simply perform the sca
745.
▲
by
pcwalton
5y ago
> In fact, the only clauses in the US Constitution that addressed slavery in any form (the Three-Fifths Compromise) were actually incentives to abolish slavery. U.S. Const., article I, section 9: "The Migration or Importation of suc
746.
▲
by
pcwalton
5y ago
> Put simply, the extra work to satisfy the borrow checker prevents errors they do not make. > This contradicts Rust propaganda, where a few CVE numbers are cited over and over, echo-chamber style. What these citations never mention i
747.
▲
by
pcwalton
5y ago
The data clearly show a significant overhead for integer bounds checks. https://danluu.com/integer-overflow/ At scale this adds up to millions of dollars. It would be a deal breaker for switching to Rust for many organ
748.
▲
by
pcwalton
5y ago
We're talking about tests here. I work with ASan for a living. I know what it is, thank you :)
749.
▲
by
pcwalton
5y ago
Every operating system kernel also presents a synchronous interface to asynchronous I/O. What Go provides is more efficient multithreading in certain cases, primarily because the kernel scheduler doesn't need to be involved on
750.
▲
by
pcwalton
5y ago
When I say that a language isn't meaningfully better than C in terms of memory safety, I mean C as programmed in 2022, which very much includes ASan.
More ›