Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
vitus
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
21 ms
·
271.
▲
by
vitus
2y ago
Router config changes are simultaneously very commonplace and incredibly risky. I've seen outages caused by a single bad router advertisement that caused global crashes due to route poisoning interacting with a vendor bug. RPKI enforce
272.
▲
by
vitus
2y ago
> the wrong way around the continent I see you haven't met Google's production backbone network(s)... We intentionally didn't connect the Middle East and India (due to a combination of geopolitics and concerns around routi
273.
▲
by
vitus
2y ago
There are a number of standard libraries that we (Google) ban because we have in-house alternatives that we generally prefer. (In some cases, this is due to compatibility with our threading model. In others, it's probably due to inerti
274.
▲
by
vitus
2y ago
Yes, modulo some text that's inappropriate to post externally. (Often, because they reference internal libraries in google3 -- this includes things like the ban on <thread> and <future>).
275.
▲
by
vitus
2y ago
Quoting the full section on `T t;`: - If T is a class type and there is a default constructor, run it. - If T is an array type, default-initialize each element. - Otherwise, do nothing. That decision tree should read: "If T is a class
276.
▲
by
vitus
2y ago
In the first few paragraphs: > Primarily, there are two kinds of initialization of concern: default-initialization and value-initialization. The rules given in the standard look roughly like this: > * For any type T, T t; performs def
277.
▲
by
vitus
2y ago
Also, this entire argument seems to be founded on https://en.wikipedia.org/wiki/Freiling%27s_axiom_of_symmetry . It is not clear that Freiling himself accepts this axiom -- "Freiling's argument is not widely a
278.
▲
by
vitus
2y ago
I am not remotely convinced by this argument. The first flaw I see is that the author is imprecise by commingling probabilities (0%, 100%) with absolutes (possible, impossible, none, never, etc). > After all, probability-zero events do h
279.
▲
by
vitus
2y ago
Eh. Historically, the rationale for excluding women from the draft was that they weren't eligible to serve in combat roles, voluntarily or otherwise. (see: https://en.wikipedia.org/wiki/Rostker_v._Goldberg ) That p
280.
▲
by
vitus
2y ago
Correct. The scientific experiment was the lack of water. > James Sullivan, the chief organizer of the games, wanted to minimize fluid intake to test the limits and effects of purposeful dehydration, a common area of research at the time
281.
▲
by
vitus
2y ago
There are some other good explanations in the other comments, but I suspect you might want a balance between more detail and the deluge of information in the wikipedia page for loop unrolling. You might first write something like memcpy as:
282.
▲
by
vitus
2y ago
That's because even the ACM link is an abbreviation of the actual paper. Preprint at https://arxiv.org/abs/2203.00671 (Pages 68-75 build up the full details of the bound, which looks something like Õ(mκ⁻²α⁻²ϵ⁻¹).
283.
▲
by
vitus
2y ago
Agreed, now that I'm the person getting these questions, it's hard to reconcile "it would have saved me a ton of time when I was new to this codebase" with "why can't you do even a basic amount of due diligence
284.
▲
by
vitus
2y ago
The point that resonated most with me, and that I repeat every time someone early in their career asks for advice (or one thing I wish I had been told when I first started out) is "When working on a team, you should usually ask the que
285.
▲
by
vitus
2y ago
You would think so, but buffers are actually a core part of regular router function. The problem is not inherently router buffers, but rather buffers that don't fully drain (bufferbloat) or that fill up (congestive drops). Think about
286.
▲
by
vitus
2y ago
DSCP / ToS is used for traffic classification within a network (which can be used to select router policy), but generally not across autonomous systems. You'd have to get everyone to agree on what various traffic markings mean, an
287.
▲
by
vitus
2y ago
SACKs have been in TCP for 25-30 years now (Widely adopted as part of New Reno, although RFC 2018 proposed the TCP option and implementation back in 1996). That said, the typical reason why TCP doesn't send packet N+1 is because its co
288.
▲
by
vitus
2y ago
> There's no reason to hold off on sending chunk n+1 of the file, just because chunk n hasn't arrived yet. Congestion control comes to mind -- you don't necessarily know what rate the network supports if you don't hav
289.
▲
by
vitus
2y ago
> Because author of the article likes to be edgy and parrot the deep truth he learned yesterday I will point out that "author of the article" is one of the core contributors in the IETF Media-over-QUIC working group (which is a
290.
▲
by
vitus
2y ago
IMO "best-effort" is euphemistic and confusing to people outside of this space, even (especially?) to native English speakers. (I would probably have described UDP as "reasonable effort" and TCP as "best effort"
291.
▲
by
vitus
2y ago
> That only works when y is constant. Excellent point! That said, that was the case in this particular example. > This 16-bit modulo was just a final check that the correct number of bytes or bits were being sent (expecting remainder
292.
▲
by
vitus
2y ago
If y is always a power of 2 (as suggested in the comments), then I'd expect it to turn into an AND of some sort. And more generally, with older architectures, integer division was much slower than integer multiplication, so compilers w
293.
▲
by
vitus
2y ago
> As far as I'm aware, the type of string literals in C++ is still a "raw" char pointer and not a string view. You can define a constexpr std::string_view with a literal if you so choose. And if you pass a string literal t
294.
▲
by
vitus
2y ago
C++'s std::string might as well be syntactic sugar on top of a std::vector<char> (due to significant similarities in implementation and API), with null-termination by default for C interop. In general, in C++ you shouldn't b
295.
▲
by
vitus
2y ago
This sounds more like convergent evolution rather than a shared root. Tread derives from Middle English treden ; the difference here is to step vs to roll. The latter definition you cite is a newer usage (from the 20th century) which is mo
296.
▲
by
vitus
2y ago
> the specific rule in California labor law mentions the 5 hour requirement. You're not wrong here. > This means Employees are basically required to take the meal break before 5 hours I don't think this characterization is s
297.
▲
by
vitus
2y ago
I don't have first-hand experience with PAGA lawsuits, and I am not a lawyer, but: > employers are required to require employees take lunch within 5 hours of starting the day This seems like a misrepresentation of the relevant statu
298.
▲
by
vitus
2y ago
Why is this counterintuitive? You're describing scheduling -- your high priority service has the ability to preempt the low priority service and use more of your CPU (or whatever your bottleneck is) if there are pending requests. If yo
299.
▲
by
vitus
2y ago
> a utilization of 0.90 > So we went from a latency of 1 second to 0.091 seconds which is an 11 times improvement. There's your problem -- you should never allow unbounded queue growth at high utilization. Going from 80% to 90% u
300.
▲
by
vitus
2y ago
Even more pitfalls result from this behavior: > Care should be exercised if BigDecimal objects are used as keys in a SortedMap or elements in a SortedSet since BigDecimal's natural ordering is inconsistent with equals. See Comparabl
More ›