Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
dwattttt
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
15 ms
·
331.
▲
by
dwattttt
1y ago
While a package with 10 million all-time downloads is nothing to sneeze at, it's had one memory corruption bug reported in its ~7 year life. It's being compared to a C library that's held to extremely high standards, yet this
332.
▲
by
dwattttt
1y ago
I... with the evocative scenario... would choose another remedy, rather than have a nurse steady the drunken surgeon's arm.
333.
▲
by
dwattttt
1y ago
Quis turmas probationum examinat? Validating that the build you produced works at all should be done by you, but there's also a whole team whose job it was to validate it; would you advocate for another team to test the testing teams t
334.
▲
by
dwattttt
1y ago
It would be a problem, except that the behaviour you're moving away from is a stale pointer. So surely any application that'd be leaking under that new behaviour would be crashing today.
335.
▲
by
dwattttt
1y ago
Calling gcc (which runs entirely happily in WSL2) "cloud software that might as well be on a vps" is at the same time accurate and apparently insulting.
336.
▲
by
dwattttt
1y ago
Those are properties of Python's package management strategy and language design, they're not inherent to package management.
337.
▲
by
dwattttt
1y ago
One day the rote example finally made sense to me, and I go back to it every time I hear about variance. Got a Container<Animal> and want to treat it as a Container<Cat>? Then you can only write to it: it's ok to put a Cat
338.
▲
by
dwattttt
1y ago
> reserve_exact isn't inherently dangerous Dangerous is perhaps overstating it, but the only utility reserve(_exact) has is performance and predictability. If using the API can be worse than doing nothing, I think it warrants being
339.
▲
by
dwattttt
1y ago
I was actually looking to point out MS's x64 ABI requires a standardised function epilog since this bug occurred during an epilog, only to find ARM64's epilogues are also described by bytecode (at least at a cursory glance).
340.
▲
by
dwattttt
1y ago
MS's ARM64 unwinding ABI looks even more complicated: https://learn.microsoft.com/en-us/cpp/build/arm64-exception-...
341.
▲
by
dwattttt
1y ago
You have to keep a close leash on your contractors: https://www.loweringthebar.net/2019/10/fourth-level-subcontr... EDIT: I am _very_ sad that link rendering truncated "murder plot" from that
342.
▲
by
dwattttt
1y ago
While true, more fragmentation of the gaming engine market wouldn't make you more certain of what performance you can expect from a game.
343.
▲
by
dwattttt
1y ago
To elaborate on siblings compile time vs run time answer: if it fails at compile time you'll know it's a problem, and then have the choice to not enforce that check there. If it fails at run time, it could be the reason you get pa
344.
▲
by
dwattttt
1y ago
The branch of mathematics you need to compute the bounds of the result of an operation is called Interval Arithmetic [1]. I'm not sure of where its limits are (hah), but at the very least it provides a way to know that [0,2] / [2,
345.
▲
by
dwattttt
1y ago
To be fair, with JS's initialisation rules it does feel like it could have been anywhere.
346.
▲
by
dwattttt
1y ago
Nope, it wouldn't be. I'm just pointing out that it being unsafe or hard to use is no barrier at all to it being in the language.
347.
▲
by
dwattttt
1y ago
I agree with everything you've said, except the conclusion: C can't add proper safe RAII, but being "proper and safe" is not a threshold C even tries to uphold.
348.
▲
by
dwattttt
1y ago
You mandate it like you mandate anything else in C. You don't. You pick C because you want a language that doesn't require a variable to be initialised before mutably referencing it, and you write your defer statements or "de
349.
▲
by
dwattttt
1y ago
C has had designated initializers since C99, if you want you can initialise every struct field at once.
350.
▲
by
dwattttt
1y ago
Beyond the advantage that a type-checker/linter can tell if you're doing the right thing when writing those functions, it lets an IDE infer what type you're iterating over, in order to provide more support/completion
351.
▲
by
dwattttt
1y ago
> I would have thought of the Linux kernel first and foremost. It's a truly massive architecture, built by a huge number of developers in a distributed fashion, with many intricate and highly optimized parts, impressive concurrency,
352.
▲
by
dwattttt
1y ago
> The idea that a language can handle any complexity for you is an illusion I think this is wrong on its face. We wouldn't see any correlation between the language used and the highest complexity programs achieved it in. As recently
353.
▲
by
dwattttt
1y ago
> straightforward, efficient architecture and bug-free code The grace with which C handles projects of high complexity disagrees. You get a simple implementation only by ignoring edge cases or improvements that increase complexity.
354.
▲
by
dwattttt
1y ago
> it takes absolutely gobsmacking amounts of assembly to do anything. "ever built something big in LEGO? Yeah? Yeah."
355.
▲
by
dwattttt
1y ago
Evolution is extremely inefficient at producing good designs. Given enough time it'll explore more, because it's driven randomly, but most mutations either don't help, or downright hurt an organism's survival.
356.
▲
by
dwattttt
1y ago
> Instead, you want to use the format that can be read and written by a rank novice with a single programming course under their belt, because that's what makes the field approachable by dewey-eyed undergrads eager to get their feet
357.
▲
by
dwattttt
1y ago
The question of how to represent things not specified in the original format is a tough one. At the loosest end a format can leave lots of space for new symbols, and you can just use those to represent something new. But then not everyone a
358.
▲
by
dwattttt
1y ago
This is a presentation problem, or possibly a lack of tooling problem. A binary format with a tool that renders it to text works the same as a text format; if the rendering is lossless, you could even consume the text format rather than the
359.
▲
by
dwattttt
1y ago
The economic paradigm that evolved during the exponential portion of population growth depends on it. It's not the only model that can possibly exist, and it looks like we'll be meeting new ones.
360.
▲
by
dwattttt
1y ago
I was actually under the impression compression algorithms tend to work over a bitstream, but I can't entirely confirm that.
More ›