Hi rustaceans! What are you working on this week? Did you discover something new, you want to share?
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 ;))
Cool! What’s your impression of typst? Is it ready to replace latex or is it still in its infancy?
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).
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.
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?
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.
I’m working on COSMIC To-do, a To-do app for the new COSMIC desktop.
It’s very much still a WIP.
Beginning work on a full Minecraft server implementation; Other projects seem to be either frameworks (over full implementations) or relatively dead :(
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.
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.
I just started on rust. So I am working through the Rust book and a book by no starch press.
That’s one of the best programming books I’ve read. How do you like rust so far?
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++.
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.
I’ve been working on a distributed lemmy/Reddit alternative.
Makes me think of Aether. Have you been / were you inspired by that?
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.
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.
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:
- User A flags a post as problematic
- User B explicitly trusts A and hides the post
- 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).