admin

@admin@lemmyrs.org

Most likely programming in Rust otherwise figuring this thing out.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

admin,

Oh wow, this seems like a fantastic addition. One of these days I really gotta switch from my decade old tmux workflow to zellij!

admin,

Well, the lemmy container kept running into:

lemmy  | 2023-06-24T23:28:52.716586Z  INFO lemmy_server::code_migrations: Running apub_columns_2021_02_02
lemmy  | 2023-06-24T23:28:52.760510Z  INFO lemmy_server::code_migrations: Running instance_actor_2021_09_29
lemmy  | 2023-06-24T23:28:52.763723Z  INFO lemmy_server::code_migrations: Running regenerate_public_keys_2022_07_05
lemmy  | 2023-06-24T23:28:52.801409Z  INFO lemmy_server::code_migrations: Running initialize_local_site_2022_10_10
lemmy  | 2023-06-24T23:28:52.803303Z  INFO lemmy_server::code_migrations: No Local Site found, creating it.
lemmy  | thread 'main' panicked at 'couldnt create local user: DatabaseError(UniqueViolation, "duplicate key value violates unique constraint "local_user_person_id_key"")', crates/db_schema/src/impls/local_user.rs:157:8

despite the fact that:

lemmy=# select id, site_id from local_site;
 id | site_id
----+---------
  1 |       1
(1 row)

So you can see that it was unconditionally trying to create a local_site and running into a DB constraint error. I further narrowed it down to this piece of code:

///
/// If a site already exists, the DB migration should generate a local_site row.
/// This will only be run for brand new sites.
async fn initialize_local_site_2022_10_10(
  pool: &DbPool,
  settings: &Settings,
) -> Result<(), LemmyError> {
  info!("Running initialize_local_site_2022_10_10");

  // Check to see if local_site exists
  if LocalSite::read(pool).await.is_ok() {
    return Ok(());
  }
  info!("No Local Site found, creating it.");

At this point I gave up because I couldn't really tell why LocalSite::read(pool).await.is_ok() was, well...not ok.

admin,

Sigh, I tried it one more time. Same problem. Downtime this time was probably < 5 mins though so hopefully not noticeable. I am wondering whether the database is in some bad shape (no idea why/how). I guess we wait and retry with 0.18.1.

admin,

I think it’s likely to spike again when the api goes dark

That's a fair point. I think I might bump up the specs of this instance over the weekend (will make an announcement prior).

I haven’t been back there, is any consensus forming regarding whether people will use /r/rust, !rust, or !rust going forward?

I am still of the opinion that both can (and probably should) co-exist. This particular instance will always be Rust focused, federated and have rust dedicated micro-communities. Whether it continues to grow only time will tell I suppose.

admin,

Will you update to Lemmy 0.18.0 (announced today)? The new HTTP API is allegedly more lightweight.

Of course I will! I was just waiting for a few more instances to bump theirs before I update this one.

By the way, I updated my dark theme published here for lemmy-ui 0.18.0 :)

Most excellent, I have been using your CSS with Stylebot :) You could also submit a PR to lemmy-ui repo btw with your custom theme so it gets even easier for people to try.

admin,

So there's two options (assuming /r/bevy even wants to consider migrating here):

  1. We setup a dedicated Bevy community
  2. /r/bevy could potentially use the existing Rust: Game Development community we have here

I don't really have preference either way. I do think that project-specific communities could certainly become a thing if people prefer to keep discussions laser focused.

And yeah, unfortunately I can't really make it free-for-all community creation simply because of potential DDOS/spam attacks and things rampantly becoming out of hand (part of the reason the instance is also application based).

admin,

I can somewhat relate. I mostly do something like this (instead of the exact dependency version):

chrono = {version = "0", features = ["serde"]}
clap = {version = "4", features = ["derive"]}
anyhow = "1"

I do, however, typically write application code instead of library, so it's probably less critical for me. Occasionally do run into dependency hell here and there, but nothing too bad so far!

Will lemmyrs defederate from controversial instances?

The apparently-close connection between the primary lemmy devs and the lemmygrad.rs instance (as well as other potentially problematic behavior/associations) has been a major point of discussion in recent r/rust posts about trying to move the community somewhere off of reddit. One common recommendation in these threads is that...

admin,

Hey, thanks for bringing this up. I completely agree that this is indeed something that we should discuss as a community. I haven't had the chance to make a thread about this yet, so we'll use this one :)

I have been keeping an eye on the de-federation of some instances but afaict the primary reason they did that was because of the open signup nature of those instances resulting in a flood of potential bot/troll accounts which the mods couldn't keep up with (understandably so). LemmyRS is (and probably will be in the foreseeable future) an application only instance. We just don't currently have the infrastructure or the manpower to deal with a completely open instance.

Any user who signs up using this instance presumably understands the target topic is Rust (and we have communities on this instance to cater to those users, so it's already pretty self-isolated in that sense). If someone wants to subscribe to communities on other federated instances they're completely open to do so. While things settle I think this approach should serve us well (please feel free to disagree and provide any counter arguments).

But again this isn't my unilateral decision, I would simply do what the users of this instance want as a group.

admin,

Right, that's certainly possible. Is it enough for us to start thinking about de-federating, maybe? Arguably this has been true since forever on any public forum. I think what's needed is better mod tools on Lemmy in general.

Personally, I think it's best for us to be patient while things settle before we consider any action. FWIW, we don't see much incoming traffic here anyway since the subreddits started coming back online after the 48 hr blackout.

If things start getting out of hand and this instance starts getting bombarded with just bots/troll, we will likely have to consider de-federation (or some other alternative).

admin,

Thank you, I love it! The contrast with your CSS is very nice. Also like the sticky navbar!

admin,

Agreed on the "bit early" part, disagree on the "split". As for traffic, maybe it comes, maybe it doesn't; can't really make a call on that yet. I feel it's better to do this now instead of when there's 1000+ members here (if ever).

I wouldn't necessarily label it as a "split" instead more like an organizational restructuring to keep things slightly more focused and on-topic. One can choose to "subscribe" to Rust Lang + Rust: Support but not to the other ones if they aren't interested for example.

admin,

I think TWiR can certainly belong in Rust: News along with any other relevant potentially recurring content (I'm thinking rustfmt, useful pkg update(s), news articles etc perhaps).

I've noticed its kinda challenging finding communities for folks and it's also kinda hard to make an actual announcement of sorts. I do, however, try to "pin" posts which I believe to be particularly important for the members to know. Honestly though, I too am figuring this out along with y'all :)

admin,

I think I struggled at least a couple months before I even got the hang of Rust. Read "the book" several times, didn't help. Watched several videos, didn't help. What eventually clicked for me personally was learn rust with entirely too many linked lists, I think I have read that 20+ times (still visit it sometimes).

6 months into it, I started getting better at organizing code and thinking more in terms of a data-driven approach (structs and impls) vs abstraction based (class and methods).

Bottom line is, everyone has a different approach to learning with wildly different times it takes to absorb knowledge. As for whether it's worth, well, it's still a relatively young language (compared to C, python, erlang, java) so you're already early. Another decade and perhaps Rust becomes as universal as C is.

admin,

Just saw your Edit. Yeah, this was probably the first post I think. I wouldn't be here myself if things weren't as transparent as they could possibly be.

As for Hetzner, yeah I've used them in the past (they're great) but for initial setup, I felt that Vultr was probably just fine. That said, I'm definitely going to have to bump up the storage and RAM on this instance in the very near future, we're cutting it closer than I'd like, specifically:

df -h:

Filesystem      Size  Used Avail Use% Mounted on
tmpfs            97M  1.7M   96M   2% /run
/dev/vda1        24G   15G  7.8G  65% /
tmpfs           485M     0  485M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            97M  4.0K   97M   1% /run/user/1002

free -m

               total        used        free      shared  buff/cache   available
Mem:             969         472          72         133         424         212
Swap:           2399         456        1943

I think a 2 tier bump to $24/month 2 vCPUs, 4GB RAM, 5TB egress at Vultr might serve us for a decent amount of time. And it would probably still be cheaper than the cheapest Hetzner dedicated we could find. Maybe.

admin,

A few things:

  • Instances are like their own self-hosted Reddits with communities being the sub-reddits. We have (had?) r/python, r/rust, r/golang along with r/programming; we can do the same here with topic-focused instance (like this one). I can imagine there being instances like lemmygo.org, lemmypy.org etc if the Reddit exodus continues.
  • You don't need multiple accounts to access communities (sub-reddits) from other instances (reddit). A single account on any instance allows you to access communities from any other instance. The UX/UI is a bit wonky, but it works.
  • As @erlend_sh pointed out, micro-communities like cli, wasm, networking etc can potentially become big enough and/or have specifics that are more suitable to exist on a topic-based instance.

Personally, I don't have any preference. I will simply subscribe to the community which is the most active on whichever instance.

admin,

However, I still see the posts show on my homepage, and appear to be able to view and interact

It's quite likely that your subscribe went through, mind sharing your findings by looking at the network tab in developer console on your browser.

What does subscribe do? e.g. are my posts visible on lemmy.ml I’ve just tried posting from here and my posts are visible from there so what exactly changes once subscription completes?

It simply makes communities on other instances show up in your subscribed feed. Similar to how you join a subreddit (the difference on lemmy is that the subreddit aka community is hosted on a separate instance).

What’s the problem and how do we fix it? (Depending on the answer to #1 maybe the fix is just “ignore it”)

My suspicion is that its websocket related, I've seen similar behavior when testing locally. The best you can do is maybe browse github for potentially relevant issues and see if you can help, otherwise please just be patient while things get more stable :)

admin,

Their pricing and reputation is certainly good. However, it seems like they don't have simple full server snapshot support. I think that's mandatory at this point in case of potentially irrecoverable failures.

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