In practice, apps also abuse the channels and tag things as (at least) direct messages when they are not.
Android is much better in notification config flexibility vs iOS.
1,282 karma · joined October 6, 2011
In practice, apps also abuse the channels and tag things as (at least) direct messages when they are not.
Android is much better in notification config flexibility vs iOS.
"treatment of on-disk segments as "what was written by programs" can cause areas of 0 to not be written by bmaptool copy":
https://github.com/intel/bmap-tools/issues/75
IMO, the issue here isn't filesystem or zfs behavior, it's that bmap-tool wants an extra "don't care bit" per block, which filesystems (traditionally) don't track, and programs interacting with filesystem don't expect to exist.
Some of the comments I've made in this issue describe options to make things better.
(FWIW: the original hn link discusses a different issue around seek hole/data, and the bmap-tool issue is backwards from the issue the parent posits: bmap-tool relies on explicit runs of zeros written not being holes, and particular behavior from programs writing data)
Casting to/from `void *` isn't needed in C, and is commonly against coding conventions, like those used by the Linux kernel.
One would generally return `NULL` instead of `0` as `void *`.
But yes, it is possible to write some funky C code that could be technically correct but still not be considered good.
Go, for its part, has its receive operation, `<-`, return a status indicating if the channel is still open, as in `v, ok := <-ch`
It is true that it's more correct to say "struct names have their own namespace", though I think we can infer what's actually meant here fairly easily.
their letter: https://content.govdelivery.com/attachments/IACIO/2023/12/04...
All this is to say: a large amount of debian users likely are using rust, and an even larger amount of non-debian users is likely to be using rust.
1. Fix rhai::Engine so it is Send (if !Send is unintentional)
2. Use tokio::spawn_blocking or normal threads to run the rhai::Engine bits
3. Don't hold the rhai::Engine across an await point.
Which one depends on rhai Engine details and what you want to accomplish.
Doing a block on inside a new thread seems unlikely to do anything useful (unless there's some undisclosed detail that makes it reasonable).
I encourage you to ask about this in the rhai repo in a discussion or issue.
https://www.thebrickfan.com/wp-content/uploads/2016/05/LEGO-...
But that wasn't the question posed, it was:
> For, what, a handful of old laptops?
And the answer there is "no".
That said: most if not all of them require some proprietary bits to initialize ram timings and to run the security coprocessors (Amd PSP, Intel ME).
Older intel based systems (like the Lenovo x200) have coreboot support that can work without the ME firmware (but still requiring the EC firmware).
A list of many of the google devices with coreboot support (note: they're all codenames, not marketing names): https://doc.coreboot.org/security/vboot/list_vboot.html#goog...
In practice, `getpwent` on linux uses the nsswitch mechanism to provide return values from `getpwent`. One can probably disable using `/etc/passwd` entirely when using glibc if: all users do use `getpwent`, and you remove `files` from the `passwd` entry in `/etc/nsswitch.conf`.
Posix message queues (the `mq_*` functions) are much slower than optimized shared memory queues using typical atomics and have semantics that are unexpected to most (they persist like files after process termination, because of what they are designed to be used for, they have system level limits on size and size of items, etc).
A simple benchmark vs rust's `std::sync::mpsc` queue shows `std::sync::mpsc` is 28.6 times faster when using 1 producer and 1 consumer, and is 37.32 times faster with 2 producers and 1 consumer.
let result = call().map_err(|e| SomeError::MoreData(e))?;
Or if using one of the common error libraries to have non-specific error kinds: let result = call().context("some data")?;
or let result = call().with_context(format!("something happened: {}", other_thing))?;
For something that more directly matches the behavior of the go code, this (using the `anyhow` crate) is a possible match: let result = call().map_err(|e| anyhow::Error::msg(format!("Error while trying to call: {:?}", e)?;
Though one would normally avoid this when using anyhow (or in rust in general) as it means we're flattening the error instead of generating a list of causes.Most (but not all) had some sort of asset management tool and/or antivirus as standard on computers, but nearly all provided exceptions to having that functional/installed.
I, and I expect many developers, likely select companies with IT policies that avoid potentially harming individual productivity.
https://www.lego.com/en-us/themes/powered-up shows some examples of the connector and socket.
There's also the discontinued "Powered Functions" connection scheme, which can be seen on this model: https://www.lego.com/en-us/product/power-functions-motor-set... . It appears to be post-brick contacts and pre-"powered up" connectors.
There have been many electrical connection schemes over the course of lego's history.
Sony includes this feature on cameras without interchangeable lenses (ie: "point and shoots"), and on their high end cinema cameras, but not on their mirrorless (interchangeable lens, but not considered cinema cameras) line.
Seems pretty clear this is designed to avoid their mirrorless lineup have a feature that might make it competitive with their cinema line. But they're ok including it on the point and shoot line because that already is well differentiated from the cinema camera line.
Competition in this space driven by a provider that doesn't have a motive to convince users to buy the next new camera (ie: open source software) would be very useful to users.
Sony and Panasonic cameras (and perhaps other manufacturers) are running Linux (and release some of the third party source code they include in their products, but the amount of reverse engineering that has been done on those camera's software.
Canon uses a custom RTOS (DryOS), and lots of work has been done to extend the existing Canon firmware to enhance its capabilities (Magic Lantern[1] and CHDK[2]), but as far as I know fully open software for these devices doesn't exist.
Camera capabilities these days are highly software dependent, and the functionality of dedicated cameras is held back by subpar software development practices and a lack of pressure to make things better.
1: https://magiclantern.fm/ 2: https://chdk.fandom.com/wiki/CHDK