Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
simonask
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
26 ms
·
451.
▲
by
simonask
1y ago
It just fundamentally does not make sense to compare languages by comparing codegen backends. GCC and LLVM do not produce the same code for equivalent code, especially when optimizations are applied. It's an apples-to-oranges compariso
452.
▲
by
simonask
1y ago
It's mostly a question of whether a user can accidentally or maliciously cause 4 billion objects to be constructed in the same location. Maybe it happens accidentally after the system has been running for a year, and everything comes t
453.
▲
by
simonask
1y ago
It's a cool technique, but only useful in very limited scenarios. In particular, it is unsuitable when the number of reallocations is unbounded, because the generation counter can easily overflow. Even if you can squeeze in 32 tag bits
454.
▲
by
simonask
1y ago
Go to the shore. Watch the ships. It's not complicated sciencey stuff.
455.
▲
by
simonask
1y ago
The thing about this particular topic is that humanity has known this fact for millennia, not because we flew or went to space, but because we sailed. Any human who has watched ships come in to a harbor would be able to trivially tell you:
456.
▲
by
simonask
1y ago
You truly cannot. Somebody else brought up the example of “let’s go!” versus “let us go” - not the same thing by a long shot. “Let’s” in English has a distinct meaning from “let us”, and that is to politely and casually (but firmly) suggest
457.
▲
by
simonask
1y ago
I did not say “never”, I said “barely ever”. I’m not really sure what your point is by linking the benchmarks game. I mean, it’s a fun activity, but this is saying nothing about C vs. Rust. It may or may not be saying something about GCC vs
458.
▲
by
simonask
1y ago
A funny thing I’ve noticed is that some Rust programmers will explicitly call `std::mem::drop(…)` in tricky situations where it really matters, like releasing a mutex with complex interactions - even at the end of scope. I kind of like it w
459.
▲
by
simonask
1y ago
Here: https://doc.rust-lang.org/reference/behavior-considered-unde...
460.
▲
by
simonask
1y ago
That is an unbelievable claim. 1. Rust structs are generally smaller due to layout optimization. 2. A 10-50% difference is well within the “are you measuring debug builds?” territory. I’m curious what code you are writing that requires unsa
461.
▲
by
simonask
1y ago
“Safety” as defined in the context of the Rust language - the absence of Undefined Behavior - is important 100% of the time. Without it, you are not writing programs in the language you think you are using. That’s a convoluted way to say th
462.
▲
by
simonask
1y ago
I think it’s debatable whether full 4K makes any sense on a 14” or 15” screen.
463.
▲
by
simonask
1y ago
"Let's" in English does not mean "let us". I mean, it literally does, but language is not literal. For the record, I also dislike the familiarity.
464.
▲
by
simonask
1y ago
All of Europe outside of the UK and Enligh-speaking Ireland need characters outside of ASCII, but most letters are ASCII. For example, the string "blåbærgrød" in Danish (blueberry porridge) has about the densest occurrence of non-
465.
▲
by
simonask
1y ago
Quantization is also precision loss.
466.
▲
by
simonask
1y ago
No 3D engine in the real world uses 64-bit coordinates. With 32-bit coordinates, you could not hope to represent things in nanometers (you'd be stuck in a cube roughly 4x4x4 meters). Realistically you might choose millimeters, but that
467.
▲
by
simonask
1y ago
You mean ±9,007,199,254,740,993.0 for 64-bit floats. :-) For other curious readers, these are one beyond the largest integer values that can be represented accurately. In other words, the next representable value away from zero after ±16,77
468.
▲
by
simonask
1y ago
Go is kind of broken here, since multithreading is one of extremely few ways to cause UB in Go. Rust is very much best in class here.
469.
▲
by
simonask
1y ago
It is disproportionately hard to do multithreading in C and C++ because the blast radius is huge and the tooling is not good. Languages with runtimes (Java, C#, etc.) give you lots of analysis and well-defined failure modes (in most cases),
470.
▲
by
simonask
1y ago
Hot take: Almost all programs are actually multithreaded. The only exception is tiny UNIX-like shell utilities that are meant to run in parallel with other processes, and toy programs. The third exception is programs that should be multit
471.
▲
by
simonask
1y ago
It's more correct to say that the job market is split between unionized labor and high-skilled office positions ("funktionær" = "official"), which is basically anything requiring a university education. In recent de
472.
▲
by
simonask
1y ago
It's largely insignificant when the question is "why is Denmark rich". Same goes for Sweden.
473.
▲
by
simonask
1y ago
I agree with your comment, except that framing it as "lack of willpower" is unfortunate, because it implies that you should somehow be able to ignore these signals - if only you had enough "willpower". It seems to requir
474.
▲
by
simonask
1y ago
I want to question the assumption here that "pioneer mindset" is an inherited trait, and generally whether we can say anything useful about people living today based on the choices of their ancestors several generations back. Peop
475.
▲
by
simonask
1y ago
Abuse is typically things like not paying their salary, withholding holiday contributions, breaking contractual scheduling obligations, threatening the staff with termination or reduced pay, and a host of other apparently normal behavior fo
476.
▲
by
simonask
1y ago
You are out of your mind if you think people can reliably tell what they want. Sometimes they can, sometimes they can't. Telling the difference is hard, but it's pretty clear that they can't when they suffer from the serious
477.
▲
by
simonask
1y ago
I'm sorry, but I don't think it's reasonable to equate the shady business practices of organizations like Meta to crypto-blackmailing malware.
478.
▲
by
simonask
1y ago
It's pretty clearly an attempt to establish a clear chain of trust. If you are making a malicious app, the first thing you want to do is hide your identity. It is incredibly important that users can know whose code they are running, an
479.
▲
by
simonask
1y ago
Their point stands, though. The vast majority of users do not have either kind of control, so it is a very small concession to them in favor of securing their device against a malicious actor taking control. I think this is what commenters
480.
▲
by
simonask
1y ago
It's not (just) instinctive. Good choral singers adjust their tuning purposefully to match the overtones of the harmony. For example, if you are on the fifth in the chord, you adjust the tone slightly up. If you are on the major third,
More ›