sonny, to GNOME
@sonny@floss.social avatar

Got very excited by @matt demo of AccessKit integration in #GTK

AccessKit is a cross-platform abstraction for accessibility infrastructure written in Rust.

His work will bring a11y support for GTK on macOS and Windows as well as for the new accessibility architecture on Linux code-named "Newton".

https://github.com/AccessKit/accesskit

https://blogs.gnome.org/a11y/2023/10/27/a-new-accessibility-architecture-for-modern-free-desktops/

#GNOME #rustlang #accessibility #a11y #Linux #Windows #macOS

karolherbst, to rust
@karolherbst@chaos.social avatar

Is there a good way in to prevent stackoverflows with long dependency chains of Arced objects?

Basically I need to prevent something like this from happening: https://godbolt.org/z/rxE4eaYe7

And no, Weak can't be used here as in my case I need to access the dependency reliably.

EDIT: updated to get rid of the Mutex, because apparently that allowed some things I've not intended.

rustlab, to rust
@rustlab@mastodon.uno avatar

🚀 Secure your spot at before prices go up! rates end tomorrow at noon (CET). Don't miss this opportunity to attend at the best price possible!
👉https://rustlab.it/tickets24

swiftcoder, to rust
@swiftcoder@mastodon.social avatar

I guess a stealth MacOS update decided I don't get to use anymore... How's your Monday?

ecton, to rust
@ecton@fosstodon.org avatar

Here's some highlights from 's v0.3 release that went out yesterday. Cushy is a reactive GUI crate for

https://ecton.dev/cushy-v0-3/

dekirisu, to rust
@dekirisu@mastodon.social avatar

🦊 added placeholder items
🐹 and a player inventory to store them

This uses bevy_ui and a custom abstraction on top.
(the macros I posted about a few weeks ago)

video/mp4

ekuber, to rust
@ekuber@hachyderm.io avatar

The online discourse:

"It's like C++ and OCaml had a baby! (Positive)"
"It's like C++ and OCaml had a baby! (Pejorative)"

janriemer, to ArtificialIntelligence

Zed Decoded: Rope & SumTree - by Zed Industries

https://zed.dev/blog/zed-decoded-rope-sumtree

Absolutely fascinating deep-dive into the core data structures the folks at Zed Industries use for their !

"Currently there are over 20 uses of the SumTree in Zed. [...] The list of files in a project is a SumTree. The information returned by git blame is stored in a SumTree. Messages in the chat channel: SumTree. Diagnostics: SumTree."

Oh, how I love this! ✨

janriemer, to rust

Practical suggestions for building around borrow errors - by quinedot

https://quinedot.github.io/rust-learning/lifetime-intuition.html

If you're struggling with the borrow checker and lifetimes, this is an excellent resource!

In some past toot I've said that Rust lends itself very well to intuition-based learning...

https://floss.social/@janriemer/109415274612140073

...so this learning resource takes the same line (according to its title)! Nice!

ecton, to rust
@ecton@fosstodon.org avatar

I've released v0.3, a reactive GUI crate for . It's been a while, so the changelog is pretty massive. It's still very much an alpha GUI framework, but it's made significant strides since v0.2.

I'm starting working on a blog post highlighting some of the changes and new features, which I'll of course post here when I've published it.

https://github.com/khonsulabs/cushy/releases/tag/v0.3.0

rusticorn, to iOS
@rusticorn@fosstodon.org avatar

The integration of in-app-purchases used in Zoolitaire is now and on Github: https://github.com/rustunit/bevy_ios_iap - hope to see more @bevy games now 🤩 🦀🎮

video/mp4

RogerBW, to raku
@RogerBW@emacs.ch avatar
mttaggart, to rust

Late-night tool release!

Introducing entropyscan-rs, a entropy scanner for analyzing files and directories during incident response. Used carefully, this can quickly identify likely malware when not all stages of an attack have been discovered, such as during a web server compromise without adequate logging. Enjoy!

github.com/mttaggart/entropyscan-rs

jhpratt, to rust
@jhpratt@mastodon.social avatar

Preview of what I have been working on recently. The core of this crate is a mere two traits. The crate will ship with a number of parsers and combinators, none of which rely on anything not exposed to downstream users.

I've attached a real-world situation, taken verbatim from the test suite. Parsing integers isn't as efficient as it could be yet, as it's using a naïve method.

Parsing in general compiles to be extremely efficient, and using it is ergonomic.

pub trait Combinator<'input, P> where P: ByteParser<'input>, { type NewParser: ByteParser<'input>; fn apply_to(self, parser: P) -> Self::NewParser; }
#[test] fn parse_date() -> parcom::Result<()> { let parser = ascii::int:: .limit_length(4) .and(verbatim(b"-").discard()) .and(ascii::int::.limit_length(2)) .and(verbatim(b"-").discard()) .and(ascii::int::.limit_length(2)); let (seq!(year, _, month, _, day), remaining) = parser.parse("2021-07-04")?.into_parts(); assert!(remaining.is_empty()); assert_eq!(year, 2021); assert_eq!(month, 7); assert_eq!(day, 4); Ok(()) }

njoseph, to rust
@njoseph@social.masto.host avatar

Wrote a little app launcher for all of my manually installed applications using Tauri in about 2 hours and with less than 100 lines of code. The .deb package it generated is just 2.8 MB in size. I added this to my startup applications using Gnome Tweak Tool.

P.S. One hour was spent fighting the borrow checker. AppImage is 164 MB.

hrefna, to rust
@hrefna@hachyderm.io avatar

Hmmm, maybe it is time to get back to learning

mcbridejc, to rust
@mcbridejc@mstdn.social avatar

Five months later, I finally got around to bringing up my four channel driver board so I can control X and Y at the same time on these. With a hole in the middle of the PCB, this seems like it could actually work as a back-illuminated microscope stage. Not as good as an OpenFlexure probably? But it's just a PCB, simple 3D printed part, and $3 worth of magnets (well, and drive electronics!). The software driving it is , of course!

Video:
https://video.jeffmcbride.net/w/qgJoEM2iXvaUTqEFmjDKNZ

orhun, to rust
@orhun@fosstodon.org avatar

You can hack your neighbor's toothbrush with this TUI! 🪥

🌪️ blendr: The hacker's BLE (bluetooth low energy) browser terminal app.

🔥 Inspect, search, connect, and analyze data coming from BLE devices.

🦀 Written in Rust & built with @ratatui_rs

⭐ GitHub: https://github.com/dmtrKovalenko/blendr

dekirisu, to rust
@dekirisu@mastodon.social avatar

I dislike using resources in a few cases!
Here's how to dodge using them!

Downsides:
🦊 it's a global static, so ECS instances share them
🦞 one has to avoid parallel read & writes manually

I've added an example to the repo:
https://github.com/dekirisu/bevy_cell

video/mp4

looopTools, to rust
@looopTools@mastodon.social avatar

I keep looking at rust and thinking "Gods it seems to be an awesome language"... Then I read and hear about a lot of hassels moving from C or C++ to rust and never really any massive success stories... are the massive success stories out there? #rustlang #development

krans,
@krans@mastodon.me.uk avatar

@looopTools #Firefox is a massive success story for Rust. After multiple attempts to write a multi threaded style engine in C++, and getting completely destroyed by data races on each attempt, #Mozilla funded Rust #development, and then used it to write a high performance multi threaded styling engine (#Stylo) with no crashes or data races on basically the first attempt.

#rustlang #cplusplus

njoseph, to rust
@njoseph@social.masto.host avatar
cuchaz, to random
@cuchaz@gladtech.social avatar

Once again I get foiled by switching languages. :blobcatfacepalm2:

In Javascript, you have to compare strings with ===, not ==, or else you'll run into type coercion problems, because Javascript thinks 1 == "1" is a totally fine thing to be true. (it's not)

But in Kotlin, === compares identity not equality for strings. But in the JVM, string values are aggressively cached, so === actually does what you want most of the time. Unless your strings come from weird places, like JNI code. Then you get awful non-deterministic behavior that's incredibly hard to debug, but it totally goes away when you use the correct comparison operator == for strings.

sigh I'm not really as good at this whole programming thing as I should be by now.

happyborg,
@happyborg@fosstodon.org avatar

@cuchaz
Programming is hard.

A skill is choosing systems and tools that make it easier and making meta choices to enable you to maximise your agency in those choices.

I remember the pain I endured learning #nodeJS a decade ago, then looking at #Angular [shudder] and #React hmm.

Then the pleasure that followed learning to use #Svelte and #Rust. You'd have a hard time getting me to use anything else now. Not happening.

My debut Rust project is now part of debian / Ubuntu.

"===" 🤣
#RustLang

TehPenguin, to rust
@TehPenguin@hachyderm.io avatar

I've begun the process of switch Rust's Windows CI to Server 2022, starting with the mingw builders: https://github.com/rust-lang/rust/pull/124562

This was tried a couple of years ago, but there some issues with mingw - so kudos to the folks that investigated and fixed those (sorry that I don't have links)!

Next step, the MSVC builders, which will require bumping the version of Clang that's used to build LLVM first...

TehPenguin,
@TehPenguin@hachyderm.io avatar

Fully on Server 2022 and using the latest Clang https://github.com/rust-lang/rust/pull/124850

It'll be interesting to see if 1.80 has improved build times on Windows now that it's using an up-to-date Clang to build LLVM...

TehPenguin,
@TehPenguin@hachyderm.io avatar

Which is all, of course, part of the Grand Master Plan™️ to get Arm64EC promoted to tier 2 https://github.com/rust-lang/compiler-team/issues/746

#RustLang #Rust #windows

  • All
  • Subscribed
  • Moderated
  • Favorites
  • anitta
  • everett
  • magazineikmin
  • Youngstown
  • thenastyranch
  • rosin
  • slotface
  • ngwrru68w68
  • Durango
  • PowerRangers
  • kavyap
  • cisconetworking
  • tsrsr
  • DreamBathrooms
  • modclub
  • mdbf
  • tacticalgear
  • khanakhh
  • ethstaker
  • vwfavf
  • InstantRegret
  • tester
  • osvaldo12
  • cubers
  • GTA5RPClips
  • Leos
  • normalnudes
  • provamag3
  • All magazines