I’ve never, ever made a backup and afterwards thought that was a waste of time. Either they save the day or they do no harm. Whenever I make a significant, radical, or wildly inappropriate mod to one of my Raspberry Pi computers, I’ll typically make a quick backup. Here’s how I do it.

This will be short and to the point, but there are a few important call-outs.

Before you commit to a backup strategy, know the restoration plan.

If possible, test the restoration plan before backing up something mission critical.

Minimize use of the system being backed up during the backup process. If possible, don’t touch it!

This quick backup is not compressed (although that’s easy to do, compressing while backing up is painfully slow in my setup) and it’s pulled over the network to a RAIDed drive connected to a Mac Mini. That drive is backed up to Backblaze, however these are quick backups so they’re really only for fairly temporary use. For production backups, I’d encourage the use of compression.

Lo and behold, the quick backup.

The following command should be run from the destination computer, not from the system you are backing up. Replace x.x.x.x with the IP address of the Raspberry Pi you’d like to back up.

Since compression is not in use, it won’t bog down the Raspberry Pi, but it will use space equivalent to the size of the micro SD card in the Pi.

One adjustment I recommend is to use Pipe Viewer, which will display a handy progress meter during the backup. It’s simple to install (install it to the machine performing the backup, not the one being backed up) and takes the guess work out of the question when is this backup going to finish? If you’re using Pipe viewer, the updated syntax will look like this:

I finally started to search for the underlying reason why Windows would churn for 10+ seconds whenever I clicked the Downloads folder. Yeah, there’s a bunch of unused stuff in there I clean out maybe every leap year, but why on Earth would it take SO LONG to display references to files in one particular folder?

The reason is because Windows is trying to do what it thinks is best. My Downloads folder had taken on the identity of a “Pictures” folder, so the optimization settings were set to “Pictures”. Sure, there are a few photos in there, but the majority of files are random setup executables, MSIs, zip archives, PDFs, and extracted folders. My best guess is that the first handful of things that were downloaded were image/photo files of some sort, which determined the folder’s fate as a “Pictures” folder.

Whatever Windows tries to do when a folder is set as optimized for “Pictures” causes it to hang while loading for what seems an eternity. Fortunately, there’s a really simple fix.

I found the fix on a very appropriately named article, How to Fix a Slow-Opening Windows Downloads Folder. You just open up the folder properties and change optimization from Pictures to General items. Ideally Microsoft will either fix the poorly performing algorithm, or have it adjust to folder contents and/or performance. If this has plagued you in the past, at least the fix exists, is quick, and memorable.

Windows Subsystem for Linux (WSL) is an included feature on Windows 10 that allows you to run a Linux bash terminal. It’s geared towards developers and Microsoft explicitly states it’s not intended to run production workloads, but it’s super easy to install and is accessible and usable by anyone.

Installing the Windows Subsystem for Linux

Click the Start button and type (then select) Turn Windows Features on or off.

After the Windows Features window loads, scroll to the bottom and check the box next to Windows Subsystem for Linux.

Click OK.

The feature will be installed and will require a reboot. After installing the subsystem, you can then install a Linux distribution.

Installing a Linux Distribution

Click the Start button and type (then select) Microsoft Store.

Once loaded, search for Linux.

The results currently have a handy call-out, click Get the apps to select from supported Linux distributions.

Select a distribution and click Get. After installation, you’ll be able to launch it from the store or from the Start menu (e.g. you could just click Start and type Ubuntu to see the launchable app.

Final Thoughts

All in all, this is a quick way to set up a Linux terminal on a computer running Windows 10. It’s sort of like Cygwin, but it feels way more native. One of the most interesting things to me is how little system resources seem to be taken up running the Linux subsystem. That, and loading up an Ubuntu bash terminal on Windows is just as fast as loading up a bash terminal on a Mac.

A couple notes:

Local system files are located at /mnt/c (type cd /mnt/c in the bash terminal).

Linux IDEs (KDE/Gnome/etc.) are not supported.

Read more about Windows Subsystem for Linux at https://docs.microsoft.com/en-us/windows/wsl/faq

Contact Form 7 is a widely used WordPress plugin for quickly adding forms to your site. If you’re running a lightweight setup, integrating it with Mailgun can easily enable reliable delivery of emails when users submit forms. Plus, if it’s for a non-commercial site, it’s free!

First, make sure you have the Contact Form 7 plugin installed on your WordPress instance. Then, sign up for a Mailgun account, which will allow you to send up to 10,000 emails per month free. If you ever want to send more emails than that, the cost of Mailgun is very reasonable, especially given how reliable it is. When signing up, you can bypass the payment settings (unless you want to add your card on file), and toggle the price meter down to $0 and verify it’s for non-commercial use. If you’re using it for commercial purposes, just add your card info and continue.

Once Mailgun is set up, they’ll send you an API key via email, but that’s not the key you’ll use when configuring WordPress. The trick is to use the sandbox domain for delivering email, so we’ll need to add your destination email address as an Authorized Recipient in Mailgun.

Now, when you create a Contact Form, ensure the mail settings reflect the email address (the To field) that will receive the form submissions via Mailgun’s delivery. For good measure, I also set the From field to use the same email address.

I haven’t had any issues with email delivery, however you may want to whitelist the From sender in your email platform.