skysight-inc/HackerNews huggingface dataset:
TLA+ is for writing specifications of models, and programming languages are for implementing the models. Sometimes there is very little difference, and sometimes there is more. It's subtle in simpler examples like yours but becomes a little more obvious if you watch Leslie Lamport's video course: https://lamport.azurewebsites.net/video/videos.html

The magic comes into play when you do things like using solvers (built into the TLA+ toolkit) to check invariants. This wouldn't be possible do with a code implementation alone, except for if you were to write property tests using a property testing framework or scenario generator using knowledge of all states the domain could be in. Your TLA+ specification is a mathematical formula of the states it can be in (even over time) while the Python implementation is more like a state machine that takes one input and results in an output.

Of course, in your example, you do something akin to property testing with pytest where you enumerate known states, I'm just using this to help describe the spec/implementation difference. In more complex models, testing property invariants may require enumerating more examples than you think to write tests for, and the important cases may not be what you expect. And as your property testing parameters get more complex in the search space, what your Python code ends up being is both an implementation (the runtime code) and a de-coupled model of the states it can be in (the test code) when conceptually it is one model. And in TLA+, you can specify it as a model and use the invariant checker as both a way to test your assumptions and a way to explore important states or state transitions.
I know not to jump off a building because I’ve fallen smaller distances as a child and I understand the consequences.

You would be negligent to let a child experience their first steps on the roof of a building.

A couple of hurt feelings in elementary school is likewise a low risk introduction to the world of social interaction.
As far as I can tell Android Automotive is open source and free to use. So no, they aren't licensing the core from Google.

BMW hasn't released enough information to understand why they are doing this, but iDrive 8 (the latest version of their in-house Linux based software) is widely regarded as one of the best car software systems. Which granted, is a low bar, but it's still pretty solid.
> I think it perfectly well makes the point that regional banks are much more likely to practice poor risk management and fail than larger banks.

That doesn't at all follow just from the fact that a list of failed banks included many, many more smaller regional banks than larger banks:

1. I'm assuming there ARE a lot more smaller, regional banks than large banks, so you'd expect them to be the majority of a list of failed banks.

2. The failure of a single large bank affects many more customers and a lot more money than a single small bank failure.

3. It's pretty clear that large banks in the "too big to fail" category will get institutional and government support (e.g. the government even operates a "systemically important financial institutions" list), while smaller banks will be allowed to fail. While that may mean your money is safer in a larger institution, it's not really because "regional banks are much more likely to practice poor risk management and fail than larger banks".
I haven't used it, so can't vouch for it from personal experience, but another commenter indicated that Flask does support async: https://flask.palletsprojects.com/en/2.1.x/async-await/
As a person who was homeschooled until age 13, I couldn't agree with you more.

This is what I tell friends thinking they'll take their kids out of school to give them a better education: they'll be socially unprepared in life.

Even if their social needs are supplemented, other kids will ask: what school do you go to school? And not having an answer can cause great embarrassment (I know, I've felt it myself).
> Memorizing the location of fire exits is also obvious and yet we do drills to burn it in

I don't think that's what the drills are for. You do drills so that everyone is familiar with an organized process of exiting the structure, so that an evacuation can occur quickly.

In the absence of drills, everyone will still know where the exits are, but they'll form giant traffic jams that block people from using the exits.
Calling Spotify high-quality software is daring.
TLA+'s model checker will verify (NB: this has scaling limits, but that isn't a problem for many practical circumstances) that two concurrent wires (when the system is properly specified) won't stomp on each other. Conversely, it will detect when they could stomp on each other.

So take that definition for the wire function and let two processes run it simultaneously:

alice.balance = 100
spawn(wire(alice, bob, 100))
spawn(wire(alice, bob, 100))

Only one of these should succeed, but since the function isn't guaranteed to be atomic we can get to this state:

p1:
if a.balance >= amount: -- true, so continues into the condition body
a.balance -= amount -- process paused here
b.balance += amount

p2:
if a.balance >= amount: -- true, so continues into the condition body
a.balance -= amount -- alice's balance now 0
b.balance += amount -- bob gets 100

When p1 resumes after p2 finishes, Alice will end up with a balance of -100 and Bob will get 200. Assuming overdrafts aren't allowed (per the spec they aren't) then the system has reached an invalid state.

When testing concurrent programs it is a non-trivial thing to force these states, so bugs like this are hard to detect because they may only occur occasionally. And because they occur rarely, even when detected the actual source of the bug can be hard to reliably discern. TLA+'s model checker will check each possible interleaving of the two processes (in this case) and will discover the invalid execution path I showed above. Then you can go back to the spec and address the issue and rerun the checker, if your invariants hold (no sequence of actions lead to overdraft, in this case) then you can have confidence that, at least with regard to the properties you've specified, the system is correct.
Try httpx if you want an async web client has a more identical API to requests.

https://www.python-httpx.org/
Most of the "homeschool" kids I've met were definitely taught to fall in line, just with their family leaders and not with their peers. Subservience to religious or parental authority is a big reason why kids end up in those kinds of situations.
I have the opposite experience. I've met a ton of homeschooled kids (also, I seem to attract them in the dating scene) and by and large I've found they have very sophisticated and healthy social skills, and it's "normally schooled" kids that have very twisted and often destructive social skills, probably derived from mostly interacting in the artificial social environment of "everyone is +/- 1 year from your age". Admittedly it's likely that I am suffering from selection bias based on my own social circles.

(I was traditionally schooled)
Exactly. Collecting location data in itself should not be done, and the presumption that Google is somehow equipped to know when not to collect data is pretty disgusting. It's entirely possible that location data is abused in many ways they cannot think of.

For example, a location that ties somebody to the illegal purchase of a pharmacy drug they desperately need, but cannot otherwise obtain.

One could only imagine what the likes of Hitler, Stalin or Mao (to name a few) would have been capable of if only they had been able to compel the likes of Google to release location data. It's an exceptional tool and a weapon in the wrong hands.
For over a month the local microcenter has had hundreds of RTX 3xxx series GPUs, and that's just from the public numbers, which are capped at quantity 25.

Nobody is buying these cards. One, inflation. Two, everyone who really wanted them already bought. Three, people have realized that they can just be careful about graphics quality settings and save themselves hundreds of dollars.

The newer cards are a shitty deal, frankly, at the low end. A new 3060 retail costs twice as much as a used 1070 ti that will perform nearly identically, even have nearly the same power draw (you really have to hand it to NVIDIA to have nearly the same performance per watt with a half decade spread.)

Is DLSS nice? Yeah. Is RTX pretty? Yeah. Is it twice the cost nice/pretty? Nope?

NVIDIA is going to have to trickle the 4000 series cards out so slowly if they want to have any hope of not severely boning their resellers. My guess is that we'll see 4080's first to get the whales, then 4090's to get the whales again...and then the lower cards announced but released from storage in very, very small quantities.
This is not accurate. BMW already offers Android Auto today. This is an announcement they will be making an Android Automotive based infotainment system.
> Plus, the gameplay loop is rather grindy and honestly not that much fun.

Completely agree; sometimes as a fun thought exercise I like to imagine how Pokemon Go's gameplay loop should have been designed.
How often do people go to the dermatologist to have their moles checked?
Obviously, before they have scaled, they still need to scale. And, to scale at a useful rate, one needs a lot of money invested. And, any particular one might not win, and so not end up scaling at all.

So the question is whether to believe their numbers. If some other chemistry turns out better, this one won't scale and that one will, instead. Further, a projected efficiency might not pan out immediately, for an unanticipated reason, and another might win before it is solved. So such investment is risky: its value depends not just on this chemistry, but on all the others too, and which one succeeds in scaling fastest.

Anyway, batteries are far from the only storage that will end up used, and costs for those are falling. Probably most storage will not be batteries, in the end. But a lot will be, reliably, and almost all of home storage will be. So, one or other will end up scaling.

So the correct way to think of this is to treat the whole family of battery chemistries as the opportunity, and invest in a bunch of them. Most of those investments might flop, but one or more will certainly pay off big.

There will probably not be just one winner. Lithium has already won the volume race, but its cost is still high partly because demand is high, driven by vehicle uses. Cost of various lithium chemistries is still falling, but not as fast as others still could. And safety is still a worry.

Each battery chemistry still under consideration has some places where it shines: cheap raw material, longevity, volume or mass energy density, safety, charge rate, discharge rate, operating temperature range, compatibility with existing manufacturing processes, and lots more. So in different exact use cases, one will be favored over others, traded off against instantaneous cost, which will be falling for a long time, at a rate that varies with popularity.
Faster Routing for Flask
But they stress the hell out of the VRAM coz mining is limited by memory bandwidth. There are reports on 2nd hand video cards from miners getting rendering artifacts after only a few days of gaming.
> Liberalism and pluralism do not attempt to deny other ways of life or philosophies.

Isn’t that what you just did?
It's still 24x7 operation vs a few hours here and there. Even a pretty hardcore daily gamer probably only clocks half a dozen hours a day if they're working a day job.
All games don't cost $80. The indie game being developed definitely isn't going to cost $80. I can't think of many games that cost $80 other than AAA titles on release week and exploitative "collector's edition" items.

If $80 is a significant purchase, then there are many, many ways to reduce the cost or mitigate the risk. You can wait for a sale, wait for the initial reviews to come in, wait for a friend to buy it and try it at their house, etc. The way you're phrasing it sounds like the buyer is forced at gunpoint to buy an $80 game every month, after being forced at gunpoint to buy a console that costs hundreds of dollars or a gaming PC that costs thousands.

If someone I knew purchased expensive items and was unhappy with them, yet continued to make the same poor purchases and was continually unhappy, I'm not sure the purchaser is blameless.
Robot explorer could be first to search for life in Martian caves
Excellent idea. Annoyed I didn’t think of that one.
>> However, you're really old now, your prefrontal cortex should be fully developed, so get over it.

I guess there could be an argument against playing too many games as a kid hiding in there.
I thought you were just some disgruntled person. I clicked one of the recently closed issues at random. Oh boy. Closed without even a discussion about expected behavior and documentation, never followed up on.

https://github.com/pallets/flask/issues/4653
Entirely on-brand.
Space Station Astronauts Suffer Horrific Amount of Bone Loss, Study Finds
There's also a few NE2000 ISA clones on github now.

https://github.com/Manawyrm/ISA8019

https://github.com/hkzlab/ISA_8bitNetwork_8019

https://github.com/skiselev/isa8_eth
> What's wrong with the division by zero issue? It works just like in Go?

In fact it does not work like in Go, and that's the entire point. In Go, division by zero is well-defined[1]:

If the divisor is zero at run time, a run-time panic occurs.

As pointed out by others[2], divide by zero in C is in contrast explicitly undefined behavior. So the statement "it works just like in Go" is false.

It may do the same thing as Go on your machine, with the C compiler you used on the day that is today. But the fact remains the generated C code produces undefined behavior, and thus this happy accident of yours is entirely irrelevant.

What makes this extra egregious is the fact that "no undefined behavior" is listed as a key feature, and that the relevant issue[3] was closed as wont-fix.

Now, there are several ways to properly fix this.

One is to keep the current behavior and change the wording of the key feature listing to remove "no undefined behavior" or modify it to something like "no additional undefined behavior compared to C".

Another way would be to clearly define the behavior of divide by zero, similar to how Go did. The V transpiler then has to generate extra C code that ensures this well-defined behavior, for example by inserting a check for zero. This should be in place before 1.0 release at least.

[1]: https://go.dev/ref/spec#Integer_operators

[2]: https://news.ycombinator.com/item?id=31948144

[3]: https://github.com/vlang/v/issues/11059
Colon environment preservation bank?
FWIW, I don't want you to go back to gitmo either.
Ask HN: Is Argon2d really a better choice for client-side than Argon2id?
The standard specification recommends using Argon2id by default, but KeePass claims that for client-side encryption Argon2d is a better choice[1]:

> In the case of KeePass, we currently recommend Argon2d instead of Argon2id, because we believe that a better protection against a really existing threat (password cracking using GPUs/ASICs is state of the art) is more important than a protection against certain side-channel attacks that may or may not become a problem on client devices in the future. If you worry about side-channel attacks (and are willing to sacrifice some GPU/ASIC resistance) or if you are developing a software where side-channel attacks could be a problem (e.g. a server service that operates with KeePass database files), use Argon2id.

> Side note: the IRTF CFRG Argon2 Internet standard recommends Argon2id by default. For server applications, Argon2id is in general indeed more suitable than Argon2d, but our situation (client device) is different, as mentioned above.

If you were a developer of Keepass, would you make the same recommendation?

[1] https://keepass.info/help/base/security.html#secdictprotect
Yes. Making cars “smart” and marketing them as such allows makers to cut corners ob everything else. Like Apple’s “we added 567 emojis in this release”.
I think there's been some wear and tear on your relationship with him, the tweet seems fine and I picked 5 random issues, all look like fine engagement, if not always saying yes. (Which is good! This is how you maintain a good workload)
This is a good opportunity for privacy proponents and activists to take advantage of this opening and push for a stop to the collection of any of this information.

This is the time to take the mile, this is the time to make the slope slippery.
I actually love location history. Makes it easy to answer questions like: "what was the name of that great restaurant in Edinburgh when I visited 4 years ago?"

Edit: but I do agree it should be opt-in
I'm confused by this. My high school in a different state started at 8:30, ended at 3:30, and sports was everything to that school. Like one of my math teachers was primarily a teacher so they could be the basketball coach. Starting at 8:30 is really not much of a problem.
>I guess the most boring bank possible would probably be something like Chase

A bank like Chase has all sorts of fees and minimums for a simple checking account - which a normal regional bank doesn't.

What's the benefit to an a average person of banking with a subsidiary of a huge Wall Street bank? They don't even want your business. The only reason they are even offering consumer services is because of out of control empire building, like how JP Morgan bought Chase Manhattan.

You don't have to bank with a national brand name.

You don't have to pay a monthly fee for checking.

You don't have to have a monthly direct deposit.

You don't have to have a $1500 minimum balance (like with Chase).

And credit unions are fine of course, but banks have free checking too.

I wonder if there are a lot of people who think you will get food poisoning from any hamburger not made at a McDonald's.
This misses the point remarkably completely.

It’s not about folks feeling judged.

It’s about folks being prosecuted for receiving an abortion. Google’s collection of personal data could make the prosecution pretty easy if it were compelled by the government to provide it.
But they don't - screens being a major culprit.
I guess, but without crypto I think their overall returns may be close to flat or even negative after fees. And now crypto...
My point was they're offering it for /some/ cars, they're not switching to it, sorry I confused the naming from android auto with android automotive - those two words mean the same thing in Australia/NZ.
Don't write code where every module tries to make a root logger or set the logger config then.

Each module should use `logger = logging.getLogger(__name__)` and the logger config can set in one place, conventionally in the `__main__` script.

https://docs.python.org/3/howto/logging.html#advanced-loggin...
Now you've just made name changes unbearbly slow for everyone to supposedly make like better for people who already have access to a keyboard with latin characters on it. If people can manage maths with greek letters they can manage logins with latin letters.
I would hope that Instagram has some counter-measures to prevent brute-forcing, at least restricting the number of failed login attempts.

It might be instead that your friends re-used a password that was leaked/stolen from somewhere else; anyone with a non-trivial number of online accounts using the same email will be listed in multiple leaks on aggregators like https://haveibeenpwned.com/.
So much for consumer choice and free markets. I wonder why there aren't more attempts at consolidating regulatory information across countries.

If some sunscreen or baby food is available in Europe I'd feel pretty comfortable using it, but I'm denied the opportunity to do so. It would be great if these kinds of items were made available for purchase with some sort of disclaimer. My guess is that in both the cases of sunscreen and baby food, regulations are in place in order to protect local national interests.

Something that I've always found a bit concerning is when there are major inconsistencies between global regulatory agencies. There's demographic differences to account for, but how is it possible to arrive at such drastically different conclusions? And if you arrive at drastically different conclusions, someone is probably going to be more correct while the other is going to be more wrong.
what, like this: https://github.com/pallets/flask/issues/4661 where he straightforwardly explains the problem, why it's complex to port the whole Flask ecosystem, offers a potential solution, and invites contribution both from the asker and invites the other person in the thread to their collaboration channel?

That was the first issue I clicked on, and if that's being rude I wish every maintainer was as rude.
The title is somewhat misleading in that Virgil has native x86 backend as well as WebAssembly backend.
You're spot on about bile not flowing. I'm very interested in the final verdict on this. I'm also not an expert, just someone who parted with their gallbladder a while back and became a major consumer of information on gallbladder pathology.
Sequoia Arc: Catalyst for Seed Companies
Cathie Wood has been saying that the real danger is Disinflation because of all the over production that's coming. Companies tend to over produce in an environment of shortages. Peloton is dealing with this issue now. They thought that the growth they experience during the shutdowns of the pandemic was going to go on forever. It has not.

High Inflation or Disinflation are both dangerous to the economy. The FED needs to walk a very fine line to make sure they don't over do it.
Even the better governments of the world are using this kind of information contrary to the spirit of the law and in many cases against the law itself --and very very few in gov't care, what's more most in government want to expand the capabilities. So, yes, imagine the bad guys and gals.
Honestly, when they get their own house in order I'll start to care what these "regulators" think.

https://foxbaltimore.com/news/project-baltimore/13-baltimore...
> No one Bitcoin advocate that knows how it works is saying Bitcoin will be used -directly- for daily commerce. Even in El Salvador venmo-like apps have emerged that batch Bitcoin transactions and use credit, much like Visa does to abstract slow ACH or cash.

There's something else El Salvador has too. Two really fast ACH networks. The fastest one can do inter-bank transactions in seconds during banking hours. And a second slower one that takes about 15 minutes but covers more banks and is available every day of the year. Payments cards are slower though, they usually take between 2 to 5 days to clear.
> Dobos emphasized to me that she thinks the FDA’s strict regulation of sunscreen products is generally beneficial to the American public, but that the agency’s slow progress on new ingredients doesn’t match the urgency of skin cancer’s threat to public health.

This line is where this got interesting to me, as it's not hard to find examples of the US being lax with product/chemical safety compared to Europe in other areas, so I was skeptical of a case to be more rash in this area. So pairing it with the issue of skin cancer makes it more compelling. But they still gloss over chemical absorption in this article, which is a factor that seems like it could use more investigation per https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7759112/ (tldr: sunscreen -> less skin cancers seems well supported, but effect of chemicals in body is not understood).