For the same reason, you'll see some surprising state scores for SAT/ACT. If you're in a state that prioritizes the ACT, the main students taking the SAT are the strongest students who are looking at out-of-state schools.
Aside from the time lag, I don't think you can look at voluntary test scores and draw many useful conclusions from it.
I think I've finally settled on Lua- It's small, coherent, surprisingly fast (especially with LuaJIT) and has the "virtually no startup cost" I was looking for (which ruled out, for example, Elixir for a lot of things).
And, I've finally figured out how to bang my nix-darwin flake.nix config in a way that gets it AND a bunch of popular libraries installed together and all seeing each other.
Wondering what others have found to address this. Or if they just stuck with Bash, since it's just not going away anytime soon.
I don't believe that but I use https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/git
Plus, once you pair with one person with snazzy aliases, it might make you want to make your own
function gitgc()
{
git config --global core.compression 6
git config --global core.loosecompression 6
git config --global pack.compression 6
git config --global core.autocrlf input
git config --global alias.st status
git config --global alias.ci commit
git config --global alias.co checkout
git config --global alias.br branch
git config --global branch.autosetuprebase always
git config --global pack.threads "2"
git config --global pack.windowMemory "100m"
git config --global pack.packSizeLimit "100m"
export GIT_HTTP_MAX_REQUEST_BUFFER=100M
git config --global ssh.postBuffer 1000000000
git config --global http.postBuffer 1000000000
# echo '*.zip -delta' > .gitattributes
# echo '*.jpg -delta' >> .gitattributes
# echo '*.bin binary -delta' >> .gitattributes
git fsck --full --unreachable;
git repack -a -d -F --depth=1 --window=10;
git reflog expire --all --expire=now --expire-unreachable=now;
git repack -a -d -F --depth=1 --window=10;
git gc --prune=now --aggressive;
git fsck --full --unreachable;
}You're probably already doing this, but if you do a shallow clone (git clone --depth=1 ..) you'll limit the amount that ends up in .git that you need to purge.
Even with shallow clones, I'm still surprised that it ends up with a .git that's a decent percentage of the total. I just tried it on a repo and ended up with 16% of the total size being .git. I would have guessed that it'd be much smaller than that.
export PATH := justfile_directory() + "/node_modules/.bin:" + env_var('PATH')
ci:
@just banner yarn install
yarn install
@just banner tsc
tsc --noEmit
@just banner lint
eslint src
prettier --check src
@just banner vitest
vitest --run
@just banner done!
banner *ARGS:
@printf '\e[42;37;1m[%s] %-72s \e[m\n' "$(date +%H:%M:%S)" "{{ARGS}}"
This example is a bit contrived, more typically we would have a rule like "just lint" and you might call it from "just ci".One of the best features is that just always runs from the project root directory. Little things like that add up after you've spent years wrestling with bash scripts.
node_modules: package.json yarn.lock
yarn install --pure-lockfile
prettier: $(shell find src -type f -iname "\*.ts")
prettier --check src
...
ci: node_modules prettier eslint vitest
And as time goes on, I always end up wanting to parallelize the commands that can be parallelized (citest, lint, eslint), so I'll turn `make ci` (or `just ci`) into its own little script.
edit: the types on remeda look great though! If I were doing a backend-only NodeJS project, I'd be super tempted to test it out.