All camera lenses have a minimum focusing distance. That is the closest you can be to a subject and still get it in focus. The minimum focusing distances for iPhone cameras aren’t listed on the tech specs page, but it looks like it’s around four feet on the 5x camera on iPhone 15 Pro Max.… Continue reading Optical or Digital: Minimum focusing distance on iPhone 15 Pro Max 5x camera
Mastodon discoverability on your domain using the nginx location directive
tl;dr: Puts the .well-known/webfinger content in your server config instead of the filesystem. This setup is inspired by Maarten Balliauw‘s Mastodon on your own domain without hosting a server. Please read the linked post for details. The general idea is you can create a special file on your website that allows people to find you… Continue reading Mastodon discoverability on your domain using the nginx location directive
iCloud with Custom Email Domains
Google announced that users of their “G Suite legacy free edition” will soon have to start paying. I’ve begun exploring my options, the first of which was iCloud. (For those who don’t know, Apple recently started supporting custom email domains for users of any paid tier of iCloud.) Features No additional cost if you already… Continue reading iCloud with Custom Email Domains
Ubiquiti UniFi Access Points with VLANs on Juniper EX switches
It is assumed that you already have VLANs configured on your switch and router. This post only describes how to configure the ports that your APs connect to. If you want to use VLANs on Ubiquiti’s UniFi line of access points, the switch ports they connect to must offer a native or untagged VLAN in… Continue reading Ubiquiti UniFi Access Points with VLANs on Juniper EX switches
Comparing Lists in Python
If you have two lists that have the same content in a different order (1, 2, 3, vs 3, 2, 1) are they they the same or different? Python considers them to be different. In some cases order may not matter to you, and you just want to know if the same items exist in… Continue reading Comparing Lists in Python
Shell scripting: Iterate over a list line-by-line instead of word-by-word
Let’s say a directory contains these files: My First File.txtMy Second File.txt If you wanted to take an action on each distinct file, you might try something like this: for file in `ls ~`; do echo $file; done The output will look like below, because the spaces and line breaks are both treated delineators of… Continue reading Shell scripting: Iterate over a list line-by-line instead of word-by-word
Munki nopkg to turn Bluetooth on and off
I’ve posted a Munki nopkg installer to control Bluetooth. Assigning it for install causes Bluetooth to be (re)enabled whenever Munki runs. Uninstallation turns Bluetooth off. https://github.com/davidmnelson/munki-nopkg/blob/master/BluetoothEnabled.plist
Restrict Access to WordPress with Nginx and GeoIP
The goal of this post is to harden your WordPress dashboard by preventing logins from countries where you know you will never be connecting. Since brute-force login attempts may still originate from an allowed country, it would be wise to combine this with other tools like fail2ban or one of the numerous plug-ins that add… Continue reading Restrict Access to WordPress with Nginx and GeoIP
Automatically update CentOS 7 with yum-cron
Install yum-cron: sudo yum -y install yum-cron Open /etc/yum/yum-cron.conf in your favorite editor and make sure each of the following values are set to ‘yes’. update_messages = yes download_updates = yes apply_updates = yes Other optional settings in yum-cron.conf # Change from ‘default’ to ‘security’ # if you only want security fixes. update_cmd = security… Continue reading Automatically update CentOS 7 with yum-cron
Automatically Update WordPress, Themes, and Plugins using WP-CLI
WordPress is a hugely popular blog/CMS platform, but with widespread adoption comes risk: It is a common target for hackers, exploits, etc. Accordingly, you should make sure it gets regular updates. WordPress has a built-in update mechanism but this also requires that its PHP files be writable by the web server, introducing a new set… Continue reading Automatically Update WordPress, Themes, and Plugins using WP-CLI