@libewa wo ein Wille ist, ist ein Weg: https://tinycomputers.io/posts/rust-on-z80-from-llvm-backend-to-hello-world.html
Plays software and develops bass
@libewa wo ein Wille ist, ist ein Weg: https://tinycomputers.io/posts/rust-on-z80-from-llvm-backend-to-hello-world.html
Starting tomorrow, you will be able (on linux without cross-compilation) to install and use the Rust GCC backend directly from rustup! To do so:
rustup component add rustc-codegen-gcc
Thanks a lot to Kobzol for all their work to making it a reality!
@laund @argv_minus_one @chmod777 no one disagrees that tokio is large and complex. But, the fact of the matter is that tokio is used where it makes less sense and tend to be used synonymously with "async Rust" which at the end makes people think that's why async Rust is bad and difficult. Second, can you show me some data that proves that crates are becoming less runtime-dependent? It's not my impression.
@argv_minus_one @chmod777 the decision that every Future spawned as a tokio task requires viral Send+Sync because of its underlying work stealing concurrency model. That's the root cause for the borrowing pain and subsequent Arc<Mutex<…>> or actor bandaids you see in virtually all tokio-based async programs.
@chmod777 yes I mean embassy. Alternatives? Writing manual state machines? Sounds masochistic but each to their own.
@chmod777 tokio's decision is giving it a bad rap. Have you tried embedded? It's a Godsend compared to writing manual state machinery in C.
My main gripe with AI for coding? Either use "free" models like Gemini and shit is either too slow to keep up with Rust ecosystem churn or shell out moneys for Claude which will iterate towards some fixpoint eventually.
Got rid of Instagram on my phone. It turned into a creepy ad fest lately and I'm probably just too old to feel engaged by reels and stories. With that said, it was a good source of knowing when artists go on tour or play close by. Anyone has a viable alternative? Bandsintown?
@julia @fasterthanlime well whatever, there are RFCs and there is little to no progress. And without those I doubt there is much incentive for reqwest/hyper to become less dependent on tokio. However that dependency could be clearly marked in the docs for reqwest, I fell for it myself some time in the past.
@julia @fasterthanlime I mentioned traits for which there are synchronous versions in the standard library (Iterator, Read, Write, std::thread::sleep is not a trait but you get the point, …).
@julia @fasterthanlime the glorious day comes when async timers, I/O, streaming etc. traits are part of std.
@andrewnez I catch myself wondering why people think services like dependabot are a panacea to vulnerabilities. Merging those PRs nilly willy is doing nothing but enabling xz incidents. Proper auditing dependencies and their updates is the only sane way to go. Unfortunately, nothing exists on a cross language level as far as I can see. And even tooling like cargo vet is a bit painful.
These festive days, I've been experimenting with a "pure" async-driven UI progress bar and spinner library for #rust called strides. There is the widespread indicatif crate but IMHO it does not mesh that well with async programs. Of course there are issues to resolve (I/O within poll() 😱), APIs to clean and features to complete but I call it good enough to base my binary installer on it.
https://github.com/matze/strides
https://github.com/matze/binge/commit/2c88a68ae166737c2ac60d4fe10da46681845210
@BecherMax du als Stadt-Insider und @lagedernation Hörer: warum ist Karlsruhe nicht auf Mastodon?
Here's a small Christmas present 🎅
wastebin 3.4.0 – a small and fast #rust pastebin – is out! Mostly small UX and performance improvements but also a rewrite of the Dockerfile for easier (for me) builds of both x86_64 and aarch64 Docker images and re-architecture of the highlighting component to extract the new theme showcase tool. Check it out:
@kahvierzehn nee, verstehst du falsch. 1) der Sicherheitsgewinn ist immer noch da, Code crasht vorhersehbar statt "irgendwas" zu tun. 2) Den Check gibt es, den müssten Cloudflare-Mitarbeiter halt einbauen. 3) das Problem ist Teil einer ganzen Kette, aber das wird gerne ausgeblendet.
You made #Typst the 2nd fastest growing language on GitHub: The amount of Typst code on there more than doubled this year!
@jdortiz sorry for the late reply. No, I don't agree with that. `.await` is just sugar that the compiler uses to transform it and the surrounding async fn or block into a state machine type that implements `Future` again. You can write `let foo = async { tokio::time::sleep(Duration::from_secs(1)).await };` and then poll `foo`.