Most likely programming in Rust otherwise figuring this thing out.

  • 12 Posts
  • 39 Comments
Joined 1 year ago
cake
Cake day: June 6th, 2023

help-circle




  • 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).


  • 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 :)




  • 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.



  • 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.


  • 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@lemmyrs.org, or !rust@programming.dev 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.



  • 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!


  • 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).


  • 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.




  • 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.


  • 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.



  • 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.




  • 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@lemmyrs.org 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.