Search
Items tagged with: RustLang
On the RustConf keynote | Rust Blog
Empowering everyone to build reliable and efficient software.blog.rust-lang.org
🦀 I wrote a proposal for an #[export] attribute in #rustlang to allow for *dynamic* linking between Rust crates, without losing memory safety at the linker boundary.
This will make other ABI work aimed at Rust FFI directly usable between Rust crates as well.
Tl'dr #rustlang is a great collaboration opportunity for @gnome and @kde.
A long long time ago, #freedesktop initiative was created for precisely this goal. While in many ways it was a success story (especially in terms of establishing standards), it came short in one specific aspect: code collaboration.
Most freedesktop (all?) projects were and are almost exclusively developed and maintained by GNOME folks. That's not very surprising, given that C (being that lowest common denominator) had to be the programming language of choice. Just like most GNOME folks wouldn't want to touch C++, KDE folks don't particularly enjoy coding in C either. I know both have their reasons and the point here is not to play the blame game here.
There is not much point in dwelling in the past here but if we decide to write all future infrastructure/non-UI projects (that would have otherwise been written in C or C++) in Rust, there's a great potential for collaboration, I believe.
Talk is cheap, you could say and I agree. Hence why I've taken some steps in this direction already: https://github.com/dbus2/
The future of D-Bus
The future D-Bus development happens here. The future of D-Bus has 3 repositories available. Follow their code on GitHub.GitHub
I've spent a good part of my weekend working on upgrading the GStreamer Rust bindings on Servo. The presentation by Martin Robinson from @igalia at @rustnl was a real inspiration.
https://github.com/servo/media/pull/393
I'm delighted with the revival of Servo and I believe it has a bright future.
#ServoBrowser #RustLang #GStreamer
Upgrade GStreamer dependencies by rafaelcaricio · Pull Request #393 · servo/media
I've upgraded the version of the GStreamer Rust bindings. I've tried to make the minimal possible changes to the code, keeping all previous logic and behavior. Please let me know if I've missed any...GitHub
Oxidizing GTK
https://events.gnome.org/event/101/contributions/458/
At the next GUADEC, there will be a presentation on an experiment
about integrating Rust in the GTK code base.
#Rustlang #GTK #GNOME #GUADEC #GUADEC2023
🆕🦀 Just moments ago, #rustlang 1.69.0 was released!
As usual, here's a thread with some of the highlights. 🧵
1/8
https://blog.rust-lang.org/2023/04/20/Rust-1.69.0.html
Announcing Rust 1.69.0 | Rust Blog
Empowering everyone to build reliable and efficient software.blog.rust-lang.org
Over the Easter holidays I experimented a bit with building Rust code with meson instead of cargo.
Specifically I tried building a GStreamer plugin with a few dozen Rust dependencies, but the same applies in a similar way to GTK/GNOME applications or literally anything else.
A write-up of the results with a lot of details can be found here: https://coaxion.net/blog/2023/04/building-a-gstreamer-plugin-in-rust-with-meson-instead-of-cargo/
#RustLang #GStreamer #GNOME #GTK #meson #cargo #BuildSystems
👉 should we?
👉 If we some language can do what Rust can do but more simpler, we should be happy to switch but is that the case here?
Article:
https://towardsdev.com/why-the-rust-community-should-be-worried-about-the-new-carbon-language-3a0ab07d6ce5
#rustlang #rust #cpp #carbon
Why the Rust Community Should Be Worried About the New Carbon Language
I would put myself into the third group. I really like the general idea behind Rust, want to apply it in production, but still, use all kinds of tools other than Rust. The first category would not…Olenin Slava (Towards Dev)
#rustlang
https://marabos.nl/atomics/
Rust Atomics and Locks by Mara Bos
Low-level Concurrency in Practice. This practical book helps Rust programmers of all levels gain a clear understanding of low-level concurrency. You'll learn everything about atomics and …marabos.nl
Here's a thread with some of the highlights of Rust 1.68. 🧵
1/11
https://blog.rust-lang.org/2023/03/09/Rust-1.68.0.html
Announcing Rust 1.68.0 | Rust Blog
Empowering everyone to build reliable and efficient software.blog.rust-lang.org
https://docs.rs/activitypub_federation/latest/activitypub_federation/
#rust #rustlang
activitypub_federation - Rust
A high-level framework for ActivityPub federation in Rust. The goal is to encapsulate all basic functionality, so that developers can easily use the protocol without any prior knowledge.docs.rs
https://youtu.be/2hXNd6x9sZs
How to Learn Rust
Today I'm going to talk about some strange recommendations I have on how to learn Rust.Thanks very much to today's sponsor RazorSecure.Check out their open d...YouTube
https://github.com/petrochenkov/rfcs/blob/9901089b2467b0813456479ba03642e9f0ac0912/text/0000-type-privacy.md#lint-3-voldemort-types-its-reachable-but-i-cant-name-it
#rust #rustlang
rfcs/0000-type-privacy.md at 9901089b2467b0813456479ba03642e9f0ac0912 · petrochenkov/rfcs
RFCs for changes to Rust. Contribute to petrochenkov/rfcs development by creating an account on GitHub.GitHub
Reducir el tamaño del código en librsvg mediante eliminar un tipo genérico - https://viruta.org/reducing-binary-size-generics-es.html
#rustlang
scim/lib.rs at main · kanidm/scim
SCIM bindings and tools for Rust. Contribute to kanidm/scim development by creating an account on GitHub.GitHub
https://fasterthanli.me/articles/the-bottom-emoji-breaks-rust-analyzer #rust #rustlang
The bottom emoji breaks rust-analyzer
Some bugs are merely fun. Others are simply delicious! Today's pick is the latter. Reproducing the issue, part 1 ...fasterthanli.me
We're developing an #API in #rustlang that can internally use asynchronous #DNS lookups, implement Happy Eyeballs, support #DANE, SVCB/HTTPS, encrypted client hello, etc.
https://fosdem.org/2023/schedule/event/dns_connectbyname_and_the_proxy_control_option/
This release features the addition of a few convenience APIs, the addition of bindings for some minor APIs and a lot of internal changes to improve performance and code generation.
https://gstreamer.freedesktop.org/news/#2023-02-13T10:00:00Z
#GStreamer #Rust #RustLang
Also, in addition to better performance, the code generation improvements also reduce the binary size considerably.
Some GStreamer plugins saw reductions of 15-20% 🥳
#GStreamer #Rust #RustLang
#rust #rustlang #gtk
Exploring Rust for Vulkan drivers, part 1
Exploring the area of using Rust to write Mesa Vulkan drivers.Collabora | Open Source Consulting
https://sequoia-pgp.org/blog/2023/02/01/202302-happy-sha1-day/
#rust #rustlang
I just made a standalone app for emoji-mart using tauri.
It is very easy to use as a developer, starts fast, binaries are small (2mb for this project) and packaging just works out of the box.
For this project I did not even had to write a single line of rust, so you don't need to be comfortable with #rustlang to be able use it.
https://github.com/Simon-Laux/tauri-emoji-mart-app
#tauri
GitHub - Simon-Laux/tauri-emoji-mart-app: Emoji Mart packaged as tauri app, simple emoji picker app.
Emoji Mart packaged as tauri app, simple emoji picker app. - GitHub - Simon-Laux/tauri-emoji-mart-app: Emoji Mart packaged as tauri app, simple emoji picker app.GitHub
https://github.com/fish-shell/fish-shell/pull/9512
#rust #rustlang
/cc @jntrnr
Rewrite it in Rust by ridiculousfish · Pull Request #9512 · fish-shell/fish-shell
(Sorry for the meme; also this is obligatory.) I think we should transition to Rust and aim to have it done by the next major release: Nobody really likes C++ or CMake, and there's no clear path f...GitHub
let floor = Floor::default();<br>let mut bowl = Bowl::new();<br>let mut cat = Cat::mew();<br><br>bowl.place_on(&floor);<br>cat.sit_on(&bowl);<br><br>let floor: &mut Floor = unsafe {<br> &mut *(&floor as *const Floor as *mut Floor)<br>};<br><br>floor.lower_by(50 * CM);<br>
Levitation needs some
unsafe
code, but not around the cat, cats don't take fall damage.Original post by @Kyu : https://meow.social/@Kyu/109571030568292591
#RustCataStructures #rust #RustLang #cat #CatsOfMastodon
If you want to ensure your code doesn't rely on undocumented struct layout, there's an nightly flag for that: https://github.com/rust-lang/rust/issues/106764
RUSTFLAGS="-Z randomize-layout" cargo +nightly test
Tracking issue for `-Z randomize-layout` · Issue #106764 · rust-lang/rust
This is a tracking issue for the unstable rustc flag -Zrandomize-layout. (rust-lang/compiler-team#457) About tracking issues Tracking issues are used to record the overall progress of implementatio...GitHub
base64
crate got a new release the other day, which removed (or rather deprecated for now) the simple encoding/decoding API and requires quite a bit boilerplate for such a simple task.The maintainer does not see the point in providing a simpler API for the common cases because if the API is too difficult to use then Rust is just the wrong language for you 🙄
Too bad the crate has such a prominent name on crates.io and is used so widely. I hope that doesn't turn away too many beginners because something as simple as base64 handling is so complicated.
The
data-encoding
crate looks like a good alternative for the same tasks. It provides the same amount of flexibility while still providing a simple API for the common tasks.https://lib.rs/crates/data-encoding
#rust #RustLang
data-encoding — Rust data encoding library
Efficient and customizable data-encoding functions like base64, base32, and hex | Rust/Cargo packagelib.rs
First up is our #RPKI relying party software Routinator. 🚀 Version 0.12.1 fixes a small number of bugs. Most importantly, the #TLS-enabled servers for both HTTP and RTR now also accept private keys formatted as PKCS#1 RSA keys rather than only accepting PKCS#8 keys. #RoutingSecurity #rustlang
https://github.com/NLnetLabs/routinator/releases/tag/v0.12.1
Release 0.12.1 ‘Plan uw reis in de app’ · NLnetLabs/routinator
Bug Fixes Actually use the extra-tals-dir config file option. (#821) Allow private keys prefixed both with BEGIN PRIVATE KEY and BEGIN RSA PRIVATE KEY in the files referred to by http-tls-key and ...GitHub
https://github.com/Raibows/MLinRust
Discussions: https://discu.eu/q/https://github.com/Raibows/MLinRust
#programming #rustlang
GitHub - Raibows/MLinRust: A machine learning library in Rust from scratch.
A machine learning library in Rust from scratch. Contribute to Raibows/MLinRust development by creating an account on GitHub.GitHub
With their track of incubating #RustLang I'm curious how this pans out.
Mozilla to Explore Healthy Social Media Alternative
In early 2023, Mozilla will stand up and test a publicly accessible instance in the Fediverse at Mozilla.Social.Steve Teixeira (The Mozilla Blog)
Also the #Android team just open sourced their four day, intro to Rust course!
https://google.github.io/comprehensive-rust/welcome.html 🤸🏻
Thanks to @josh and others for starting this very important work 🥳
https://github.com/rust-lang/rust/pull/105586
Also @Mara's reply seems to indicate that some serious thought is now also put into other related areas, especially for handling Rust dynamic libraries.
https://github.com/rust-lang/rust/pull/105586#issuecomment-1349332850
Very exciting stuff for making Rust a better choice in various areas where exactly these topics were slowing down or hindering adoption.
#Rust #RustLang
Experimental feature gate proposal `interoperable_abi` by joshtriplett · Pull Request #105586 · rust-lang/rust
Summary This experimental feature gate proposal proposes developing a new ABI, extern "interop", and a new in-memory representation, repr(interop), for interoperability across high-level programmin...GitHub
Decrusting the serde crate
In this stream, we peel back the crust on the serde crate — https://github.com/serde-rs/serde/ — and explore its interface, structure, and mechanisms. We tal...YouTube
Pre-ordered printed copies should start shipping in a few weeks. ⌛️
#rustlang
https://marabos.nl/atomics/
Rust Atomics and Locks by Mara Bos
Low-level Concurrency in Practice. This practical book helps Rust programmers of all levels gain a clear understanding of low-level concurrency. You'll learn everything about atomics and …marabos.nl