I'm an American who was retaliated against in the past for collective bargaining efforts. Luckily, that's illegal here as codified by the National Labor Relations Act of 1935 (it probably is in the UK too, I'm just not as familiar with their laws). I filed a complaint with the National Labor Relations Board (NLRB) and eventually won my case, receiving compensation with interest; the Company also had to inform all employees of their collective bargaining rights digitally and physically.
Once the government shutdown ends, I highly recommend the affected American individuals file a complaint with the NLRB via their website: https://www.nlrb.gov/
I should have mentioned that the government foots the legal bill! That is, you don't need to hire your own costly lawyer. The case will eventually be USA vs. (your old company), and you're a potential beneficiary.
I am a huge fan of the "Explanations" page of their docs: "These explanation pages are oriented towards deepening your understanding of Hypothesis, including its design philosophy."
I feel much more software documentation could greatly benefit from this approach. Describing the "why" and design tradeoffs helps me grok a system far better than the typical quickstart or tutorials which show snippets but offer little understanding. That is, they rarely help me answer: is this going to solve my problem and how?
I know it and do like it! Even for those that follow Diataxis, in my experience the "Explanation" sections are often lacking, especially compared to the "How-To" or "Tutorial" ones.
Python is one example that comes to mind. They do have explanations here: https://docs.python.org/3/howto/index.html. And, to be fair, they are generally excellent in my opinion! But they're far from front and center and there's much less overall content compared to the other Diataxis types I think (granted, I haven't rigorously checked).
I would have liked more insight into the control group (so called "matched control") hospitals. Typically, PE firms only step in when companies (in this case, hospitals) are struggling. If the PE hospitals were in dire financial straits pre-acquisition, these results don't seem too surprising.
Ideally, the control would be a set of hospitals that PE firms otherwise wanted to acquire but were blocked for reasons unrelated to financials & performance of that hospital, e.g. regulatory. Granted, I expect that might be quite rare.
To be clear, I think private equity firms have had quantifiable negative impacts in many other aspects of healthcare. For example, acquiring helicopter-rescue/air-ambulance companies and sending them out for non-emergency situations.
Mhm. You need another thread to accomplish async file reads, which is basically what aiofiles does. This isn't really to the fault of asyncio. The necessary OS primitive isn't available. See the Linux documentation for the O_NONBLOCK flag and note this part: "Note that this flag has no effect for regular files" [1]. I actually originally wrote the sockets example in this article as using file i/o until I came across this bump in the road.
Mmm fair point! Though, coroutines aren't really asynchronous objects in that usage, right? Since `await coroutine` would run that coroutine synchronously.
But the coroutine object itself isn't synchronous, it represents suspended processing and by stuffing it into a task can be run asynchronously. If we don't try to consider it a separate third thing, I'd still put the coroutine object in the asynchronous bucket and say await is the thing synchronously waiting for it.
i don't think that's the case. an await coroutine requires you to be asynchronous because you are implicitly suspending yourself until the awaited function completes (and through however many suspensions the awaited function creates). an await can never be synchronous, you need to pull in an event loop to close between asynchronous functions and sync-land, not an await.
Ah, I'm so glad to hear it. And, thank you for the nit/feedback! I generally use python3.12 for my work which doesn't error out on that line. However, python3.11 and below will raise a SyntaxError on it. I've fixed the issue there and in a few other places and pushed the changes :)
I've used Python's asyncio a couple times now, but never really felt confident in my mental model of how it fundamentally works and therefore how I can best leverage it. The official docs provide decent documentation for each specific function in the package, but, in my opinion, lack a cohesive overview of the systems design and architecture. Something that could help the user understand the why and how behind the recommended patterns. And a way to help the user make informed decisions about which tool in the asyncio toolkit they ought to grab, or to recognize when asyncio is the entirely wrong toolkit. This is my attempt to fill that gap.
Surprisingly, it appears TechCrunch's analysis regarding price ratios and trip distance is a bit off!
From the article:
"This was true of the Uber and Lyft rides, too. But Obi found the shortest Waymo rides were priced 41.48% and 31.12% higher than Uber and Lyft, respectively. That gap shrunk as the rides got longer. In rides lasting between 4.3 km and 9.3 km, a Lyft cost $2.60 per km, an Uber cost $2.90 per km, and a Waymo cost $3.50 per km."
Relative increase in cost of Waymo vs. Lyft by trip-distance (inferred from the article's chart):
0.1 - 1.4km: 40%
1.4 - 2.2km: 45%
2.2 - 2.9km: 46%
2.9 - 4.3km: 39%
4.3 - 9.3km: 35%
That seems like pretty minor fluctuation and even then it doesn't entirely fit the pattern TechCrunch described.
Once the government shutdown ends, I highly recommend the affected American individuals file a complaint with the NLRB via their website: https://www.nlrb.gov/