• 0 Posts
  • 41 Comments
Joined 11 months ago
cake
Cake day: September 11th, 2024

help-circle

  • const char * const (* const foo)[](void *[]);
    

    Ich weiß gar nicht was du meinst. Macht doch Sinn /s

    Tatsächlich hat D es geschaft die C Deklarationen ordentlich aufzuräumen ohne den Syntax groß zu ändern wie bspw. Rost. Dafür hat sich D aber leider an anderer Stelle gewaltig das Genick gebrochen.


  • Das Problem mit Schlauzeigern ist, dass sie zwangsläufig versteckten Kontrollfluss mit sich bringen. Das ist a) mit dem C Syntax meiner Meinung nach nicht einfach machbar ohne Pandoras Büchse ähnlich wie C++ und Rost zu öffnen (nicht, dass das zwangsläufig schlecht ist, aber das ist halt nicht C) und b) auch nicht unbedingt wünschenswert. Eine der schönen Sachen an C ist, dass jeglicher Kontrollfluss direkt vor einem liegt und (fast) nichts passiert, was man nicht direkt sieht. Wenn man mal mit größeren C++ Bibliotheken, die die Möglichkeiten von Klassen und Vorlagen wirklich ausschöpfen, gearbeitet hat, merkt man schon was das doch für ein Segen sein kann.











  • I’ve been using Arch since October 2019 and I’ve stuck with it because it has been a really comfortable experience. I really love the package manager. The packages are usually new enough to not cause me any major problems but are tested enough to not break anything. Regarding the latter point, mileage might vary. I have never had anything break on me that I haven’t broken myself (and I don’t update very frequently) though I know not everybody is sharing that experience.

    1 year ago I also started using NixOS on my desktop and it’s been a very interesting experience. Design wise it’s pretty good but there are a number of things that really annoy me. Some days I’m really considering putting NixOS on my laptop and some days I’m leaning more to putting Arch back on my desktop.






  • I’m mainly using zsh but I have a backup bash prompt that closely mirrors it. It shows the return value of the previous command if it’s non-zero and gives some information about the current git repository if there is one.

    retval() {
            if [ $? -eq 0 ]; then
                    printf ""
            else
                    printf "\001\e[31m\002($?)\001\e[0m\002"
            fi
    }
    
    gitbranch() {
            if type git 2> /dev/null 1> /dev/null && git rev-parse 2> /dev/null 1> /dev/null ; then
                    MODIFIED=""
                    if [[ -n $(git status --short) ]]; then
                            MODIFIED=" M"
                    fi
                    BRANCH=$(git rev-parse --abbrev-ref HEAD)
                    SHORTREF=$(git rev-parse --short HEAD)
                    printf "\001\e[31m\002%s\001\e[0m\002(%s)\001\e[31m\002%s\001\e[0m\002" $BRANCH $SHORTREF $MODIFIED
            else
                    echo -n ""
            fi
    }
    
    export PROMPT_DIRTRIM=3
    
    PS1='$(retval)[\001\e[1;95m\002\u\001\e[0m\002@\h : \w $(gitbranch)] \$ '
    PS2='> '
    



  • I mean, from what I’ve heard there are other things but I haven’t looked deeper into that so far, so I can’t comment to that.

    My 2 cents regarding that specific PR is that I find it very disappointing to shut down a PR pushing for neutral language in build instructions for supposedly “advertis[ing] […] personal politics” because in my opinion this sends a clear signal of non-inclusivity. Your mileage may vary on this I guess.

    Is this a reason to boycott a project? Maybe, Maybe not. That’s your decision. I will definitely be on the lookout if this is “systematic” in the project but I didn’t have the time to look into it so far.