this post was submitted on 10 Mar 2024
27 points (100.0% liked)

Rust

5949 readers
1 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

[email protected]

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS
 

Hi rustaceans! What are you working on this week? Did you discover something new, you want to share?

top 20 comments
sorted by: hot top controversial new old
[–] [email protected] 6 points 8 months ago (1 children)

I started to implement a new feature for https://kellnr.io. Currently, only private crates are displayed in the UI, but the users wished for the possibility to display cached crates from crates.io, as well. Hopefully a new version will be out in the next days, with the new feature.

[–] [email protected] 1 points 8 months ago (1 children)

Out of curiosity, are you affiliated with the "hush hush" group of people writing a new crates.io without the hard dependency on github and that allows namespacing?

CC BY-NC-SA 4.0

[–] [email protected] 2 points 8 months ago

Never heard of them. Kellnr is already three years old. It started when only git was supported as the registry protocol. I later added the sparse (http) registry API. Just a few weeks ago, I removed the old git API, as sparse seems established as the new standard. I never thought about namespacing, as Kellnr is aimed as private hosting for individuals or companies, where name squatting isn't an issue. But theoretically, I could add that.

[–] [email protected] 6 points 8 months ago (1 children)

I have an app that ultimately renders pdfs via typst. I'm starting to write tests for the output, exporting the documents to png instead and then applying something like https://github.com/kornelski/dssim or so.

(If anyone has experience with that, I'd take any hint I get ;))

[–] [email protected] 2 points 8 months ago (1 children)

Cool! What's your impression of typst? Is it ready to replace latex or is it still in its infancy?

[–] [email protected] 3 points 8 months ago

It's absolutely awesome. For my use case, it already surpasses latex, but I'm pretty sure that for other usecases there will be a point where latex offers more, at least due to ecosystem support. I for sure made the switch (wrote some personal docs in typst as well), and I'd suggest anybody at least looks into switching, it's so much better :)

From a dev perspective, it's also great that this is useable as a lib, instead of having to muck with an external binary (or rather full external latex installation).

[–] [email protected] 5 points 8 months ago (1 children)

I'm working on COSMIC To-do, a To-do app for the new COSMIC desktop.

It's very much still a WIP.

[–] [email protected] 3 points 8 months ago (1 children)

How easy is it to create custom widgets with iced.rs? Or does Cosmic provide it's own full widget library?

[–] [email protected] 3 points 8 months ago

libcosmic has everything you need to create applications and applets, it has a widget collection and utilizes iced.rs as the foundation.

[–] [email protected] 3 points 8 months ago

Beginning work on a full Minecraft server implementation; Other projects seem to be either frameworks (over full implementations) or relatively dead :(

[–] [email protected] 2 points 8 months ago (1 children)

I just started on rust. So I am working through the Rust book and a book by no starch press.

[–] [email protected] 2 points 8 months ago (1 children)

That's one of the best programming books I've read. How do you like rust so far?

[–] [email protected] 1 points 7 months ago

I like it. I'm still super new to it and trying to get my head around the rust way of doing things. I can say for sure that I really like cargo. It solves a lot of the problems I had with C/C++.

[–] [email protected] 2 points 7 months ago

I opened/open-sourced my ed2k link generator that I use to generate them for files so I can manage my AniDB mylist more easily.

I had done most work in 2022 and have been using it since then. For opening it up I still had to check whether I had sensitive code committed. I had to remove a local filepath from my initial commit. But now it's versioned and open on GitHub.

Yesterday I started migrating and extending some Mumo project (Mumble Moderator, python app/framework) CI and docs. I plan to further improve it, and to try to reproduce a bug that may be an issue because of changes in a deb/ubuntu library dependency.

[–] [email protected] 2 points 8 months ago

I am still in the process of customizing my desktop on my new MNT Reform laptop. This includes some work on my status bar tool. I just fixed decibel scaling for the ALSA volume plugin yesterday: https://github.com/soulsource/swaystatus/tree/feature/alsa

I am planning to merge the ALSA plugin to the main branch this week.

Next thing to add is a battery display. Probably using the udev crate, though I am tempted to just use sysfs instead.

[–] [email protected] 1 points 8 months ago (2 children)

I've been working on a distributed lemmy/Reddit alternative. I'm going to have to sacrifice some core features to get things working in a POC state (i.e. all clients will sync the full working set on each post), but I think I finally understand what the design needs to look like.

I'm excited to get working on the most interesting (to me) part: distributed moderation. Once that's done, I should be ready to post a repo somewhere, but I don't want to share the code until there's at least a rudimentary moderation system than can block local storage of blocked content (e.g. CSAM).

I'm also working on a game project in Godot with Rust extensions, but I haven't given that much attention.

[–] [email protected] 1 points 8 months ago (1 children)

I’ve been working on a distributed lemmy/Reddit alternative.

Makes me think of Aether. Have you been / were you inspired by that?

CC BY-NC-SA 4.0

[–] [email protected] 2 points 8 months ago

No, but it certainly looks interesting.

However, I want data to be permanent and moderation to be based on a web of trust. I'll certainly look at how they're doing it, they probably have some good ideas I haven't considered.

[–] [email protected] 1 points 7 months ago (1 children)

Wouldn't distributed moderation kind of remove distribution in a sense? Your impl sounds like it's distributing compute, but more central in control. E.g. Lemmy mods can only mod their own instances, so power is distributed more than if they could mod any instance.

[–] [email protected] 1 points 7 months ago

Lemmy is decentralized, but not distributed. I'm essentially saying that there are no instances, everyone is just a client, just like BitTorrent. The only servers that would exist are relays to help connect people behind firewalls.

There are no mods of a community, at least not mods everyone agrees on. The concept of moderation is entirely local and based on the peers you trust, so something like this:

  1. User A flags a post as problematic
  2. User B explicitly trusts A and hides the post
  3. User C implicitly trusts User B and may hide the post

Each step here is based on statistics, so you never completely trust anyone, and the moderation decisions would be completely public just like on Lemmy (I'm thinking of a "discovery queue" like Steam has, but for reviewing trust). Explicit trust (you've clicked a button) would give a high starting trust factor, whereas implicit trust (you've upvoted their posts and made similar mod decisions) would have a smaller impact.

At least that's the gist. I'll need to test it out to see what performance looks like, but I think it should work well in theory. I also have some privacy issues to work out, like hiding IP addresses (may need to rely more on relays or something like Tor).