• 3 Posts
  • 60 Comments
Joined 1 year ago
cake
Cake day: July 9th, 2023

help-circle



  • Next Day Edit: Sorry. Forgot to use my Canadian Aboriginal syllabics again. Because apparently it’s too hard to admit HTML-sanitizing source markdown was wrong!

    One thing that irks me in these articles is gauging the opinion of the “Rust community” through Reddit/HN/Lemmy😉/blogs… etc. I don’t think I’d be way off the mark when I say that these platforms mostly collectively reflect the thoughts of junior Rustaceans, or non-Rustaceans experimenting with Rust, with the latter being the loudest, especially if they are struggling with it!

    And I disagree with the argument that poor standard library support is the major issue, although I myself had that thought before. It’s definitely current lack of language features that do introduce some annoyances. I do agree however that implicit coloring is not the answer (or an answer I want to ever see).

    Take this simple code I was writing today. Ideally, I would have liked to write it in functional style:

        async fn some_fn(&self) -> OptionᐸMyResᐸVecu8ᐳᐳᐳ {
            (bool_cond).then(|| async {
                // ...
                // res_op1().await?;
                // res_op2().await?;
                // ...
                Ok(bytes)
            })
        }
    

    But this of course doesn’t work because of the opaque type of the async block. Is that a serious hurdle? Obviously, it’s not:

        async fn some_fn(&self) -> OptionᐸMyResᐸVecu8ᐳᐳᐳ {
            if !bool_cond {
                return None;
            }
    
            let res = || async {
                // ...
                // res_op1()?;
                // res_op2()?;
                // ...
                Ok(bytes)
            };
    
            Some(res().await)
        }
    

    And done. A productive Rustacean is hardly wasting time on this.

    Okay, bool::then() is not the best example. I’m just show-casing that it’s current language limitations, not stdlib ones, that are behind the odd async annoyance encountered. And the solution, I would argue, does not have to come in the form of implicit coloring.



  • I would bad mouth Axum and Actix just because of the overhype. But then, the latter is powering this very platform, and the former is used in the federation crate examples 😉

    So let me just say that I tried poem and it got the job done for me. Rusty API. Decent documentation. And everything is in one crate. No books, extension crates, and towers of abstractions needed.

    I try to avoid tokio stuff in general for the same reason, although a compatible executor is unfortunately often required.


  • From your list, I use bat, exa and rg.

    delta (sometimes packaged as git-delta) deserves a mention. I use it with this git configuration:

    [core]
      # --inspect-raw-lines=false fixes issue where some added lines appear in bold blue without green background
      # default minus-style is 'normal auto'
      pager = "delta --inspect-raw-lines=false --minus-style='syntax #400000' --plus-style='syntax #004000' --minus-emph-style='normal #a00000' --plus-emph-style='normal #00a000' --line-buffer-size=48 --max-line-distance=0.8"
    
    [interactive]
      diffFilter = "delta --inspect-raw-lines=false --color-only --minus-style='syntax #400000' --plus-style='syntax #004000' --minus-emph-style='normal #a00000' --plus-emph-style='normal #00a000' --line-buffer-size=48 --max-line-distance=0.8"
    
    [delta]
      navigate = true  # use n and N to move between diff sections
      light = false    # set to true if you're in a terminal w/ a light background color (e.g. the default macOS terminal)
    
    [merge]
      conflictstyle = diff3
    








  • Besides being overhyped basic tech where way more useful and practical solutions existed for decades (Freenet existed since year 2000 btw, and Tahoe-LAFS since 2007), there is nothing private about IPFS. This is a dangerous message to purport.

    IPFS is as practically useful as NFTs. No wonder the two crowds connected well!

    iroh is an attempt to create a useful and practical IPFS. But none of the bigger practical features is implemented yet. And the design itself doesn’t appear to be finalized. I’m willing to give iroh a chance, although the close proximity to the IPFS crowd doesn’t fill one with confidence.


  • Defederation questions/requests should be made in private, at least initially. That is to avoid turning an instance, which may temporarily not be actively administered/moderated, into a hotbed of illegal posting.

    As it stands, any concern troll can turn a random small instance, which may not have an admin around for two days or three, into a hotbed of illegal or potentially-illegal activity, simply by bringing attention to it with a public defederation request.

    Even with the presumption of genuine concern, the effect and end result will be the same.




  • if 9 people are fine sitting at a table with a Nazi, you have 10 nazis

    Good thing there is no table involved.

    both sides

    Actually, if you read carefully, you will find that my arguments are against both sides, where the sides are the Stasi and McCarthyists.

    That is if my argument was ideological. But it wasn’t. It was a technical and practical answer where I consider(ed) whatever ideologies supposedly involved irrelevant.

    Monitoring instances and gouging their supposed collective thought, and making decisions based on that in an attempt to appease the masses, will make the job of general purpose instance admins unattainable.

    It would be a very effective way for the likes of Reddit to fuck with the Fediverse, actually.

    Weekly instance defederation talk loaded with emotional/psychological manipulation, moral grandstanding, and why not, some bullying.

    “table with a Nazi” analogies. Linking the Paradox of tolerance wikipedia page for the 345636556th time. The lot.

    This may work with instances that like their Stasi or McCarthyist wanna be agents (a.k.a. users) keeping their eyes out for baddies.

    For general purpose instances, this will be a great way to make them quit. A desirable outcome for some. I’m not one of them. So, I, and hopefully others, am willing to take the hit and speak out, and state things that some admins may want to state, but don’t feel comfortable doing so publicly.


  • A general purpose instance with no claimed “safe space” offering should only be burdened with instance-level defederation talk when another instance is behaving badly at a technical level, or when its admins are actively involved in, or not actively trying to prevent, spam, brigading, repeat copyright infringement, and stuff like that.

    Bad thoughts expressed in text form by individual users shouldn’t be ground for such talk, and to create a foray over such an inactive instance is quite self-indulging.

    If anything, maybe a couple of previous defederation decisions were taken in haste, and should be reconsidered!

    If you’re looking for a “safe” instance, there are a couple that should suit you. One of them was already recommended to you.