Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
pcwalton
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
11 ms
·
121.
▲
by
pcwalton
2y ago
Abolishing the DoE is wildly unpopular, even among Republicans: https://all4ed.org/publication/voters-views-on-education-in-... You're in a significant minority even within your own party.
122.
▲
by
pcwalton
2y ago
Well, RIVA 128 didn't even have multitexturing, so not much of that is going to be applicable. I don't think that Voodoo era chips even used Pineda rasterization as that article details; they did fancy scanline rasterization.
123.
▲
by
pcwalton
2y ago
From a glance it looks fairly standard for a fixed-function GPU of the day. These GPUs were primitive by modern standards; they didn't even have hardware T&L, meaning everything essentially had to be converted from 3D to 2D on the
124.
▲
by
pcwalton
2y ago
3dfx' proprietary Glide was still very popular in 1997. UltraHLE wouldn't come out until 1999 and that was famously Glide only.
125.
▲
by
pcwalton
2y ago
Yeah, I was looking at infantry.cpp, and the quality is actually very good for 90s game code. The documentation is good, it's decently well-formatted, and there are assertions. Nice counterexample to the "all successful games ha
126.
▲
by
pcwalton
2y ago
He didn't completely whiff it? The probabilities that Nate and the current team at 538 have given over the years are empirically very accurate. 538 is quite transparent about this stuff [1]. Their Brier skill score for Presidential ele
127.
▲
by
pcwalton
2y ago
> So we voted for Tulsi to take a chain saw to the CIA. If "we" means "the minority MAGA base", then sure. But Gabbard has never been popular. Her favorability is at -13.7 in the RCP average [1], was never above water
128.
▲
by
pcwalton
2y ago
I'm actually quite impressed that LLVM is able to convert that dependent load of an array into a switch statement.
129.
▲
by
pcwalton
2y ago
So wait, I'm supposed to wish success for everything, say, Gavin Newsom does because I voted for him? Is that how it works?
130.
▲
by
pcwalton
2y ago
> It was used as a hash, and every TEA key has an equivalent alter-ego key or something, I forget the details. It's that flipping bit 16 and 31 of a 32-bit word makes the end TEA state the same [1]. [1]: https://events.cc
131.
▲
by
pcwalton
2y ago
The borrow checker is more influenced by substructural type systems, such as the one in the MLKit [1] and Cyclone. [1]: http://mlton.org/Regions
132.
▲
by
pcwalton
2y ago
I suspect that LeetCode is a factor too. Even if the hiring standards haven't deteriorated, the fact that you can "study to the test" nowadays in ways you couldn't in 2012 selects for a different set of candidates.
133.
▲
by
pcwalton
2y ago
> I wonder if any of those who claim that the RISC-V ISA is simple can remember without searching the documentation how to implement the checks for integer overflow after each arithmetic operation. I mean, I can't give you the Hacke
134.
▲
by
pcwalton
2y ago
C and C++ (the latter unofficially, IIRC) have this with bitfield types, and they aren't very well loved, precisely because they aren't addressable.
135.
▲
by
pcwalton
2y ago
At that cost of having your loads no longer be hardware load instructions, which would be bad for performance.
136.
▲
by
pcwalton
2y ago
If your pointers have to have a bit offset, then now a pointer isn't just 1 hardware word, which would be odd to say the least for a systems language. (It would also be slow, because making a load anything other than a load is somethin
137.
▲
by
pcwalton
2y ago
I'm not convinced, actually. The problem is that every proposal for safe C++ that I've seen sacrifices compatibility with the broader C++ ecosystem. Yes, you could graft borrow checking onto a C++-like semantics, but what you woul
138.
▲
by
pcwalton
2y ago
> Zig is good at all the areas Rust is good at. Not memory safety. > Zig is also good at game development which Rust is not good at. Let's see. Over just the past year in Bevy I've implemented GPU driven rendering, two-phase
139.
▲
by
pcwalton
2y ago
> C++ has a lot more footguns to create UB in the first place. I'd actually give the edge to C++ over Zig, because of smart pointers (not that I'm implying smart pointers are anywhere near sufficient).
140.
▲
by
pcwalton
2y ago
> If it's a 32-bit target platform, then the minimum granularity is 4 bytes. Huh? How do you think `const char *s = "Hello"; const char *t = &s[1];` works? > Why should pointer size determine value size though? Beca
141.
▲
by
pcwalton
2y ago
The idea that memory safety is only, or primarily, a problem in large codebases written by a sizable team is an interesting theory (sort of an inverse Linus' Law?) Unfortunately, it's contradicted by decades of experience.
142.
▲
by
pcwalton
2y ago
> It provides quite a few compile time checks and primitives to catch memory leaks or prevent them altogether. From what I've seen, clang has all of these and more for C++. If your metric is "tooling to help you catch UB",
143.
▲
by
pcwalton
2y ago
> LLVM improvements will do little to improve Rust Falsified many times during Rust's development.
144.
▲
by
pcwalton
2y ago
That first "random Rust game code" is in fact code I wrote :) It's the same amount of punctuation as C++, or really any other language with C-like syntax.
145.
▲
by
pcwalton
2y ago
For one, it doesn't do all the "memory safety parts", according to the readme. I'm very skeptical that Zig can be made memory safe with a checker while still remaining compatible with existing code. Certainly neither C n
146.
▲
by
pcwalton
2y ago
I'm normally not sympathetic to the "you don't need that" argument, but there is a much stronger argument for not having arbitrarily-sized integers in Rust: the fact that values of such types can't have an address.
147.
▲
by
pcwalton
2y ago
> It appeared to be on a good track to dethroning C++ in the domain I work in (video games)... but they locked it a while before figuring out the ergonomics to make it workable for larger teams. There are million-line Rust projects now.
148.
▲
by
pcwalton
2y ago
Objective-C and Swift are the reason why I added the footnote. (Also Objective-C is very, very much not memory safe.)
149.
▲
by
pcwalton
2y ago
You can (assuming you're talking about Rust)! Just use Clippy and add #[deny(clippy::shadow_reuse)]: https://rust-lang.github.io/rust-clippy/master/#shadow_reuse My position on shadowing is that it's a t
150.
▲
by
pcwalton
2y ago
> typeclasses/traits are, internally, virtual classes with a vtable pointer No, they're not. Rust "boxed traits" are, but those aren't what the author means. > Primarily because if Zig did have a full Unicode
More ›