Weeknotes 61
28th August, 2022
“Data breach”
-
Have you ever heard the expression “if it sounds too good to be true, it probably is”? Well AliExpress is currently advertising a 30 Terabyte SSD for $29
-
Plex had a data breach this week which prompted me to reset my password. Nothing too concerning as I have unique passwords for everything. However, resetting my password led to me being unable to connect my local Plex server. Pretty soon I was editing XML on the server to “reclaim” it 😬
-
I don’t advocate working weekends or in the evenings. However, I think each person needs to decide what is best for them, where possible. And I sometimes get blocked and work better outside of the working week, so last Sunday I did some preparatory work for the following day. This made my Monday immeasurably better than a normal Monday.
-
junegunn recently released fzf-git.sh.
bash and zsh key bindings for Git objects, powered by fzf.
Being a big fan of
fzf
I was intrigued, but soon discovered only bash and zsh were supported 😢 But I then realised that, presumably, the reason for no fish support is that it already has amazing built-in completion that shows commit objects.Like most of the tools I use regularly I feel like I’m not using them to their fullest, so I took some time to refresh my memory with some fish things…
-
A few of fish tips:
-
When you’re paging a set of completion results you can trigger a search field by typing
CTRL-s
. This lets you further filter down what is returned. -
You can eschew
cd
by just typing a path and hitting enter. -
fish_config
is very cool. A web interface for configuring fish. I don’t use this much directly, but it’s very useful for playing around.
-
-
I used Ruby’s argument forwarding syntax this week. Introduced in Ruby 2.7 (!).
def foo(...) bar(...) end
This is very handy for lowering cognitive load when all you want to do is pass through arguments. Especially keyword arguments which are visually wordy.
When new Ruby features come out I often can’t use them because my projects will be on an older Ruby. Then I forget for years. And then I write an entry in my weeknotes.
-
btop++
is a very cool system resources monitor. -
TJ Devries explains how to write basic queries for Treesitter in “Magically format embedded languages in Neovim”. He makes it looks easy, of course, but it also looks very achievable to do something like this.
-
Coincidently, I came across the Treesitter Playground plugin for neovim, which TJ demonstrates in the aforementioned video. It’s very cool. It shows the live Treesitter generated AST for the current document. The visual nature has helped me understand Treesitter.
-
A fairly big milestone was reached on a project I’m working on this week. I was really pleased, not only for the progress that has been made, but for how smoothly it has gone. (Oh course, I don’t like to celebrate too much for fear of everything going wrong.)
It didn’t get the reception I was hoping for. So it goes.
-
Heroku are discontinuing their free plans – a sad day. I guess we knew this day would come eventually. This seems like a self-own by Salesforce but I suspect they just don’t care about the little guy anymore. As Mike Perham pointed out, most projects start small on free Dynos and end up paying considerable amounts to Heroku later, it seems very short-sighted to me.
Christina Warren won the Internet with her tweet 🤣
Heroku. More like Seppuku, am I right?
-
TIL Rails models can be made read only by implementing
#readonly?
. This stops them being updated.class FooBar def readonly? true end end
Previously you could bypass this restriction using
#touch
or#update_columns
, but not any more.