I’ve never noticed a bad smell, but instant pot for 1 minute high pressure is quickest way to cook.
These days there is FT8, where the whole conversation follows a template (callsign, callsign, signal strength on a scale of 1 to 9, goodbye) and is just a few dozen characters long. It can be completely automated, so you can have one to one contacts with hundreds of total strangers in just a few hours, with your radio doing all the talking so you don’t have to show your vulnerable side. You can sleep or play tetris through the whole session, and then get a list afterwards showing the different countries where your radio has gotten to know people (or at least other radios). It is great for shy hams.
That is interesting. I wonder if it applies to the Debian package, which debian.org presumably compiles.
Checked arithmetic failing should raise an exception like it does in Ada. What happens if you use an out of range array subscript a[n]? Does that always return an option type? Really, these types of errors are rare enough that it’s unfeasible to program defensively around the possibility all the time. But they are frequent enough (especially with malicious input) that we’ve had 50 years of buffer overruns in C, leading to the invention of Rust among other things.
Wrapping and saturating are for special purposes: wrapping for when you’re explicitly dealing with computer words (as in bit operations or cryptography) and saturating in some media applications and the like. It’s amusing that C in a certain sense is more correct than Rust or Java in this way. Signed arithmetic overflow in C is UB, so the compiler is at least permitted to always check the arithmetic and signal on overflow (use -ftrapv for this). C doesn’t have a way to check unsigned overflow. Things were muddled in the 1970s when C was designed ;).
I think it would be an improvement to Rust to fix its arithmetic to work like Ada’s.
There is a book called “Doctored” that argues that a lot of the foundational research on Alzheimer’s and amyloid plaques was faked. Excerpt:
https://www.sciencefriday.com/articles/doctored-book-excerpt/
Separately, there is supposedly some evidence now that Alzheimer’s is caused by a virus, or by a history of viral infections.
Do you mean the rhythm and dynamics, like Beethoven’s “da-da-da-DUM”? That removes the tune and there already weren’t lyrics. Or do you mean something longer range, like sonata form? Or just general mood? Or what?
I saw something where you can wrap a function around an operation to say how to handle overflow, but that seems like a mistake. Modular (wrapping), saturating (sometimes useful), and checked (standard arithmetic within the machine bounds) are all good, but they should be conveyed in the datatype. Particularly, the default integer datatypes (i32, i64) should be checked. Unchecked arithmetic (including wrapping around when the application is written as if the ints were unbounded) is simply unsafe, like unchecked array subscripts.
It’s ok if there is an optimization pragma to enable this for performance when necessary. Ada does it the right way, and implementations I know of have such a pragma available for when you want it. Also, while this is a matter of tooling rather than language, Ada currently has better facilities (SPARK) for statically verifying that integer arithmetic in a program doesn’t overflow.
I’m not trying to bash Rust or get into a Rust vs Ada war, but am noting the differences that I see.
“The words that must not be used include ‘bias’, ‘biased’, ‘women’, or ‘female’
I’ve seen the terms “pregnant person” and “pregnant people” in the press a few times recently. It hadn’t occurred to me that this was a Trump thing, to avoid the woke terms “woman”, “women”, etc. Wow.
Besides the privacy issue, the TOU is ridiculous. They supply a tool (the browser) and you use it. It’s not a collaboration between you and them. You can use it whatever way you want.
You also have to check all the time for flags set by signals. Example: your aerodynamic simulation hits a numeric overflow and raises SIGFPE. How do you handle it?
Sounds good. Then one of the insurgency groups can be the Judean People’s Front.
I had thought the C and Ada zlibs were single threaded. I do some big compression tasks sometimes but haven’t felt the need for a multi-threaded zlib since I just use parallel processes to compress lots of files.
For an example of Ada safety, integer arithmetic is overflow checked by default. The program raises Constraint_Error on overflow. Rust is checked in debug builds and wraps around (modular arithmetic instead of standard arithmetic) in release builds. Ada also has DBC with static checking using SPARK, and Ada has a much more serious package and module system (that area is under development for Rust though). As another example, Ada has a very rigorous specification (the ARM, or Ada Reference Manual) while Rust is something of amoving target. That again helps verify Ada programs with formal methods.
Rust doesn’t currently have exceptions, so you have to check error codes pervasively through your program, and that sounds easy to mess up. I don’t know whether Rust’s designers think of this as a shortcoming (fixable later) or a feature.
I do get the impression that Rust lets you write some things easily that are difficult or impractical in Ada. I don’t know how well Ada handles shared memory concurrency. It has language support for multitasking with tasks communicating through mailboxes, more or less.
I’ll defer to you about the description of the borrow checker. But, I doubt it’s idiomatic to use standard functional programming techniques in Rust, e.g. shared immutable tree structures for lookups. That usually relies on garbage collection. As you say, Rc and Arc are there in Rust, but as we saw with decades of GIL anguish from Python, it’s imho preferable to do GC for real if that is what you want.
Disclaimer: I haven’t actually coded anything in Rust so far. I finally got around to reading a book about it recently and I mostly liked what I saw, and it seemed to me to be mostly familiar and reasonably comfortable. I had somehow expect the type system to be much more complicated.
It says
Mozilla will collect light data on usage, such as how frequently people use the feature overall,
That says to me they want to know (among other things) how many browser users make zero use of the AI feature. To acquire that info, they have to collect it. You have to assume the worst when you see phrasing like that.
They use the term telemetry in a special way. If they are collecting info from users, that is telemetry under a different name, ok fine. Not collecting info means they receive 0 bits.
It says they’re going to collect usage data. Nothing about opting out.
So phone-home telemetry that you can’t opt out of. The ghost of Mitchell Baker will haunt us forever.
There is or was one from the Philippines named Cardinal Sin.
There has been a zlib in Ada for many years, doing its job quietly. Speed comparable to the C version, probably not beating it, but not trailing by much in any case. Rust is safer than C but less safe than Ada from what I can tell.
Rust (edited for clarity) looks to me to be about halfway between C and C++ in complexity, with a bunch of footguns removed, and using implicit move semantics (“borrowing”) more than C++ does, and the notorious borrow checker is simply the compiler making sure you don’t make RAII mistakes because of that.
It’s always seemed to me that Phoronix is too often about turning mailing list drama into clickbait. I’ve mostly disliked it, because of that.
Generally put 1 cup of water into the instant pot to let it make some steam pressure. I usuall put the broccoli on the little wire platform but putting it the water should be fine. Older models let you set the timer to 0 minutes which is fine too. Unless the stems are pretty thick, by the time the pot comes up to full pressure it’s ok to stop. Also, use the steam release button to let the steam out as soon as it’s time, so the broccoli doesn’t overcook.