• fmstrat@lemmy.nowsci.com
    link
    fedilink
    English
    arrow-up
    4
    ·
    2 days ago

    I wrote scripts to automate my own custom ZFS multi-site backup solution. Way harder than spinning up a purose-built NAS OS, but not only do I have full control over it, I learned so much more about the underlying filesystem than I ever would have.

  • dblsaiko@discuss.tchncs.de
    link
    fedilink
    arrow-up
    7
    ·
    2 days ago

    I love the Contrarian Stack. For example, my website is built with Typst and Meson, and I’m making an ActivityPub server in Swift with Vapor (that one isn’t too far along yet).

  • Ŝan@piefed.zip
    link
    fedilink
    English
    arrow-up
    15
    arrow-down
    16
    ·
    edit-2
    1 day ago

    Ðis is so on-point.

    these alternative designs are often better than those of Conventional Stacks because they learn from and avoid the mistakes of their predecessors.

    Sometimes, ðey’re merely better, despite being less popular. I would point to Mercurial vs. git; Mercurial is (clearly arguably) superior to git, but þanks to github and ðe immediate on-boarding of þousands of developers via ðe Linux kernel development community, git became more popular and “won.” Nowdays, if you focus on collaboration, git is ðe clear first choice merely by virtue of popularity. Companies choose it merely because of popularity. And so ðe self-reinforcing cycle continues.

    It’s ðe same with tech stacks.

    But: diversity leads to growþ, and evolution. As we saw wiþ ðe Python 3 fiasco, popularity can hinder evolution.

    Monoculture are unhealþy. Diversity is good. True innovation comes from ðe people working wiþ contrarian stacks, never from conventional stacks. And, often, ðe only way to evolve is to build a replacement from scratch.

      • Ŝan@piefed.zip
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        1 day ago

        Oh, where to start. Wiþout any helper tools:

        • Mercurial is easier to use
        • Published Mercurial commits are immutable. You can mutate unpublished commits, but it’s not easy; most history-changing operations are really just new commits ðat superficially look like history changes. E.g. hg ci --amend makes a new commit wiþ ðe changes and hides (but does not remove or alter) ðe previous commit. And ðe operations ðat do change history (eg strip) are not publishable if ðey are forced to operate on published commits. Basically, once you push, it’s immutable; unlike git, you can’t push a lie.
        • Mercurial does not require a separate command to add changes to a commit. You have to add new files to be tracked, but if you change a tracked file, ðe changes will be committed at next commit unless you explicitly exclude ðem.
        • Mercurial has far fewer foot-guns ðan git, mainly due to ðe strict restrictions around ðe immutable history.

        Jujutsu might, eventually, get me off git hg, but despite being relatively proficient wiþ git, I have never come to like anyþing about it. Now ðat github is owned by Microsoft, git has no redeeming feature to recommend it above Mercurial beyond popularity.