Interesting read, but I feel like they should have also benchmarked using COPY with Postgres. This should be far faster than a bulk insert, and it’s more in line with what they are benchmarking.
I maintain a project that publishes a SQLite file containing all package metadata, if you don’t want to use BigQuery or the API to do this kind of analysis
They wanted android developers that used google play services to basically be able to submit the same app to the amazon/fire store (without major revisions), so they reverse engineered the framework used by Google for api/hooks between the apps/apks and the "play-services"/OS levels.
Sort of spoofed the environment to prioritize compatibility in order to make it as easy as possible to grow the Amazon app store.
People don't realize that despite Android being nominally 'Open Source', the closed source Google layer on most phones makes it very difficult to exclude Google entirely from the picture and have a user friendly phone environment (both end-user and app-developer/playstore-user).
Basically only Amazon and China had resources to counter it directly with Android, or you could drop that layer and go the less user friendly route of st like AOSP 'pure' phones.
> Right now the rules is Linus can force you whatever he wants (it's his project obviously) and I think he needs to spell that out including the expectations for contributors very clearly.
>
> For myself I can and do deal with Rust itself fine, I'd love bringing the kernel into a more memory safe world, but dealing with an uncontrolled multi-language codebase is a pretty sure way to get me to spend my spare time on something else. I've heard a few other folks mumble something similar, but not everyone is quite as outspoken.
He gets villianized and I don't think all his interactions were great, but this seems pretty reasonable and more or less in line with what other people were asking for (clearer direction from Linus).
That said, I don't know, maybe Linus's position was already clear...
In many languages, like Italian which I am a native speaker of, to "spread like a cancer" doesn't have the negative subtext of the English idiom. It just means it spreads, wildly, uncontrollable. In English it gets muddled with the very negative idiom of "being a cancer", i.e. being very bad if not fatal.
I think it's because in English-speaking places (I'll say "The US and some rounding errors" to be explicit) the fact is that for a long time, cancer was a death sentence. This led to anything that is hard to kill as being called cancerous and the avoidance of such things is important (yes, this is where you chuckle and mime smoking a cigarette. There's still a population of the US that believes "smoking causes cancer" is a conspiracy by Big Pharma to push more cancer treatments or some bullshit like that.)
Calling something "cancerous" is to say it was an incurable disease that unless stamped out with some amount of precision will continue to cause rot and decay. Be it correct or not, saying "The cancer that is killing HN" is pointing a finger at a problem and scapegoating all the other problems onto it.
That's a good distinction, and it pretty much captures the exchange. Both sides felt quite strongly; Helwig used strong words. But that doesn't mean either side was unreasonable, despite some of us commenters being discomforted.
I understand you, no one should live his life living in a cage, even if it's a metaphorical one. Some people are shit posting because of their reasons, this shouldn't change anything on your side IMHO. Easier said than done, I know.
Instead of mocking you, let me send you love and respect. I hope you enjoy your life and find your freedom in your own way, and have fun doing so, preferably with other people.
the point is that all the things that commenter listed are enabled by the taxes we pay - it's the price we pay for living in a civilized society. Saying that they don't directly pay it misses the forest for the trees: we decide to pay taxes for things in a system that overall produces these outcomes, treating them separately is to split parts of a coevolved system
Civilized society doesn’t require a layer of working poor at the bottom to function. That is what I am a part of: the great mass of unfulfilled workers with no choices, no chance for advancement.
I’m a blue collar worker right on the edge of high end white collar work. I see on a daily basis that which I can never possess.
The system produces these outcomes because that is the desired design goal of the system. If this is “civilization” I want no part of it. But then, we don’t get that choice anymore do we? Where could I go on Earth to escape my fate? Because all I see is my own death is the only escape
usually you can go to some rural part of the country and grow your own food and no one will really care. You'll have to pay your BLM grazing fees and maybe some taxes but that honestly isn't that much compared to even solely military protection
It’s actually very useful to have context managers outlive their with blocks. They are not only used for files:
One example would be a timing context manager:
with Timer() as t:
…
print(t.runtime)
Another example is mocks, where you want to inspect how many times a mock was called and with what arguments, after the mock context manager has finished.
I know it makes sense in the "scope-less" python philosopy but it still feels weird for me as a scope (ab)user in C++ and has caused me one headache or two in the past
The omission feels… odd.