quelltext
Joined 10 years ago
Joined 10 years ago
It's interesting that the idea mail mentions that nothing changes about the implementation (including order) but the memory layout. Which would imply insertion order was already preserved in older versions (not the case IIRC) or the idea underwent a few more changes that did in fact impact order.
EDIT: I couldn't quite find an answer but https://softwaremaniacs.org/blog/2020/02/05/dicts-ordered/ mentions the behavior happens since then because the implementation only tracks indices in the hash table itself and relies on maintaining entries separately in a second array that gets expanded in insertion order.
This would also seem straightforward but it raises a few questions such as how deletion is implemented (efficiently).
EDIT2: Okay, the talk (https://youtu.be/p33CVV29OG8) mentions they just leave holes until the next resize (at around 42:00).
Raymond also mentions there that his original idea didn't preserve ordering but happened due to an additional compacting optimization? Should probably watch the whole thing some time to get the history. Sounds like a fun talk.
Traditionally you simply use a doubly linked list approach on the entries (each entry maintains two additional references to the previous and next entry) for that like LinkedHashMap: https://docs.oracle.com/javase//8/docs/api/java/util/LinkedH...
https://github.com/openjdk-mirror/jdk7u-jdk/blob/master/src/...
Which is also what Python seems to be doing: https://stackoverflow.com/a/34496644
It's fairly intuitive.
Do their new default (now also ordered?) dics do this differently?
However it's not clear how that log is transmitted. Until this point only heartbeats via append entry were discussed, so it's not clear if the followers pull that information from the leader somehow via a different mechanism, or whether it's the leader's responsibility to detect followers that are left behind and replay everything. That would seem rather error prone and a lot of coordination effort. So how's it actually done?
But Crocs had actually become somewhat popular already before Idiocracy.
The more realistic full picture explanation being that they chose something that they or someone on their staff, like many "look at those idiots" types (myself at the time included), already knew and considered a stupid trend is much more likely. It doesn't at all negate that they in fact thought nobody with taste would wear those shoes, but I don't think that choice was entirely made in isolation not aware of the trend.
The effect of watching the movie and seeing Crocs worn was yet another of those pieces of evidence that the stupid people of today connect to that fictional future world, like all the other stuff on the movie dialed all the way to the top (energy drinks, corporate sponsorships, etc.)
The mere fact that someone knew of Crocs, thought of them, and chose them because of their ugliness, means they were popular/successful enough to pop up on someone's radar, despite them ostensibly not being something that would be worn by anyone. Perhaps they didn't know how much more popular Crocs would become but they for sure must have picked them as an artifact of things already going in a weird direction (Why can you get this? Who would want this? Someone must, these will be the stupid people of tomorrow.)
But also, actually, so what?
Look at some of the fashion of past decades older movies. Some of it is cool but a lot of it is super ridiculous.
And if you look at Crocs, are they really objectively stupid? Treating them as a high fashion item probably is. But they are versatile and robust, good for many types of use cases were people used to wear other types of cheap plastic sandals. People wearing leather shoes surely thought sneaker were stupid until they became so mainstream that they were evaluated more objectively.
Citing idiocracy and Crocs seems like a very weak argument to your case and even Idiocracy's point (fashion choices don't indicate the world is getting stupid). Mind you I'm not disagreeing that things have gotten worse in many ways and social media is definitely not helping. OTOH, Facebook actually was somewhat reasonable for a long time, and useful to connect with people. Only once the Twitterification of it started did it get so bad. But somehow Twitter never gets the bad reputation.
I'm not sure we're all on the same page here but let me give you an example of how on-call essentially works on my team.
- Week long rotations spread out across the year among members.
- On-call means holding a pager but also taking in any non-urgent requests that can be handled within a reasonable time. New feature requests are out of scope, answering a bug report from support is in scope, including a fix if that's possible.
- Responding to paging alerts only at night. On some teams we did have sister teams in other regions to cover with their on-call over some portion of the night.
- Generally, paging alerts are rare enough (once or twice a week) so out of work hours disruption is fairly low.
- Non-urgent breakages, bug reports, etc. are fairly common though.
Someone has to handle all that so it's a rotation. I don't think providing incentives to engineers to take more on-call is practical. Unless you are okay with them stagnating in their career. And it's the EM asking here so I'd hope they didn't want that.
Reading comments like yours, I guess I should value my work environment more.
iPads are most definitely marketed as devices suitable to take the place of conventional computers.
Doesn't that heavily depend on where the employee is based?
https://en.m.wikipedia.org/wiki/Affirmative_action_in_the_Un...
Quotas are legal in many states. Granted the author is likely based in CA. Still, let's keep away from absolutes.
FWIW I also don't support discrimination in whichever direction. However, so far the story is "there was some kind of quota delaying my promotion". Is that really news or surprising?
I guess it is surprising someone just stated it to them directly but this whole thing isn't particularly juicy yet.
I guess this HN submission was just a teaser as well then. Maybe another one will reveal something actually interesting.
I mean, it has a similar effect but it's not like we don't know quotas exist and are largely tolerated, are they not? Are quotas outright illegal in the US?
Do we know it was a racial quota? Now, gender quota would still not be better for the author but this is still lacking in novelty.
I don't use X so maybe it's buried somewhere else.
Even the tweet you mentioned wasn't directly discoverable from the submission.
But it looks like he already tweeted months ago that this had happened.
What's actually new info now?
"The beauty of this scheme is that a node only has to know about its share of the interval"
The article doesn't explain curve changes in much detail, but I assume it increases the portion of the curve "owned" by the node.
With unique identifiers all a node needs to know its identifier. So that can't be what's interesting about these interval portions.
Also:
- How that curve is initially drawn isn't clear at all. Is it flat and becomes complex over time by forking (+ data modification)?
- Why are interval boundaries real-value in a system that cannot actually express real numbers?
- How are the intervals / portions decided? Is that simpler than generating UUIDs?
- How does comparison work?
"Comparison works similarly to Version Vectors: if the curve of a stamp is above the other one, it descends it, otherwise the curves intersect and the stamps are concurrent."
But now you have events with curves and intervals where one event might miss a portion. It's not immediately clear what happens in that comparison. It's maybe obvious to some readers but clearly not an audience that needed introduction for the other things initially explained by the article.
In terms of conclusions:
My understanding is that the main benefit is that the overall complexity of the "vector" becomes simpler in light of actor explosion due to the merging mechanism. Whereas UUIDs (or even monotonous index indexed vectors) would grow indefinitely, making tracking them on events a challenge.
This intro article fails to make this stuff clear.