I wrote a new article Heroku Postgres Read Replica with Rails and have been testing the settings from that article in croaky/multi-db, a minimal Rails app that I’ve deployed to Heroku and load tested.
I got a MacBook Air with the Apple Silicon M1 chip with 16GB memory and 1TB storage and have been using it for about a month. I’m loving it: t’s super fast, quiet, the battery lasts a long time, and it doesn’t get hot.
I still have an Intel chip on my work machine so croaky/laptop is currently configured to work with both chips on Big Sur. All my usual software is running great on the M1 machine: Ruby, Go, Postgres, Vim, kitty. The only program I haven’t gotten working is shellcheck; I’m keeping my eye on semgrep as a long-term replacement.
Kill processes by port
I added a kill-pid-on-port script to find and kill processes listening on a given port:
Syntax highlighted file previews
I learned that Figma has a great set of tutorial videos on YouTube. I’ve been watching the Figma for Beginners playlist.
I created an account on Replit and OMG, it is amazing. I expected it to run slowly but it is extremely well done. My only complaint is the @Croaky handle was taken! I’m @DanCroak over there. I bookmarked the Lua Tutorial for later.
Learn Go with Tests
I’ve been going through Learn Go with Tests, a really nice free Gitbook. I tend to write Go in my free time and have been skimping on tests, would like to get better.
Writing an Interpreter in Go
I purchased Writing an Interpreter in Go by Thorsten Ball. It made me laugh when he called out his friend in the opening paragraph:
The first sentence of this introduction was supposed to be this one: “Interpreters are magical”. But one of the earliest reviewers, who wishes to remain anonymous, said that “sounds super stupid”. Well, Christian, I don’t think so! I still think that interpreters are magical! Let me tell you why.
Web Frontends in Go
I really enjoyed this short article, Web Frontends in Go. It’s simple and highlights the
embed package introduced in Go 1.16 to bundle HTML templates into the resulting Go binary.