Skip to main content

Search

Items tagged with: Rust


Microsoft is rewriting parts of GDI in Rust, as evidenced by a new file called "win32kbase_rs.sys" which contains a complete reimplementation of the REGION type in rust, and a vive ID called "Rust_GDI_REGION".

#rust #rustlang #microsoft #windows


This is an actual case where a rewrite in #rust would be appropriate.
#rust


Happy Monday! I am looking for work.

I am looking for a role related to compilers ideally, but I'm also capable in numerical computing and back-end roles. I have experience with #Rust πŸ¦€ and #Python 🐍 .

I have a deep knowledge of Python from working on #mypy and CPython itself. The quantum compiler I worked on was a mixed Python/Rust codebase.

I'm looking for remote/hybrid near SF Bay Area.

Github: github.com/ethanhs

(boosts appreciated)

#fedijobs #getfedihired #fedihired #jobseeker


πŸ¦€ "Why the Rust Community Should Be Worried About the New Carbon Language"

πŸ‘‰ 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:
towardsdev.com/why-the-rust-co…

#rustlang #rust #cpp #carbon


squee. I finally got around to enabling the #rust #cargo sparse protocol and I. am. in. love.

in ~/.cargo/config.toml, put:

[registries.crates-io]
protocol = "sparse"

The speed difference for 'cargo update', particularly on a smaller project, is amazing and delightful.

blog.rust-lang.org/2023/03/09/…


If you ever wanted a clean guide on how to make Mastodon in rust from scratch,

docs.rs/activitypub_federation…

:BoostOK: :ReplyOK:

#rust #rustlang


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


Just discovered that there is a "voldemort case" in a Rust RFC. It's when you have a private type in a public API. You can reach the type but can't name it.

github.com/petrochenkov/rfcs/b…

#rust #rustlang


New post! I documented my weekend efforts to run #Rust on classic Mac OS in case it's useful to others or if anyone has ideas of additional things to try.

wezm.net/v2/posts/2023/rust-on…

#VintageMac #RetroComputing


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


fish shell's "rewrite it in #rust" PR has been merged a few minutes ago! (h/t @codl)

github.com/fish-shell/fish-she…


πŸ₯Ί The bottom emoji breaks rust-analyzer

fasterthanli.me/articles/the-b… #rust #rustlang


✨ GStreamer Rust bindings 0.20 and Rust plugins 0.10 release is out

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.

gstreamer.freedesktop.org/news…

#GStreamer #Rust #RustLang


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


New gtk-rs release is out! More information there: gtk-rs.org/blog/2023/02/10/new…

#rust #rustlang #gtk


Getting everyone to stop using sha1 is not a trivial task.

sequoia-pgp.org/blog/2023/02/0…

#rust #rustlang


Anyway, here's my explanation on why we want to port #fishshell to #rust: github.com/fish-shell/fish-she…

(after the initial PR was a "pull request" PR and not a "press release" PR and, uh, reached an audience we didn't really expect and so the responders lacked some context)


RIIR strikes again!
github.com/fish-shell/fish-she…

#rust #rustlang

/cc @jntrnr


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.


Fascinating to see a collection of pure safe #rust audio decoders competitive with FFmpeg: github.com/pdeljanov/Symphonia…
#rust


Started using github.com/leptos-rs/leptos yesterday. It is a #Rust web framework with ssr and hydration features. Works really well. Can recommend :)
#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


"Many people complain that the #Rust borrow checker is hard to wrap your head around. Having done a PhD in compiler design and being very familiar with dataflow analysis, there weren’t any major surprises for me. Still (...) I needed to learn the rules of the system as to how and where you’re allowed to borrow, (...)."

My ass has been laughed off and has not been seen since shopify.engineering/porting-yj…

#rust


let four_cats: Vec<(Cat, Color)> = vec![rand::random::(Cat, Color); 4];<br>let cats = [vec![rand::random::(Cat, Color); 2], four_cats.clone(), four_cats, vec![rand::random::(Cat, Color)]].into_iter().flatten().collect::<Vec<_>>();<br>

Ahhh, this one was tricky πŸ˜…

Source: mastodon.nl/@ErikSchouten73/10…

@ErikSchouten73

#cat #CatsOfMastodon #rust #RustLanguage #RustLang #RustCataStructures


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


πŸ₯³ A new version of csv-diff has just been released! πŸš€

docs.rs/csv-diff/latest/csv_di…

csv-diff is the fastest CSV-diffing library in the world - written in #Rust

It can compare two 1,000,000 rows x 9 columns CSVs in < 600ms!

Note that this is still a beta release and the library itself is still very young.

#RustLang #Release #CSV #CSVDiff #Performance #DataScience #Data #Diff #Difference #OpenSource #Crate


✨ New series: Advent of Code 2022 ❄️

A pretty long Day 1, wherein we go over #rust types, traits, iterators... to bear's chagrin. Then we come up with a ridiculous solution, because of course we do.

fasterthanli.me/series/advent-… #xp

#rust #xp


β˜ƒοΈ Advent of Code 2022, Day 2 🌲

In this one, we make our own enum and struct #rust types to model the problem accurately. And then.. more iterator shenanigans, including dealing with fallible iteration.

fasterthanli.me/series/advent-… #xp

#rust #xp


A year ago I started working on supporting GL Textures in the rusty @GStreamer Paintable @GTK Sink and now its merged πŸŽ‰
This should dramatically reduce the CPU usage consumed and allow for zero-copy rendering when used with hardware decoders.
gitlab.freedesktop.org/gstream…

#gstreamer #gtk #gnome #rust

⇧