I went to Country Maid and got some ice cream today, chocolate peanut butter in a waffle cone.
Continue reading post "#3527"Toby's Log page 23
I hiked the Dogwood trail for the first time since at least April, when my health had taken a turn for the worse.
Continue reading post "#3520"I got my lowest usage on my water bill yet: -1 unit. Thus, my lowest water bill.
Continue reading post "#3518"MySQL: DELETE with sub-query on same table
I had an issue with a MySQL query containing a sub-query recently where it worked fine when done as a SELECT query, but gave an error when switching it to a DELETE query. The error given was something like ‘You can’t specify target table “items” for update in FROM clause’. The sub-query was referencing the same table as the main query, which apparently can’t be done directly in MySQL because the table will be modified during deletion. But there is a sort of a hack I found in this StackOverflow answer, among others, to force it to create a temp table and allow it to work.
The first full day of fall was appropriately cold, not getting above mid 50s and being wet and windy.
Continue reading post "#3510"The work I did on my car earlier this summer has clearly helped my gas mileage. I had been getting around 28 mpg beforehand, but the first full tank afterward I got 34.8 mpg.
Continue reading post "#3507"Swap file for composer out of memory problems
PHP’s defacto package manager, composer, has long required large amounts of memory to do updates for larger projects, often more than servers or virtual machines have. The script will die with an out of memory error, or more recently, the simple message “Killed”, and do no work in these situations. The normal procedure is to develop locally, deploy local lock file (composer.lock) to the server, and run composer install instead of update. But I’ve recently moved to doing most of my development in VMs, so I have had to work around this problem to get things installed or updated. A swap file is the solution for Linux machines provided in the official docs and expanded in a StackOverflow answer.
Unprivileged Homebrew install, 2021 edition
On my new MacBook, I’ve been isolating responsibilities into separate user accounts. This includes an unprivileged “manager” account for installing most global third-party software, and a few development accounts for different purposes. I use Homebrew to install some dev related software, but my old Homebrew setup didn’t work with this conceptually, nor with the more locked down privileges of newer Mac OS versions. I didn’t want to give Homebrew or its packages admin or root privileges, so I have adapted Homebrew’s untar anywhere method to install a globally available Homebrew using the unprivileged manager account, only requiring a privileged account briefly. I’ve also used untar anywhere for a per-account Homebrew install to allow each dev account to have custom versions of any desired packages, with no privileged account required.
Continue reading post "Unprivileged Homebrew install, 2021 edition"jQuery AJAX and multipart form handling
I recently had need to submit a web form with file fields via AJAX. The application uses jQuery and was already submitting forms just fine without file fields using the .serialize() method to pass data to a jQuery.ajax() call. That didn’t seem to handle the file fields, though. Searching the internet, I found a solution using the browser built in FormData object.
As the final larger repair on my car, I got the exhaust repaired.
Continue reading post "#3487"