• 4 Posts
  • 20 Comments
Joined 2 years ago
cake
Cake day: August 2nd, 2023

help-circle












  • It would be nice if there was a way to handle instance/user migrations. If an instance gets their domain name taken away, there’s no way AFAIK for the admin to say “Here’s our new location, with a verifiable signature”. Likewise there’s no way for a user AFAIK to move their account with a verifiable signature that the new one is still them. Ideally this could all happen automatically with signatures getting synced automatically and all that.

    I’m sure it would be a lot of work and no idea if ActivityPub would get in the way, but it would give people a lot more assurance that they didn’t pick a server that will screw them over by going down.




  • The collect’s in the middle aren’t necessary, neither is splitting by ": ". Here’s a simpler version

    fn main() {
        let text = "seeds: 79 14 55 13\nwhatever";
        let seeds: Vec<_> = text
            .lines()
            .next()
            .unwrap()
            .split_whitespace()
            .skip(1)
            .map(|x| x.parse::().unwrap())
            .collect();
        println!("seeds: {:?}", seeds);
    }
    

    It is simpler to bang out a [int(num) for num in text.splitlines()[0].split(' ')[1:]] in Python, but that just shows the happy path with no error handling, and does a bunch of allocations that the Rust version doesn’t. You can also get slightly fancier in the Rust version by collecting into a Result for more succinct error handling if you’d like.

    EDIT: Here’s also a version using anyhow for error handling, and the aforementioned Result collecting:

    use anyhow::{anyhow, Result};
    
    fn main() -> Result<()> {
        let text = "seeds: 79 14 55 13\nwhatever";
        let seeds: Vec = text
            .lines()
            .next()
            .ok_or(anyhow!("No first line!"))?
            .split_whitespace()
            .skip(1)
            .map(str::parse)
            .collect::>()?;
        println!("seeds: {:?}", seeds);
        Ok(())
    }
    






  • m_f@midwest.socialtoProgrammer Humor@programming.devGolang be like
    link
    fedilink
    arrow-up
    20
    arrow-down
    2
    ·
    2 years ago

    You probably wouldn’t be committing this, unless you’re backing up a heavily WIP branch. The issue is that if you’re developing locally and need to make a temporary change, you might comment something out, which then requires commenting another now-unused variable, which then requires commenting out yet another variable, and so on. Go isn’t helping you here, it’s wasting your time for no good reason. Just emit a warning and allow CI to be configured to reject warnings.