@vik It's fairly easy to install to a USB drive in the same way that you install to any kind of drive, provided it is large enough to accommodate the size of the extracted image. Though using Btrfs with Zstd compression is a great way to minimize installation size.
@savanni You should look into using `glib::MainContext::channel()`. The `glib::Sender` can be cloned and sent across thread boundaries. Pass this into all GTK signals that trigger an event. The `glib::Receiver` attaches to the main context in the main thread, and you can handle all logic and state changes here. Suddenly, synchronization primitives like Arc, Rc, RefCell, RwLock, Mutex, etc. become obsolete.
@jajaperson May be easier to learn Rust before you learn Haskell. It has many of the same concepts, but lets you use an imperative paradigm in addition to functional.
@freemo The Sublime-style multi-cursor editing is the killer feature, in addition to extensions. For Rust, there is nothing that works better than VS Code + rust-analyzer
@freemo Currently, VS Code. No competition anywhere in sight.
@danielhglus Is it really that much more irritating than `Box::new("string")`, which is exactly what `~"string"` did? It was felt that ~ wasn't explicit enough in its intent, and there wasn't much point in having an operator dedicated to `Box::new()`.
@Conan_Kudo @sir I feel the complete opposite. Despite having learned and used more than a dozen programming languages, Rust is the only language where I've felt truly productive. I quickly became more productive with Rust than any other language I used in the past.
It gives me confidence when using it to develop truly complex software. Every project I've worked on has "just worked" in record time, with minimal debugging. I can't imagine doing half of what I do today in another language.
@YesIKnowIT You shouldn't use any of the ratio parameters. Instead, you should use the bytes parameter to define a proper, sane value.
vm.dirty_bytes = 16777216
vm.dirty_background_bytes = 4194304
The ratio setting made sense when computers had 64MB of RAM, but we live in an era today where systems have 64GB of RAM. If a ratio like 10% is defined, the kernel will buffer up to 10% of system RAM for file I/O. It's why large file transfers sometimes stall the system.
@sir The entire point of abstractions are to eliminate cognitive costs, which makes this statement illogical.
Imagine how much cognitive effort is required to develop an efficient solution, as opposed to simply using an efficient solution that's already been developed for you.
Also, to be fair, I've never found any of Rust's zero-cost abstractions to be difficult to use. They allow me to spend more time thinking about application logic, as opposed to minute implementation details.
@robert That package comes from , so you'd have the exact same issue there. it sounds like you already had a service bound to that port.
@robert What issues did you have with ? I'm the System76 engineer that develops and maintain it.
@admicos I'm sure there will be, but isn't this a violation of the Discord ToS? I'd personally like to see a library for open source platforms, like Mattermost.
@ebel I'm working on such a thing right now for [async-fetcher]. I haven't released it yet, but there will be a `fetcher` CLI binary based on this that receives URLs from standard input, and gives back stats on its fetching on standard output. It won't fetch files which it has already downloaded, and it will support validating checksums.
I will personally be using this in Pop!_OS for fetching debian packages and source lists from apt repositories.
@cincodenada You may be interested in the superior alternative to Rust's formatters: the `fomat_macros` crate.
System76 Engineer; Pop!_OS maintainer; Rust / Linux software developer
Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.