There was a video on youtube about a crow coming to a human and making that sound, also in winter with snow; commenters agreed that it was probably thirsty and was imitating running water that way to get the human to give it water. The human in the video didn't get that. But here in the end we can see the crow eating snow, which may confirm that it is really a way for crows tell when they are thirsty? Not sure what that has to do with the owl--"teasing" might be just testing the owl's capabilities for checking whether killing the owl to drink its blood would be an option? (I guess melting snow for water is increasing the risk for the crow to be cold & run out of energy.)
> Not sure what that has to do with the owl--"teasing"
I wonder if they're just amusing themselves (by being little jerks.)
One day in early spring, I thought I heard a Red Tail Hawk screeching in a tree directly above me. I stood back, searching for it. I never spotted it despite the leaves barely out on the tree. But I did spot a Blue Jay hopping around some lower branches.
When I got home I looked up Blue Jay behavior and found that they do imitate the calls of Red Tail Hawks, among others.
Do you happen to use memory resource limits? I used to run Firefox under some, like everything, to prevent it from potentially making the whole system unresponsible, and at the same time had frequent cases of Firefox showing random visual corruptions and crashes. At some point I realized that it was because it was running out of memory, and didn't check malloc failures, thus just continued to run and corrupting memory. (That was some 6-8 years ago, maybe Firefox does better now?)
You were seeing issues from the graphics driver, not Firefox.
Any memory allocation failing within the browser forces an instant crash unless the callsite explicitly opts in to handling the allocation failure.
"Check malloc failure" is an opt-out feature in browsers, not opt-in. It's the same in Chromium. Failing to check would cause too many security issues. (One more reason new stuff tends to prefer Rust, etc)
Thanks for the info! I guess it also makes sense as I realized after posting, if it did use the result of malloc unused it should crash immediately due to references into the zero page segment, thus can't have been what I saw.
I haven't used Embassy, but the README mentions "Tasks on the same async executor run cooperatively, but you can create multiple executors with different priorities so that higher priority tasks preempt lower priority ones" and links to an example that shows how a higher priority task runs even though a lower priority one runs a long time job (does not yield), thus understanding and infrastructure seems to be there.
So, Embassy may in its entirety replace an RTOS / be one, but it's not the async mechanism that can provide the RT part (and I guess you're right to point out the dangerous sentence as it could mislead people to use only async and believe it's RT).
OTOH the sentence would be right if it were something like "async multitasking is an alternative to preemptive multitasking, and can replace the use of a preemptive OS if real-time guarantees are not needed (note that Embassy separately allows running multiple executors to allow to pre-empt tasks running in lower-priority executors)". They should probably also describe what the reason for not needing per-task stack size tuning is.
Thanks. I was a genuine question and you answered it well. For some reason I've internalized that closures can capture variables sometimes, but I guess I'm not sure the conditions in which that's true (or perhaps I've learned/mis-remembered the wrong lesson a long time ago.
If the code in the closure moves a value, then the closure becomes an FnOnce and does move the value out of the context. That's what you probably have in mind.
So, Rust does support partially-moving closures, and does so automatically.
But the converse is also true: Rust does not move values just because. If the code inside the closure doesn't move the context, then it will only move context if you use the `move` keyword (in which case the lifetime of the closure is not restricted by borrows of the context; Rust doesn't automatically move things to satisfy the closure's required lifetime, that's a manual decision process consistent with how Rust behaves in other places).
There's still one difference to the macro case: the closure borrows all the values at once. So if it needs &mut access to some variable in the context, you can't take another &mut to the same variable outside the closure as long as it is alive (as determined per what the non-lexical lifetime borrow checker can do). Those cases need to be worked around by instead passing in the &mut as a closure argument. Code deposited by macros is not subject to bundling all captures together, hence the borrow checker has more allowance to reduce the borrowing time of each borrow.
> The behavior is all the more impressive given that the rodents hunt at night, when they are effectively blind
I can't access the paper to check if they verified it, but given there is a strong IR light, and even humans can see IR light if strong enough (and close enough in frequency, which is typically true for IR illumination for cameras), I wonder if that is true.
Intriguing, but I'm referring to the toolchain as a whole. Everything is done with CMake mumbo jumbo that is a pain to set up. For a computer this small and simple there should be a straightforward "compile .c to .o, link .o to flashable binary, flash binary" that any user can type in at the shell or put into a Makefile.
I wonder if they sensed that at some point number plates would be automatically recorded wherever you drive, even when not causing an accident or doing anything illegal.
Just a funny coincidence or is there some connection?: OP writes that legislation started 1 January 1904, which happens to be the time epoch in the classic Mac OS, which was released in 1984 with the well-known 1984-styled commercial.
I would expect that this increases the gap between new and old phones / makes old phones unusable more quickly: new phones will typically have enough RAM and can live with the 9% less efficient memory use, and will see the 5-10% speedup. Old phones are typically bottlenecked at RAM, now 9% earlier, and reloading pages from disk (or swapping if enabled) will have a much higher overhead than 5-10%.
There was a video on youtube about a crow coming to a human and making that sound, also in winter with snow; commenters agreed that it was probably thirsty and was imitating running water that way to get the human to give it water. The human in the video didn't get that. But here in the end we can see the crow eating snow, which may confirm that it is really a way for crows tell when they are thirsty? Not sure what that has to do with the owl--"teasing" might be just testing the owl's capabilities for checking whether killing the owl to drink its blood would be an option? (I guess melting snow for water is increasing the risk for the crow to be cold & run out of energy.)
reply