2,548 karma · joined August 15, 2020
Submissions != endorsements
I expect GitHub wouldn’t handle the push well anyway, though, as mentioned.
I was thinking of deploying it somewhere but never got around to it.
- https://github.com/nvim-treesitter/nvim-treesitter#quickstar...
- https://github.com/neovim/nvim-lspconfig#install
Just by following the instructions I had a pretty good setup already, but I made a couple of further changes, like setting up autoformatting on save, which was a bit trickier. `vim.lsp.buf.formatting` was useful there, but I had to do a bit of research to figure out how to use it (it wasn't immediately available on the READMEs).
But I’ve recently started using a combination of Neovim + treesitter + LSPs, and have found it incredibly powerful. Extremely responsive automatic compilation that feels instantaneous, good inline error messages, very good and fast syntax highlighting through treesitter... At what it does, I’d go as far as saying as it achieves more than any other IDEs I’ve tried. But of course, what it does is more limited.
At the moment I rarely even touch a mouse. I work primarily in Vim, with DWM as a window manager and a Vim extension in the browser. When I have to work in a different environment and use a mouse again, I find the constant context switching very distracting
It was surprising to me to discover how logical and mathematical Haskell’s type system is.
It’s the kind of topic that I’d probably not ever have thought about if I didn’t do a degree, but has had an impact on how I view other areas of computer science.
Would probably break some apps which don’t correctly handle TLD-only domain names though, I suppose.
cat a b | sponge a bool (__bool__) Returns whether all elements evaluate to True.
I’d be worried that this will trip people up who use the if l:
print l[0] # or whatever
patternAlso, you can use them with Anki. Perfect. I’m probably going to purchase. Hopefully they live up to expectations.
For example:
* https://hidden-london.com/wp-content/uploads/2018/04/geograp... vs https://upload.wikimedia.org/wikipedia/commons/4/47/James_Ho...
* https://i2-prod.mirror.co.uk/incoming/article1185483.ece/ALT... vs https://upload.wikimedia.org/wikipedia/commons/3/33/Cefn_Sae...
* https://ukhumanrightsblog.com/wp-content/uploads/2020/07/HM_... vs https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/We...
Same logic applies to git blame; file history is maintained for renames.
Recently I’ve moved to NixOS and have been considering trying out Nix’s home-manager (mostly just out of curiosity - I’m perfectly happy with stow). If anyone has tried both stow and home-manager, I’d be interested to know your thoughts on how they compare.
Just to note, this should be ::ffff:169.254.169.254
In this case, no, and it's actually slightly inefficient to pass those variables as arguments, because a copy of the argument has to be made. This copying matters more if the argument is a big struct or another large value.
However often it is useful to use arguments, for example when calling a goroutine in a loop. For example:
for i := 0; i < 10; i++ {
go func() {
fmt.Println(i)
}()
}
vs for i := 0; i < 10; i++ {
go func(i int) {
fmt.Println(i)
}(i)
}
have different behaviours, because the first receives the (changing) `i` variable itself, whereas the second receives a copy of `i` at each iteration. The second behaviour is often the behaviour we actually want.Something like
for i := 0; i < 10; i++ {
i := i
go func() {
fmt.Println(i)
}()
}
also works as expected.