solution posts

Ideas: Waste material as shade structures

I saw an article about cities doing various things to reduce heat, including lighter road surfaces and planting trees. Trees provide good shade and reduce temperatures, and are generally good for the environment, but can require quite a bit of water for dry areas. I got to thinking that we could build artificial tree-like structures to provide shade. But it would require a lot of material, and it would be undesirable cost-wise and environmentally to dig up new materials for this purpose. So I wondered about building them from waste materials.

Continue reading post "Ideas: Waste material as shade structures"

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.

Continue reading post "MySQL: DELETE with sub-query on same table"

Firefox: Weird rendering with high contrast mode

I figured out why Firefox 91+ seemed to break some CSS rendering for me (as I blogged about a few weeks back): high contrast mode. I’ve used the accessibility setting “Increase Contrast” on Mac OS for some time to make it easier to see some interface elements. Apparently, via Firefox 91 release notes, “Firefox now automatically enables High Contrast Mode when ‘Increase Contrast’ is checked on MacOS”.

Continue reading post "Firefox: Weird rendering with high contrast mode"

Symfony router: check for match on different host

I found myself wanting to check if a given URL path exists on another host of a multi-host Symfony application from within a controller action. The router service, which is the instance of Symfony’s routing component used to route requests to actions, has a match() method, but it only accepts the path part of the URL. It also has a matchRequest() method, but that seems to ignore the HTTP_HOST and SERVER_NAME of the passed Request object.

Continue reading post "Symfony router: check for match on different host"