Search

Items tagged with: Rust




Exciting news about #AccessKit: Talon (talonvoice.com/) is one of the first real applications to use AccessKit. In the current beta build (for Patreon supporters), the Talon app core has been ported from Qt to #Rust using the #egui toolkit, and it's now accessible with AccessKit on Windows and macOS (Linux AccessKit support is close, but waiting on a bug fix). #accessibility




Is there a high-level, statically typed language in the #GTK ecosystem?

#Rust, while better than C is overly obsessed with memory to use it daily.

Looking at bindings
gtk.org/docs/language-bindings…

things like #JVM and #.NET are missing, leaving the choice of unhelpful type systems, or caring about unneeded details, or both... Not a good outlook for quickly building apps.

#gtk #rust #jvm



As part of the optimizations, there are a lot fewer temporary allocations now, e.g. for NUL-terminated strings.

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


First steps with #Rust, great initiation!
#rust


For me this is the last nail in the coffin for #Go.

I've never bought much into the language. I've been impressed by its constructs to natively manage and synchronize asynchronous operations, but its rigidity when it comes to programming paradigms (no proper object-oriented and functional constructs in the 21st century, seriously?) means that I see it as a language that seriously limits expressivity, and doomed to generate a lot of boilerplate. It's a language very good at solving the types of problem that are usually solved at Google (build and scale large services that process a lot of stuff in a way that the code looks the same for all the employees), and little more than that.

After #Rust really took off, I didn't see a single reason why someone would pick Go.

And now here we go with the last straw: Google has proposed to embed telemetry collection *into the language toolchain itself*. And, according to Google, it should be enabled by default (opt-out rather than opt-in), because, of course, if they make it an opt-in then not many people will explicitly enable a toggle that shares their source code and their usage of the compiler with one of today's biggest stalkers. If they make it an opt-out, well, many people won't even notice, and you can grab more data points from people, whether they know/like it or not.

If you build open-source projects in Go, it's time to drop it and start considering alternatives. The market for modern compiled language is much more competitive now than it was a decade ago. We knew already that we couldn't trust a programming language developed by the largest surveillance company on the planet.

theregister.com/2023/02/10/goo…

#rust #go





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 : meow.social/@Kyu/1095710305682…

#RustCataStructures #rust #RustLang #cat #CatsOfMastodon


Not all cats have the gift of levitation.
Those that do, however, do like to flaunt it.


#rust


Spent my lunch break quickly writing up the fun and games of converting an svg to a pdf in #rust with out messing up the text.

Unfortunately I didn't save screenshots of all the weird errors I got along the way they would have been good to illustrate the post with.

parsecsreach.org/post/rust_svg…

#rust


The Rust 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.

lib.rs/crates/data-encoding

#rust #RustLang


In exciting async news: the stabilization of `std::pin::pin!` has been accepted, and will be coming to stable on #Rust on 1.68.0!

This will enable "stack pinning" entirely from safe Rust, replacing many of the uses for `Box::pin`, the unsafe `Pin::new_unchecked`, and external crates such as `pin-utils`!

github.com/rust-lang/rust/pull…

#rust


Oh! I made a PR to crates.io less than 3 hours ago, and it's already merged and deployed! 😯

Crates.io now shows little `cargo add` snippets, that you can also copy to the clipboard with a single click.

#rust

#rust


The experimental Rust PR to add a more expressive "interop" ABI on top of the C ABI is IMHO the most exciting new effort that happened in Rust in the last few years.

Thanks to @josh and others for starting this very important work 🥳​

github.com/rust-lang/rust/pull…

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.

github.com/rust-lang/rust/pull…

Very exciting stuff for making Rust a better choice in various areas where exactly these topics were slowing down or hindering adoption.

#Rust #RustLang


Talk on Zero-cost deserialization in #Rust, by @manishearth

> ICU4X has [gone] all-in on zero-copy deserialization, a technique that ensures that data loading involves fast validation as opposed to slow allocation. To help with this, we have built a suite of crates (yoke, zerovec, zerofrom, and databake) that make zero-copy deserialization easier to work with and more broadly applicable.

youtube.com/watch?v=DM2DI3ZI_B…


🦀​ Rust 🦀​ people, is there a way to use conditional compilation in the match parts of a declarative macro? Other than duplicating the whole macro definition.

Basically something like

macro_rules! foo(<br>    ($x:expr) => { {<br>        println!("{}", $x);<br>    }};<br>    #[cfg(target_os = "linux")]<br>    ($x:expr, $y:expr) => { {<br>        println!("{} {}", $x, $y);<br>    }};<br>);<br>

This currently fails compiling: play.rust-lang.org/?version=st…

#Rust #RustLang




4 years using and championing the #fediverse full time and I've never written a #introductions toot. Well, or I have and can't find it.

I'm a #blind guy from 🇬🇧 with a passion for #technology and #programming, particularly #lowLevel #systemsProgramming in #C, #C++, #Rust, etc.

I've been a huge #freeSoftware / #openSource advocate for the majority of my life. I run #Linux and I love open, #decentralised technologies like #ActivityPub, #Matrix, #bitTorrent etc.

In my view, technology is built to make our lives easier, and in many ways, it isn't these days. It is truly my opinion that the only way #tech can be sustainable is if it's built using #FOSS, and does not give ultimate control to any 1 entity, individual or corporate. If technology is to help the people, it must be built *for* the people.

Currently working on odilia.app, various projects with the rest of the Lower Elements gang at lowerelements.club, and a Computing Science BSC at the #University of #stirling




We're looking for a #c / #cpp or #rust #freelance developer! It's mostly about Linux namespaces, PAM modules, and patches in 3rd-party software. Low volume. Take a look, mail us, or spread the word!

blog.uberspace.de/freelance-jo…

Boosts very welcome! #rustlang #jobad #job




One of the coolest tools we use at #1Password has been #opensource ’d!

I present to you Typeshare 2.0! A way to share Rust types across the FFI (supports, Swift, Kotlin, TypeScript, and Go). We use it everyday and I love it, makes things so easy and awesome.

github.com/1Password/typeshare

#rust #swift #kotlin #go #golang #rustlang


Hey folks,

I'm currently looking for new permanent and remote-only opportunities in Europe.

I'm really willing to get my hands dirty with some Rust. My day job is mostly about TypeScript and NodeJS but I have plenty of projects on my GitHub account you can check github.com/yamafaktory .

Boost really appreciated ❤️ !

#rust #rustlang #typescript #nodejs #job


Are you comfortable in C but curious about Rust? Have existing tutorials seemed like they don't apply to the sort of low-level work you do?

Learn Rust the Dangerous Way is my unsafe-first introduction to the Rust language -- starting with code with the same gotchas as C, and introducing idiomatic Rust concepts to improve it. It's a few years old now but you might still find it useful. (I keep meaning to update/extend it but life keeps happening!)

cliffle.com/p/dangerust/

#rust #tutorial


📺 Join me & @bnjbvr_en this afternoon @ 4PM CET for some cozy @matrix #WebAssembly hacking live on stream!
youtube.com/watch?v=hIbBLs1q99…

We are going to be looking at Trinity, Benjamin's supercool side project that lets you write #matrix bots in #rust & WebAssembly. Come for the coolness, stay for the endless hilarity that ensues as I attempt writing Rust code and hope live to tell the story :ablobcateyesflip:
github.com/bnjbvr/trinity