Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)TE
Posts
0
Comments
678
Joined
2 yr. ago

  • There is a book bundle on Humble Bundle right now that goes into security and hacking, if that's what you're interested in.

    You're unlikely to receive any support, at least publicly, for how to do anything potentially illegal. I would recommend just not doing anything illegal or unethical anyway. If you're interested from a security perspective, find a cybersec community, and you may get more support there.

  • For frontend, there are cool Rust frameworks like Yew, but if it's a "real" project then just go with a standard JS framework like Next.js instead.

    For backend, Next.js (and many others) can also do backend, but if you want to use Rust, then I recommend axum. It's pretty much my goto Rust backend library.

  • I think most of Tor's users are legitimate, though I would be interested in seeing the actual numbers (if that were even possible). Tor's awesome for privacy-focused individuals. There's a ton of tracking done for lower-impact things like advertising and profiling, and for people who feel strongly about that, Tor adds an extra layer (or a few extra layers technically) of privacy.

  • Well the neighbors now have two trees on their roof and we haven't had power now in over a day, but otherwise fine. Workplace is open and has power and food so we've just been hanging out there.

    Our home has no damage though.

  • If in PHP or JS I make a change, hit F5, and get an error, that's not any better than the IDE already showing it beforehand.

    This is even worse because it can happen in prod without you ever triggering this case. For some projects, it doesn't matter because the impact of a bug is small. For most, you put a subpar, buggy experience in front of your users, waste more time looking for the cause and debugging later with upset users, and at worst cause actual damages (depending on the project anyway).

  • You can't create a subset of an enum directly, but splitting this up into multiple types works. You can have FunctionAError with errors that function can produce and a variant for your common errors, and FunctionBError which is similar:

     rust
        
    #[derive(Debug, Error)]
    enum MyErrorCommon {
        #[error("bad value ({0})")]
        MyErrorCommon(String),
    }
    
    #[derive(Debug, Error)]
    enum FunctionAError {
        #[error("error a")]
        MyErrorA,
        Common(#[from] MyErrorCommon),
    }
    
    // and same for FunctionBError
    
      

    The try operator (?) will automatically use From impls to convert errors for you as well. If a function returns a result containing MyErrorCommon in your function and you use ? on it, it gets converted to that function's error type for you. thiserror generates the From impl for you if you use #[from].

  • Types aren't unit tests. Unit tests only test a discrete set of inputs and outputs for correctness, and can miss cases that aren't tested for.

    In sound type systems, they are closer to formal verification. The compiler guarantees the properties you expect of the type hold.

    As for the rest of the article, do what works best for you in your projects, but if I need to work with you, I'm going to ask for types. I need to know what types the interface expects to receive. Names are not enough. Document them, use type hints, whatever, just put them somewhere because I'm not psychic and I don't know what you thought about when writing the function.

  • steelmaking in specific is very carbon intensive

    Makes sense, given that steel is an iron/carbon alloy. I guess decarbonization would be making the process more efficient and capturing more of the carbon into the steel?

  • It's hard to tell what it is you're trying to do here, but maybe Option isn't the right type? To me it feels like you'd want to return a type like Vec or an iterator.

    I would recommend looking at some of the iterator functions to do this. You could look at filter_map, collect, and fold/try_fold and see if any of those help you here.

  • Playing FFXIV for the first time.

    I don't really care for multiplayer games as much since I don't like to commit my time to others to play games (I like being able to get up and leave when I need to), but there's a solo challenge that sounded fun, so I'm giving that a shot.

  • Permanently Deleted

    Jump
  • Chuck Feeney is over here looking like a gigachad though:

    He [Feeney] decided to give virtually all his money away to various domestic and international charities and philanthropic efforts over his last 40 years or so. In September 2020, Feeney closed down his philanthropy company, having given away his wealth, minus retirement savings for him and his wife.