Weekly 003
Mid-Weeknotes
Technically past midnight edition
Reading
I’ve been using zsh since 2013ish and I learned about these just this week. Better late than never, right? Looks like I wasn’t the only one who didn’t know at Arista though.
Why objectivity in reviews is bogus, a longer post that combines phrases such as “Because I don’t give a shit about that.” and a References section.
Reading this reminded me that in school I had used an AMG post about art to make a point in a philosophy class. The details are lost on me now though.
Good read on hash tables, despite its origins.
“A majority of these were tests that hard-coded a specific iteration order, or code that implicitly relied on the specific behavior of a hash table implementation.”
There was a talk by someone at Google about making changes at scale, like compiler upgrades and this issue was also specifically called out. Go explicitly has random map iteration order to prevent people from doing that. In practice this works ok-ish, I’ve seen more than a few tests that end up being flaky because of an iteration order assumption in a map that works most of the time, until it doesn’t
Emacsen
I’ve spent more time with lsp-mode
this week.
The good is it works better than the non lsp alternatives for go and anaconda-mode
in python when it comes to autocompletion, eldoc and find-definition.
The bad is that in some places it really doesn’t do well. In go-mode
, typing in comments is more sluggish than typing in a server across the ocean over a bad connection. According to the profiler, lsp-mode
is definitely to blame, but I haven’t had time to thoroughly debug it.
lsp-mode
in python-mode
freezes movement sometimes and similar to go-mode
comments, it makes typing very slow inside string literals.
I tried eglot again and ran into two issues:
flymake
gets enabled despite the hook described here- it uses go-langserver for Go. I left my laptop for a couple of minutes and returned to find it very unresponsive, only to find out go-langserver took up all ~10Gigs of RAM and 16 of swap.