1
2
How to fund Rust contributors (blog.rust-lang.org)
submitted 1 week ago by to c/rust@lemmy.ml
3
4
5
Announcing Rust 1.99.1 (blog.rust-lang.org)
submitted 3 weeks ago by to c/rust@lemmy.ml
6
7
 
 

cross-posted from: https://piefed.zip/c/rust@programming.dev/p/1873943/mpris-lyrics-a-simple-linux-cli-that-displays-synced-lyrics-from-the-mpris-xesam-astext-pr

So yeah, as the probably unnecessarily long title says, this is a CLI that displays the current playing lyrics, but instead of trying to go online and fetch a match it just uses the already there xesam:asText property in MPRIS.

Sadly a lot of popular players that implement the MPRIS2 standard still don't implement that specific one, so it wont work with them. Even the one used in the showcase had to be modified, tho I am hopefully gonna upstream it soon.

I am very strict about AI usage, so for this project the only hint of AI that was used was for tab auto completion that is just used for boilerplate like, idk, implementing the Default trait for PlayerState (not including the actual tricky metadata_last_updated part). Safe to say it was only one notch above no AI at all.

So yeah, here you go give it a try and feel free to roast me, after all this is my first cli and cargo publish ;)

mpris-lyrics a simple Linux CLI that displays synced lyrics from the MPRIS xesam:asText property
8
Announcing Rust 1.99.0 (blog.rust-lang.org)
submitted 1 month ago by to c/rust@lemmy.ml
9
 
 

Managarr is a CLI (command-line) and TUI (Text-based User Interface) tool for managing all of your Servarr's in one place.

This most recent release adds support for Readarr and several compatible forks.

I know that Readarr has sadly been retired, however there's still community support in keeping the dream of Readarr alive. As such, extra time was put into this release to test out Managarr with four of those forks to ensure that in addition to the final release of Readarr, Managarr works with these other forks as well.

So now, as long as a fork of Readarr still is compatible with the v1 Readarr API, Managarr can work with it too.

I tested the following forks and made changes in Managarr to ensure support:

In addition to Readarr (and forks), Managarr supports Radarr, Sonarr, and Lidarr.

You can try it out for yourself without installing it by visiting the demo site if you'd like!

This is a passion project of mine so I'd love to hear any and all feedback! And thanks to all who contributed to this release!

10
 
 

Was recently somewhat surprised that you can't just copy a Rust executable into a ´scratch´ container and have it work, so this is a cool blog post to find in my RSS feed.

I'm guessing, if you're doing something less complex, then you just need the ´musl´ target and the allocator...

11
12
13
 
 

Supply-chain through social engineering

14
15
 
 

From the README:

Pausing popular torrents isn't something that qBittorrent handles well. This library uses 2 criteria to pause / stop torrents.

They are stopped if they are:

  • Popular (IE have a lot of total seeds), and
  • You've given back more than what you've taken (IE a seed ratio > 1)

Requirements

  • Rust
  • A qBittorrent server.
  • An API key generated through the web UI.
  • A crontab where this script can be periodically run.

Usage

This will pause torrents with a ratio >= 2, and more than 10 total seeds.

cargo run -- \
--api-key API_KEY \
--endpoint ENDPOINT \
--ratio 2 \
--total-seeds 10
16
Announcing Rust 1.98.1 (blog.rust-lang.org)
submitted 2 months ago by to c/rust@lemmy.ml
17
Announcing rustup 1.29.1 (blog.rust-lang.org)
submitted 2 months ago by to c/rust@lemmy.ml
18
 
 

Finally I can stay forever on lemmy even not opening the browser! 😂

Thinking of using it as a mod tool to see new posts in communities I moderate.

Sharing it early, maybe get some ideas on how to make it better.

https://github.com/tracyspacy/lemmy-tray

19
 
 

I've been building a bytecode VM in Rust and recently implemented NaN boxing for value representation. Sharing here for anyone interested.

I needed all VM values (booleans, integers, string pool indices, bytecode references) to fit in 64 bits (stack is Vec).

My implementation encodes 5 distinct types using a 3-bit tag and 32-bit payload, all within a single u64. It also has 15 unused bits, they may be used later for types expansion.

I'm using a 64-bit layout:

  • Bits 63-51: Quiet NaN signature (0x7FFC...)
  • Bits 50-18: 32-bit payload (integers, string pool indices, etc.)
  • Bits 17-3: Unused/ (15 bits)
  • Bits 2-0: 3-bit type tag

So it allows me to have 5 tagged types: TRUE_VAL, FALSE_VAL, STRING_VAL, CALLDATA_VAL, U32_VAL