Twitter | Pretraživanje | |
Sebastian Dröge
slomo – Free Software Developer , , and various other projects
5.190
Tweetovi
751
Pratim
962
Osobe koje vas prate
Tweetovi
Sebastian Dröge proslijedio/la je tweet
Rust Language 30. sij
We're happy to announce the release of Rust 1.41.0, featuring relaxed restrictions for trait implementations, Cargo improvements, and many more changes! Check out the highlights in our blog post:
Reply Retweet Označi sa "sviđa mi se"
Sebastian Dröge proslijedio/la je tweet
idéemarque 29. sij
The project is celebrating 20 years of existence! What makes this Free & technology project so successful, and how does its community work? Watch this video on your next coffee break, then share it with your colleagues!
Reply Retweet Označi sa "sviđa mi se"
Sebastian Dröge proslijedio/la je tweet
Alessandro Decina 19. pro
In the last few months I've been working on RedBPF - a Rust toolkit to work with BPF - that let's you write both kernel and user space code in Rust 🦀🤯 Here's what it looks like:
Reply Retweet Označi sa "sviđa mi se"
Sebastian Dröge 27. sij
Odgovor korisniku/ci @mortentor @gstreamer
Thanks, I've created an issue for this here In the meantime feel free to ask here on in the mailing list if something is not clear!
Reply Retweet Označi sa "sviđa mi se"
Sebastian Dröge proslijedio/la je tweet
Stjepan Glavina 25. sij
First blog post on writing your own async executors in Rust. Here's how to implement block_on() in a few lines of safe code.
Reply Retweet Označi sa "sviđa mi se"
Sebastian Dröge proslijedio/la je tweet
Anna Brandberg 21. sij
Finland is the only country in Europe where homelessness is declining. The homeless receive a small apartment & counselling – without preconditions. 4 of 5 affected ppl make their way back to a stable life. All this is cheaper than accepting homelessness.
Reply Retweet Označi sa "sviđa mi se"
Sebastian Dröge 20. sij
Odgovor korisniku/ci @ndufresne @hergertme i 2 ostali
They all have their trade-offs but you have the choice. And in that context see also what people are doing with embedded Rust (as in microcontroller where size really matters) and are using just the core library, which doesn't even include e.g. heap allocation unlike libc
Reply Retweet Označi sa "sviđa mi se"
Sebastian Dröge 20. sij
Odgovor korisniku/ci @ndufresne @hergertme i 2 ostali
Also for this specific technical point in the case of containers: don't use it then. You have the choice. Use C-style thoughts-and-prayers void* containers, C++-style "templates", Java/Vala-style dynamic dispatch/runtime solutions, C-style macro code generation, ...
Reply Retweet Označi sa "sviđa mi se"
Sebastian Dröge 20. sij
Odgovor korisniku/ci @ndufresne @hergertme i 2 ostali
It's all a matter of trade-offs, and if someone can't tell you anything negative about their favourite language then they either lie or don't know it. Given many things that I'm doing, Rust gives nice trade-offs though even if it's not always the best solution.
Reply Retweet Označi sa "sviđa mi se"
Sebastian Dröge 20. sij
Odgovor korisniku/ci @ndufresne @hergertme i 2 ostali
Sure, haters gonna hate, etc. :) Give me any language out there that I know and I can give you lots of arguments why it's the worst thing ever.
Reply Retweet Označi sa "sviđa mi se"
Sebastian Dröge 20. sij
Odgovor korisniku/ci @ndufresne @hergertme i 2 ostali
I really don't know how that would be related, but I'd be happy to be proven wrong :)
Reply Retweet Označi sa "sviđa mi se"
Sebastian Dröge 19. sij
Thanks to there's now a pure FLAC audio decoder plugin for based on the Claxon crate
Reply Retweet Označi sa "sviđa mi se"
Sebastian Dröge 19. sij
Odgovor korisniku/ci @hergertme @hughsient @zeenix
Reply Retweet Označi sa "sviđa mi se"
Sebastian Dröge 19. sij
Odgovor korisniku/ci @hergertme @hughsient @zeenix
And in this context this article about the ABI in Swift is a useful resource to understand what this involves: It's not that simple!
Reply Retweet Označi sa "sviđa mi se"
Sebastian Dröge 19. sij
Odgovor korisniku/ci @hergertme @hughsient @zeenix
Now to solve this you don't necessarily need a stable-forever ABI (C++ also does fine without). But you'd need at least a bit more guarantees than the above unless you want to recompile everything all the time.
Reply Retweet Označi sa "sviđa mi se"
Sebastian Dröge 19. sij
Odgovor korisniku/ci @hergertme @hughsient @zeenix
See replies below for some details. None of these would magically be different if GCC was used instead of LLVM. It needs someone to figure out reasonable solutions to them, and they're nothing the Rust project would oppose to have solved. But resources are limited.
Reply Retweet Označi sa "sviđa mi se"
Sebastian Dröge 19. sij
Odgovor korisniku/ci @hergertme @hughsient @zeenix
3) Conditional compilation / cargo "features" allow each of your dependencies to be configured for your project and to not include features/other dependencies you don't need. This is widely used. With dynamic linking you need to ensure that the union of everything is enabled.
Reply Retweet Označi sa "sviđa mi se"
Sebastian Dröge 19. sij
Odgovor korisniku/ci @hergertme @hughsient @zeenix
With static linking you can at least have the linker throw away duplicates when creating the final build artefact, but with dynamic linking each shared library might still end up with its own version of Vec<String>, for example.
Reply Retweet Označi sa "sviđa mi se"
Sebastian Dröge 19. sij
Odgovor korisniku/ci @hergertme @hughsient @zeenix
2) Code sharing is not as big as you would hope. All generic code is monomorphized and you end up with a copy of the specialized versions in the different build artefacts. Same as with C++ really just that Rust code is on average more generic.
Reply Retweet Označi sa "sviđa mi se"
Sebastian Dröge 19. sij
Odgovor korisniku/ci @hergertme @hughsient @zeenix
These reasons include: 1) you suddenly need to worry about ABI compatibility between your build artefacts. This is currently only guaranteed for the same compiler version with the same compiler flags.
Reply Retweet Označi sa "sviđa mi se"