Fiz de mim o que não soube,
– Álvaro de Campos
E o que podia fazer de mim não o fiz.
O dominó que vesti era errado.
Conheceram-me logo por quem não era e não desmenti, e perdi-me.
Quando quis tirar a máscara,
Estava pegada à cara.
Quando a tirei e me vi ao espelho,
Já tinha envelhecido.
Estava bêbado, já não sabia vestir o dominó que não tinha tirado.
Deitei fora a máscara e dormi no vestiário
Como um cão tolerado pela gerência por ser inofensivo
E vou escrever esta história para provar que sou sublime.
PHP floating point precision
I was attempting to find if the result of a calculation returned a number with any decimals.
So, I was doing something like:
$num=123.1/0.1;
if(floor($num)!=$num){
echo "has decimals";
}else{
echo "doesn't have decimals";
}
//has decimals
To my surprise the code above returns: ‘has decimals’
If you do the math in any calculator the result of 123.1/0.1=1231 and in fact that is what PHP displays when you do:
echo 123.1/0.1;
//1231
But internally PHP stores the value in float and when you do:
echo floor(123.1/0.1);
//1230
As I only need to know if the number has any decimals, I ended up doing:
$num=round(123.1/0.1,1);
if(floor($num)!=$num){
echo "has decimals";
}else{
echo "doesn't have decimals";
}
I completely understand why Steve Wozniak never got round to add floating point support on BASIC, no sane person wants to deal with floating points.
Remote Control another Mac on your network
You need to go to the Mac you want to access and under System Preferences->Sharing activate the following:

On all this options you can limit the users that can have access.
On the File Sharing option, you can determine what folders can be accessed in the network and by whom.
On Remote Management you will be asked what you want from this list, use option/alt click to select all:

Once that is done you can go to the other Mac you want to use and in Finder you should see the Mac on the sidebar under Locations or click Network:

You see on the top right options to Share Screen or Connect As. Click Share Screen to get remote control of the other Mac or Connect As to simple browse the folders that you gave permissions on the File Sharing step.
Since macOS Catalina that zsh is the default shell. From what I could understand this was caused by a change in Bash license to GPL after version 3.
So, since version 3 of Bash is pretty old they changed the default to zsh.
Since Homebrew is not yet fully Apple Silicon compatible using Homebrew was not an option. If your Mac runs Intel a simple brew install bash
will install a newer version of Bash on /usr/local/bin/bash (if you had Homebrew installed obviously). You can follow the updates for Homebrew compatibility with Apple Silicon here.
This leaves us with installing Bash the good old fashion way:
curl -O https://ftp.gnu.org/gnu/bash/bash-5.1.tar.gz
tar xzf bash-5.1.tar.gz
cd bash-5.1
./configure --prefix=/usr/local && make && sudo make install
After that is done, you just need to add Bash to your available shells:
sudo bash -c "echo /usr/local/bin/bash >> /private/etc/shells"
And make Bash the active one:
chsh -s /usr/local/bin/bash
Open a new terminal window or restart your terminal app and check with:
echo "$SHELL"
bash --version
Out of the blue, MAMP Pro started presenting me with an alert when I tried opening the app:
Oops, something is badly wrong!
Either you did not provide the necessary admin credentials or the MAMP PRO package could not be initialized correctly. You can either restart the application and try again or re-install the software.
I contacted support, they advised me to uninstall/reinstall and that didn’t help. The alert kept on being the only thing I saw when I tried to start the app and then it would just close.
After doing some digging around the web, I ended up here and the following command fixed it:
sudo launchctl load -w /Library/LaunchDaemons/de.appsolute.mampprohelper.plist
I suspect this might have been caused because I manually disabled MAMP Pro helper Launch Agent on macOS. Still not sure why MAMP Pro needs that running to start the app but it looks like it does.
BTW: the databases and settings for MAMP Pro are not in /Applications/MAMP but in /Library/Application Support/appsolute/MAMP PRO/