• 0 Posts
  • 6 Comments
Joined 2 years ago
cake
Cake day: July 6th, 2023

help-circle
  • In case the wording tripped anyone, generators (blocks and functions) have been available for a while as an unstable feature.

    This works (playground):

    #![feature(gen_blocks)]
    
    gen fn gfn() -> i32 {
        for i in 1..=10 {
            yield i;
        }
    }
    
    fn gblock() -> impl Iterator<Item = i32> {
        gen {
            for i in 1..=10 {
                yield i;
            }
        }
    }
    
    fn main() {
        for i in gfn() {
            println!("{i} from gfn()");
        }
        for i in gblock() {
            println!("{i} from gblock()");
        }
    }
    

    Note that the block-in-fn version works better at this moment (from a developer’s PoV) because rust-analyzer currently treats gfn() as an i32 value. But the block-in-fn pattern works perfectly already.




  • Sure, there were/are still some bits and pieces of hardware support missing, but the overall experience rivaled or exceeded what you could get on most x86 laptops.


    But then also came the entitled users. This time, it wasn’t about stealing games, it was about features. “When is Thunderbolt coming?” “Asahi is useless to me until I can use monitors over USB-C” “The battery life sucks compared to macOS” (nobody ever complained when compared to x86 laptops…) “I can’t even check my CPU temperature” (yes, I seriously got that one).

    how many levels of dissonance is that?


  • Traditional server-based self-hosting will have lower average uptime, will be easier to attack, and will have a much higher chance of disappearing out of nowhere (bus factor event, or for any other reason).

    A decentralized or distributed solution would make more sense as a suggestion here. Radicale (this one) is such an effort I’m aware of, although I never tried it myself or take a look at its architecture.