Like meta with the metaverse thing, I hate it with a passion, but pouring billions yearly with little return just to support your vision is at least a break with tradition...
864 karma · joined October 21, 2020
Like meta with the metaverse thing, I hate it with a passion, but pouring billions yearly with little return just to support your vision is at least a break with tradition...
> take memory snapshots after each step in a workflow
Don't do this. Just give people explicit boundaries of where their snapshots occur, and what is snapshotted, so they have control both over durability and performance. Make it clear to people that everything should be in the chain of command of the snapshotting framework: e.g no file-local or global variables. This is already how people program web services but somehow nobody leans into it.
The thing is, if you want people to understand durability but you also hide it from them, it will actually be much more complicated to understand and work with a framework.
The real golden ticket I think is to make readable intuitive abstractions around durability, not hide it behind normal-looking code.
Please steal my startup.
What we need is an opinionated framework that doesn't allow you to do anything except durable workflows, so your junior devs stop doing two POSTs in a row thinking things will be OK.
The article is not straw-manning the AI argument, its steel-manning it: show me any improvement in software delivery after the invention of generative AI.
Apparently even that bar cannot be cleared....
> Idempotency is a property that says the handler can run as many times as I like
.... using some input. If that input has a key and the handler bails on execution, your definition is not at all violated. Its only violated if you don't consider the check a part of the handler, which is an arbitrary limitation.
Regardless, I think your interpretation that avoids identifying the message explicitly leaves a very narrow set of idempotency candidates, which is not a useful definition. Under that definition, really only reads are idempotent, as any state setting can be later retried and give a different result if other state settings are interleaved.
For your specific question here: NUMA & cpu cores don't suffer from the P in CAP: network partitions. If one of your CPU cores randomly stops responding, your system crashes, and that's fine because it never happens. If one of your web servers stops responding, which may happen for very common reasons and so is something you should absolutely design for, your system should keep working because otherwise you cannot build a reliable system out of many disconnected components (and I do mean many).
Also note that there is no way to really check if systems are available, only that you cannot reach them, which is significantly different.
Then we've not even reached the point that the CPU die makes communication extremely fast, whereas in a datacenter you're talking milliseconds, and if you are syncing with a different system accross data centers or even with clients, that story becomes wildely different.
Its true that idempotency can sometimes be achieved without explicitly having message identity, but in cases it cannot, a key is usually provided to solve this problem. This key indeed encodes the identity of the message, but is usually called an "idempotency key" to signal its use.
The system then becomes idempotent not by having repeated executions result in identical state on some deeper level, but by detecting and avoiding repeated executions on the surface of the system.
The thing that webdevs want to solve is related but different, and whether the forest is missed for the trees is sometimes hard to tell.
What webdevs want to solve is data replication in a distributed system of transactions where availability is guaranteed, performance is evaluated horizontally, change is frequent and easy, barrier to entry is low, tooling is widely available, tech is heterogeneous, and the domain is complex relational objects.
Those requirements give you a different set of tradeoffs vs financial exchanges, which despite having their own enormous challenges, certainly have different goals to the above.
So does that mean this article is a good solution to the problem? I'm not sure, its hard to tell sometimes whether all the distributed aircastles invented for web-dev really pay out vs just having a tightly integrated low-level solution, but regardless of the hypothetical optimum, its hard to argue that the proposed solution is probably a good fit for the web dev culture vs UDP, which unfortunately is something very important to take into account if you want to get stuff done.
Neither will seatbelts if you drive into the ocean, or helmets if you drink poison. I'm not sure what your point is.
Indeed, and not everything or everybody in the world consists of completely contrarian opposite opinions :-)
> Why would members of the government have a structural incentive to pass laws at the behest of special interests? Because they get money for it.
Not in a functioning democratic government, i.e most of them.
> If it's worth more to the public than it costs then the public should pay for it.
I think you should write a 10 page book that solves all the worlds problem by just taking surface-level obvious directions on big nuanced topics, I'm sure it will be transformational.
> and they're supposed to be in trouble.
Again simplified, the bank doesn't do this. It does things similar to it, how similar is too similar? That's what regulation tells you.
> because there are only three options
Again, no there aren't. I understand that you feel this way, but things can differ on a case by case basis without being hypocritical. The world is complex, unique circumstances require unique responses. Overly unique responses create bureaucracy and overhead and edge cases. Neither is ideal. Walk the line, balance it out, that's governments' job. Do they always succeed? No. Can the problem be solved by a two paragraph simplified solution on an online board? Also no.
Needlessly polarizing every topic into dogmatic rules is exactly the thing you are accusing governments of, and are yourself now doing. Reality is harder than mathematical or rhetorical logic, because of ethics, because of complex interacting systems, because people don't act rationally, because people don't act in their own interest etc etc etc.
There are plenty of governments that use tools to overstep their bounds, yours included, those same governments are also using tools to protect people from harm. Both tools are the same tools.
No, if that was my position, you would've found out by me saying that was my position.
> Which people? The ones with a structural incentive to not do that?
Why would they have such an incentive? This is all hyperbole.
> but the problem is of its own making
It really isn't. Its expensive to test cars, and its also necessary for safety.
> It is indeed the role of law enforcement to enforce the laws.
Yes, which get codified as regulation.
> Is your argument that it isn't an unfunded mandate
Again, if my argument was something you would find out.
I'm saying what I'm saying: your arguments don't make sense, they are hyperbole, I am not defending or attacking a specific take on regulation, other than the take that, guess what, its hard.
I don't even believe that you believe this.
> the benefit is unambiguously large and staying away from borderline cases
If this was easy, don't you think maybe that's what people would be doing?
> if it wants testing done then it should pay for it from general revenue
???
So if I build a car, screw it up, have to test it 500 times just to pass and be allowed to sell it, that's the governments problem? If I open a bank and take peoples money, its up to the government to take initiative on making sure I'm not screwing them over?
> instead of imposing an unfunded mandate
What? So now any test the government mandates is an unfunded mandate? Like food tests?
This is obviously getting way to political because none of the arguments are making any sense, and are completely disconnected from reality.
I don't even consider myself pro regulation but this is just the equivalent of putting your fingers in your ears and shouting LALALALALALA.
Not really, proponents of GDPR are aware that GDPR explicitly blocking trackers would be extremely hard as there is a significant gray area where cookies can be useful but non-essential, so you'd have to define very specifically what constitutes a tracker or do a blanket ban and hurt legitimate use-cases. Both are bad.
For some reason though people think that the body that institutes laws that try to make the world a better place, when loopholes are found and abused for profit, this is somehow the standard body making a mistake, rather than each individual profit-seeking loophole-abusing entity being the problematic and blame-worthy actor.
I never understand why, I guess you work somewhere that makes money off of this.
They generally don't, because you don't need banners to store cookies that you need to store to have a working site.
In other words, if you see cookie banner, somebody is asking to store/track stuff about you that's not really needed.
Cookie banners were invented by the market as a loophole to continue dark patterns and bad practices. EU is catching flak because its extremely hard to legislate against explicit bad actors abusing loopholes in new technology.
But yeah, blame EU.
And before you go all "but my analytics is needed to get 1% more conversion on my webshop": if you have to convince me to buy your product by making the BUY button 10% larger and pulsate rainbow colors because your A/B test told you so, I will happily include that in the category "dark patterns".
I'm not sure why people keep piling up to pretend this is such a normal thing, this is literally why people don't discuss salaries despite it technically being in their own interest: specifics ground the fuzzy notion of inequality into reality like nothing else.
The offensive post inflates the perceived inequality from "500$ pants is too much for pants" to "10k means nothing to me" while my version leaves the specifics outside of the conversation. In my version, the person could put the level of "too expensive for pants" at 1k, still an order of magnitude lower than the offensive post.
Finally, I acknowledge that this is a privileged position to be in explicitly, because that signals that you are aware that this is an exceptional situation to be in (which I'm not sure the offensive post author is aware of, even now).
I don't think I have to explain to you how the gap between what you said, and what I wrote above, is what is causing offense here. You likely deserve 100% of your success, but its just common sense to obscure the specifics of it if you are way out of band in relative terms.
Its like saying: "You know, I never really get ill" at the cancer ward. Sure, its true, but read the room.
> Book chapters and page numbers are not offsets.
I don't know but I feel like you are making a point out of something arbitrary. When I listen to an audio book, everyone always says: "Chapter 1", not "the first chapter" so why is this important?
I think extreme attention to to arbitrary meaningless details is how we ended up with most rules in language that we are starting to collectively detest.
Just the convenience of having an ordinal number to say? Rather than saying "chapter 0, chapter 1, chapter 2" one can say "the fourth chapter"? Or is it the fact that the chapter with number 4 has 3 chapters preceding it?
On first glance I find this all rather meaningless pedantry.
I'm not sure that's fair. Its like saying gamblers 'want' to gamble, or addicts 'want' to do drugs. Its deeper, more evil, and includes less autonomy than 'wanting' implies.
Scroll down to the "major events timeline", its only irregular for now...