Will Apple ever sell me another laptop? Still no.

In 2013 I upgraded from my laptop to a Mac mini when I could no longer develop apps on my laptop. I wanted to test whether my apps would run on the new M1 chip (they do) and it was taking forever to compile and run on the old setup so it was time to upgrade again. I wrote a post at that time with reasons to go with a Mini instead of a laptop and the underlying rationale hasn’t changed since then. The price difference is much less now, $699 for my base model Mac Mini with an M1 chip vs $999 for a laptop but I still opted for the Mini. My old monitors either don’t have the resolution for the Mini or didn’t work at all so I had to spend $373 for a new monitor and a few cables so my total outlay was a little over $1,110.

Mac Mini Desktop

Rather than doing a migration from the old computer with all of the old files from multiple migrations, I opted for a fresh start. The only program that doesn’t work on the new setup is Acorn.(Fixed with Version 7) Firefox works but often freezes after waking. When I first got the computer it sometimes wouldn’t recognize the keyboard, but I think they must have fixed that problem with an update since it hasn’t happened for quite a while now. Otherwise, no issues.

I connected the two Minis with a 6″ Cat 5 cable so I can open files on the old computer and work on them on the new one. I connect in the Finder with Go->Connect to Server->Browse. It works fine although Pages wants to autosave and the old computer doesn’t support whatever it wants to do so I have to keep telling it that there really isn’t another program that has the same document open.

I had an old Samsung TV that I now use for the old Mini. It is also connected to my big monitor. I still have most of my email on the old computer, which was a big reason to have two monitors, so I haven’t missed having the new Mini connected to just the big monitor. It’s an LG 27″ 4K monitor. The text is crisp and colors fine.

You might notice the joystick next to the monitor. The M1 Mini is fast enough to run X-Plane and it is completely silent when running. That is one big plus for the M1; it has fans but I have never heard them. It also has an SSD instead of a spinning HD so I never hear the HD whine. It also opens Xcode and my project in seconds rather than multiple minutes that the old Mini requires. Waking from sleep and rebooting are also significantly quicker—orders of magnitude quicker. When Apple says this Mac is fast, they really mean it.

When I bought my Logitech keyboard I got one that could also connect to my iPad. I never used it for that but the ability to connect to three devices with a key press makes it handy for switching back and forth between the two computers. I frequently forget which computer I am connected to but so far haven’t done any damage to my files.

I was considering getting a mouse that would switch back and forth, but using two isn’t an issue and I don’t see the need to spend $100 on a new one.

Here’s hoping this setup will last me another eight years.

Update from Ubuntu 18.04 to 20.04

I decided to let the update process overwrite any config files that I had edited, knowing that I had a few that might need updating.

There was one issue with Apache2 where the newest version of PHP wasn’t linked in the config files for Apache. The problem was that there were two the load files—one for 7.2 and one for 7.4. I deleted the one for 7.2 and renamed the one for 7.4 then reloaded the modules and restarted Apache. That seems to have worked.

sudo rm /etc/apache2/mods-available/php7.2.load

mv /etc/apache2/mods-available/php7.2.conf /etc/apache2/mods-available/php7.4.conf
sudo a2enmod php7.4

Mail stopped working, but that’s because Dovecot didn’t know where to find the SSL certificates from Let’s Encrypt and where to put the mail. I followed the directions in a previous post and it works now.

Search Tips

Search engine behaviour has changed over the years in ways that make it more difficult for me to get results that I am looking for. For my vocabulary sites I often want to get a word and a specific context. For example, if I want to find the word gregarious used in the same context as buffoon, I used to be able to put both words in the search box and it would find pages with both words. Not any more. When using Google, you can force it to find both words in the text of the page by using:
allintext:gregarious buffoon

Another one that I can make use of is:
gregarious AROUND (4) buffoon

Unfortunately, these don’t work in DuckDuckGo.

There are a bunch more at the ahrefs blog

Server Unavailable error

A PHP-based web site on a server that I manage was failing to load. It worked a few months ago when I set it up and the owner didn’t notice that it was failing. When I looked at the error log I got these messages.

[Wed Aug 08 07:45:21.627045 2018] [proxy:error] [pid 32113:tid 139735343294208] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php/php7.2-fpm.sock (*) failed
[Wed Aug 08 07:45:21.627334 2018] [proxy_fcgi:error] [pid 32113:tid 139735343294208] [client] AH01079: failed to make connection to backend: httpd-UDS

Since it said that fpm.sock failed, I thought that maybe the mod was no longer enabled so I tried a2enmod proxy_fcgi but it said that it was already enabled.

There was some info on dependencies on various help sites, so I figured that at some point an aptitude safe-upgrade command might have messed things up. So I figured that running these commands might help, and it did.

sudo apt-get update
sudo apt-get upgrade

Reading through the install messages I noticed this:

Setting up php7.2-fpm (7.2.7-0ubuntu0.18.04.2) ...
Package apache2 is not configured yet. Will defer actions by package php7.2-fpm.
Replacing config file /etc/php/7.2/fpm/php.ini with new version
NOTICE: Not enabling PHP 7.2 FPM by default.
NOTICE: To enable PHP 7.2 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php7.2-fpm

So it looks like proxy_fcgi somehow got enabled and was causing problems. It is a small site with little traffic, so I decided to leave well enough alone and not enable the mod.

Getting Exim4 running on a new server

We’ve always kept our virtual domains in /etc/mail/virtuals and I was under the impression it was the default location. It isn’t.

I don’t remember adding this code when I set up Exim4 on my Linode server, but it is missing on my Digital Ocean server. I needed to add the folowing lines to exim4.conf.template, just above the line system_aliases: in the router section.

  driver = redirect
  domains = dsearch;/etc/mail/virtuals
  data = ${lookup{$local_part}wildlsearch{/etc/mail/virtuals/$domain}}
  file_transport = address_file

I also missed the step of creating the self-signed key and cert, so make sure you do that as well.

The documents have lots of special cases for handling email that I never used, but one could come in handy. An attempt to deliver to a particular local part can be deferred or forced to fail by aliasing the local part to

So you could do something like this, since spammers use this address all the time.
support: :fail:

One thing we never did in the virtuals file is to send a comment for addresses that bounce, but it could come in handy. e.g

X.Employee: :fail: Gone away, no forwarding address
support: :fail: Please use the contact form on our website if you have support questions.