2023 Review
End of year review
At the beginning of 2023, I set some goals for myself. Here are those goals and how the year turned out.
End of year review
At the beginning of 2023, I set some goals for myself. Here are those goals and how the year turned out.
In a previous note, I discussed running coroutines in a non-blocking manner using gather. This approach works well when you have a known number of coroutines that you want to run in a non-blocking manner. However, if you have tens, hundreds, or more tasks, especially when network calls are...
Exploring accidental synchronous blocking in asynchronous programming in Python with coroutines.
Python coroutines allow for asynchronous programming in a language that earlier in its history, has only supported synchronous execution. I've previously compared taking a synchronous approach in Python to a parallel approach in Go using channels. If you're familiar with async/await in JavaScript,...
Render is a platform as a service company that makes it easy to quickly deploy small apps. They have an easy-to-use free tier and I wanted run a Python app with dependencies managed by Poetry. Things had been going pretty well until I unexpectedly got the following error after a deploy
In Javascript, using async/await is a cleaner approach compared to use of callbacks. Occasionally, you run into useful but older modules that you'd like to use in the more modern way.
When deploying software with Kubernetes, you need to expose a liveness HTTP request in the application. The Kubernetes default liveness HTTP endpoint is /healthz, which seems to be a Google convention, z-pages. A lot of Kubernetes deployments won't rely on the defaults. Here is an example...
Given the following make target
I learned about skhd recently, actually after coming across the yabai project. I've been toying with the idea of moving away from Hammerspoon for my hotkey and window management, so I took the opportunity to explore skhd as a possible alternative.
I used open-interpreter to read an epub file and create a DIY audio book.
There is a website I log into often that I protect with 2FA. One thing that bothers me about this process is that the 2FA screen does not immediately focus to the input, so I can immediately start entering my 2FA code. Today, I tackled that problem.