While working with Magento 2.3.6 on Bixoto I hit a weird issue: the
bin/magento command-line tool was always eating all the RAM, even with a simple command:
The issue, as weird as it sounds, is an empty configuration value that causes Magento to end up in
an infinite loop.
When I installed Magento on my local machine, I deactivated HTTPS by setting web/secure/base_url
to NULL in the table core_config_data. This alone is the cause of the issue.
Check in MySQL:
If this shows a line with a NULL value, either delete it or replace it with some non-null value:
This has been reported to Magento but was closed because “it’s not a bug”. I don’t think
falling in an infinite loop on --help because some config value is NULL should really be a
normal behavior, but at least now you know how to solve it.
While following a tutorial to install Virtualbox in order to have docker working on macOS, I
hit an issue where the docker-machine create command fails with an error that looks like this:
If you search on the Web, everybody says you have to open the Security & Privacy settings window
and allow the Oracle kernel extensions to run. But I didn’t have it. I tried uninstalling
Virtualbox, re-installing through the official website, reboot, uninstall, re-install with
brew cask but I always had the issue. Some people reported having a failed Virtualbox
installation but mine seemed ok.
Code-Golf is the art of writing the shortest program in a given language that
implements some given algorithm. It started in the 90’s in the Perl community
and spread to other languages; there are now languages dedicated to
code-golfing and StackExchange has a Q&A website for it.
4clojure is a well-known website to learn Clojure
through exercises of increasing difficulty, but it has a lesser-known code-golf
challenge which you can enable by clicking on “Leagues” in the top menu.
If you check the code-golf checkbox, you then get a score on each problem that
is the number of non-whitespace characters of your solution; the smaller the
The first thing you’ll note when code-golfing is that the reader syntax for
anonymous functions is a lot shorter than using fn:
Unfortunately you can’t have a reader-syntax function inside another
reader-syntax one, so you often have to transform the code not to use anonymous
for is a very powerful tool for that, because it allows you to do the
equivalent of map, and a lot more, with no function:
On some problems it can even be shorter than using map + filter:
Some core functions are equivalent in some contexts and so the shorter one can
substitute a longer one:
When you must use a long function name in multiple places, it might be shorter
to let that function with a one-letter symbol:
Use indexed access on vectors:
Use set literals as functions:
Inverse conditions to use shorter functions:
Inlined code is sometimes shorter:
Use 1 instead of :else/:default in cond:
Use maps instead of ifs for conditions on equality (this one really makes
the code harder to read):