This is super useful, thanks. So if I were implementing a programming language, and wanted to have symbols to specify NaN in source code, I'd really only need quiet NaN, right? Because signaling NaN is supposed to always to raise an exception anyway?
I originally implemented Signalling and Quiet NaNs in the compiler. It was an abject failure. With all the transformations a compiler does, where the signalling turns into a quiet is lost. So just quiet NaNs are used.
This is some of the most useful information I've received in a while. Like the author, the low overdose threshold of acetaminophen made me avoid it, even though I always take low doses anyway and ibuprofen gives me acid reflux almost every time.
Still take it with a huge grain of salt. Even official advice usually has severe limitations due to its broadness or straight politics, so medical analysis from random blogs truely isn't the best.
Acetoaminophen also has issues for people with weaker stomachs (I can attest), and will come with additional medication to cover these effects as needed. The whole "Is it safe yes/no" table has many asterixes and might be outright false depending on the how you look at it.
Never take anything that written on the medications with a grain of salt. Disregard everything that you have read online. The medicine instructions are your single source of truth
Both ibuprofen and naproxen sodium are NSAIDs and are bad for your kidneys especially in long term. I had kidney failure due to what was eventually diagnosed as an autoimmune disease but they first thing the ER doctor will ask is if you have been taking NSAIDs. My nephrologists told be its still safe to take acetaminophen at the proper dose.
None of us are your doctors but Naproxen has well-known gastric issues up to ulcers and stomach bleeding which is why it's advised to be taken with food and why it's also often prescribed with a PPI or H2 Antagonist. Cox-2 selectives such as Celecoxib greatly reduce this risk but seem to be associated with some small cardiovascular risk (admittedly this is a feature of all NSAIDs though less so in Naproxen apparently).
Cardiovascular risk increase is not a feature of aspirin, the original NSAID. Aspirin lessens cardiovascular risk which is why we give it to patients in the initial stages of a heart attack: It decreases the likelihood of further clotting.
Some believe naproxen sodium is worse for you because it lasts longer. Longer duration for reduced mucous membrane coverage in your stomach and intestine. Longer duration for reduced blood flow to your kidneys.
I would definitely have a chat with a doctor about it.
I had to use naproxen for some time as most effective way to control inflammation. Actually the only way, ibuprofen had some effect only in horse dozes. After visiting doctor, analyses, checking available sources was able to eliminate the reason of inflammation. Apparently it was a well known problem/solution. So far so good. Not sure about the long lasting effects of naproxen use.
Whenever its prescribed here, its paired with some sort of intestine protection medicine to stop it burning holes in your stomach/intenstines
Ibuprofen is much safer, so long as you eat with it.
Paracetamol is also safer, so long as you don't OD.
BUT! so long as you stay below 4 grams a day, you'll be safe. (yes yes, in some situations you can take double, but unless you are under supervision, thats asking for liver pain.)
In the US, Aleve is the name-brand pill for naproxen, available in grocery stores next to everything else. I have a bottle of 160 gelcaps. Each pill is 220mg naproxen sodium or in parentheses 200 mg of naproxen. The advertised effect is 12 hours / all day, getting anywhere near 4g would only happen in a suicidal "swallow bottle of pills" situation.
GP meant 4g is the safe limit to paracetamol (hence "liver pain"). About 8 typical doses over 24 hours. It's little known amongst the general population, who have the occasional extreme of people taking double doses every few hours
That combo is naproxen/esomeprazole. The brand name is Vimovo, but they don't have a patent, so you can get it as a generic. To work, though, it has to be taken 30 minutes before food.
Does anybody know whether Fortran is older or younger than Algol? From Wikipedia, it looks like they were both developed around 1957. Was there any overlap in the design?
I don't know of any algorithm to cull non-winnable Klondike games. Playing deal-1 instead of deal-3, and with unlimited flipping of the stock, the win chance is probably close to 50%, but that still makes 2000 in a row statistically impossible.
My guess is that the poster's mom was actually playing FreeCell, in which nearly every game is winnable and people do get streaks like that.
You don't need an algorithm. You can just record seeds that are solvable. The current version of Klondike in MS Solitaire is winnable unless you play "Random" difficulty.
Even though I hadn't thought about xv in decades, as soon as I read the headline, the image of those 3d buttons with the crisp outlines resurfaced from my memory.
Those are functional languages that generally don't use statements, so it makes sense to leave them out of a discussion about statement separators. If you think more people should use functional languages and so avoid the semicolon problem altogether, you could argue that.
Functional hardly matters Haskell has plenty of indentation which is by the way interchangeable with `{ ... }`, one can use both at one's own pleasure and it's needed for many things.
Also, famously `do { x ; y ; z }` is just syntactic sugar for `x >> y >> z` in Haskell where `>>` is a normal pure operator.
Indeed it does, by showing how many different and confusing types of parsing rules are used in languages that don't have statement terminators. Needing a parser clever enough to interpret essentially a 2-d code format seems like unnecessary complexity to me, because at its core a programming language is supposed to be a formal, unambiguous notation. Not that I'm against readability; I think having an unambiguous terminating mark makes it easier for humans to read as well. If you want to make a compiler smart enough to help by reading the indentation, that's fine, but don't require it as part of the notation.
Non-statement-based (functional) languages can be excepted, but I still think those are harder to read than statement-based languages.
The syntax of languages like Lisp and Forth are so fundamentally different that they don't need an explicit statement separator. You don't have to think about many other things either, or I should say you don't have to think about them in the same way. Consider how much simpler the order of operations is in those languages.
I've looked into TextAdept a few times. It appeals to me because it's got a standard Qt UI, is fast and lightweight and highly customizable with Lua. But I could never commit the time to fully customize it for daily use. Anyway, I'm committed to emacs. Other Scintilla-based editors with a similar feel (but missing the Lua angle) are Geany and Kate.
I was satisfied with Tuareg + Merlin for OCaml development in Emacs, it just worked for me and didn't break when I upgraded packages, but yes, this being from bbatsov is a strong incentive to try it out. My only concern is that it uses tree-sitter, which I try to avoid because of the messiness of the JavaScript ecosystem.
I think tree-sitter's relationship with JavaScript is entirely syntactic. You don't need any JS runtime installed to write grammars, because technically tree-sitter CLI already has a JS runtime included and using that it converts your grammar first to an intermediate JSON format, then it generates parser code in C. And then this C code gets compiled into a shared library, which is what editors like Emacs use, so to use tree-sitter modules you definitely don't need a JS runtime either.
reply