The largest benefit of microservices has always been lifecycle management, and "clear interfaces" in "modular monoliths" does not in fact solve that. If you update the logging library in a monolith, everyone takes that updates even if it breaks half the teams.
That's a "large" organization problem. But large is actually, not that big (about 5-10 scrum teams before this is a very large problem).
It also means on critical systems separating high risk and low risk changes are not possible.
Like all engineering decisions, this is a set of tradeoffs.
I've had basic facts about mathematics which are wrong deleted in revisions by editors with no knowledge of the subject beyond having asked ChatGPT (which repeats the wrong shit on Wikipedia). It's hard to be worth it. Wikipedia's biggest problem is the editors.
This is true, and at the same time, this article is absolutely rife with unsourced, unserious points. However insane Trumps plans, the fundamental "facts" presented here are largely a joke.
> Chinese workers work longer hours more happily and they’re physically faster with their hands; they can do things that American labor can’t. It’s years of accumulated skill, but it’s also a culture that is oriented around hard work and education that the United States no longer has. In China, there are no people who are too fat to work. The workers don’t storm off midshift, never to return to their job. You don’t have people who insist on being paid in cash so that they can keep their disability payments, while they do acrobatics on the factory floor that the non-disabled workers cannot do.
It's an actual joke to present something with such a derogatory view of the median American worker with no data to back it up. Most of America's "labor class" is in fact Mexican, the country with the highest annual hours worked per year. Secondly hours worked does not relate directly to productivity. American workers are the most productive in the world. [1]
More importantly, _we don't manufacture like this anymore, even in China_. Doing "acrobatics" on the factory floor is now obsolete. Much of what's said here fails to acknowledge that we would _not_ build our supply chains the same way as China does. China had a surplus of human labor (one that's facing an impending demographic crisis) and so used human labor in ways modern western countries would not and do not.[2]
E.h., kind of. If you are allocating in a hot loop it's going to suck regardless. Object pools are really key if you want high perf because the general purpose allocator is way less efficient in comparison.
It depends on how long the time you spend in your c function is. cgo has a substantial overhead for calling. I tend to prefer just writing ASM functions for critical path code. You can use libraries like https://github.com/mmcloughlin/avo to make it easier to write/maintain.
So on point. We do _a lot_ of hand written SIMD on the other side (encoders) as well for similar reasons. In addition on the encoder side it's often necessary to "structure" the problem so you can perform things like early elimination of loops, and especially loads. Compilers simply can not generate autovectorized code that does those kinds of things.
It's not like sabotaging German ships will cause Germany to increase military spending or fix the Bundeswehr's comically bad procurement process so there is little risk for Russia in these actions.
The US has banned foreign leadership of tv and newspapers since the 30s. At no point had the US ever really allowed foreign governments unfettered control over our media.
What same-process modularization does _not_ solve is independent lifecycle management. In a monolithic system your change rate often becomes tied to your slowest, most bug prone module or team. If you've some integration test that bakes some piece of important code for 48 hours, you can only make a change _everywhere_ else every 48 hours.
Now sometimes folks (the Windows team famously did this) build systems which identify which tests to run based on changes that occur in the codebase, but that's _not_ easy.
These sorts of models pop here quite a bit, and they ignore fundamental facts of video codecs (video specific lossy compression technologies).
Traditional codecs have always focused on trade offs among encode complexity, decode complexity, and latency. Where complexity = compute. If every target device ran a 4090 at full power, we could go far below 22kbps with a traditional codec techniques for content like this. 22kbps isn't particularly impressive given these compute constraints.
This is my field, and trust me we (MPEG committees, AOM) look at "AI" based models, including GANs constantly. They don't yet look promising compared to traditional methods.
Oh and benchmarking against a video compression standard that's over twenty years old isn't doing a lot either for the plausibility of these methods.
The thing I found interesting in the AVX512 gains over AVX2. That's a pretty nice gain from the wider instruction set which has often been ignored in the video community.
You've mis-understood. The 8tap filter is part of the HEVC encode loop and is used for sub pixel motion estimation. This is likely an improvement in encoding performance, but it's only in one specific coding tool.
I'm a huge fan of providing laymen explanations. And at some point if you _actually_ want to understand you have to stop using those and pickup and understand the math.
You missed the point. Most people take on debt when it's cheap (low interest) and take on savings when they have high returns (high interest). You save when interest rates are high, you buy when interest rates are low.
That's a "large" organization problem. But large is actually, not that big (about 5-10 scrum teams before this is a very large problem).
It also means on critical systems separating high risk and low risk changes are not possible.
Like all engineering decisions, this is a set of tradeoffs.