Recent Blog Posts

Drupal VM Tips & Tricks - brief remote presentation for DrupalDC

Yesterday I presented Drupal VM Tips & Tricks at the DrupalDC meetup, remotely. I didn't have a lot of time to prepare anything for the presentation, but I thought it would be valuable to walk through some of the neat features of Drupal VM people might not know about.

Here's the video from the presentation:

Some relevant links mentioned during the presentation:

I returned my 2016 MacBook Pro with Touch Bar

tl;dr: After two weeks of use, I returned my 2016 13" MacBook Pro with Touch Bar and bought one with Function Keys instead. Read on for detailed Battery stress tests, performance tests, and an exploration of how Apple's botched this year's Pro lineup.

I've owned almost every generation of Mac desktop and laptop computers, and have survived many transitions: 680x0 to PowerPC, Classic Mac OS to OS X, to the PowerPC to Intel switch. I've also owned almost every generation of iPhone and iPad. I even maintain a huge list of all the Macs I've owned! I could justifiably be labeled an 'Apple fanatic'.

I use a Mac as my daily driver, and have rarely made a tech-related purchase I regretted. And I've never returned a Mac, until today.

Add a set of Taxonomy terms via a custom Drupal module's update hook

From time to time, I've needed to have a default set of Taxonomy terms created at the same time as a content type, as in the case of a field with a required Taxonomy term reference, using a Taxonomy that is not 'free tag' style.

Instead of requiring someone to go in and manually add all the terms after code is deployed, you can add terms in a custom module's update hook, like so:

How to securely erase free space on a hard drive (Mac)

From time to time, I need to clean off the contents of a hard drive on one of my Macs—most often this is the case prior to selling the mac or giving it to someone else. Instead of just formatting the drive, installing macOS, then handing it off, I want to make sure all the contents I had stored on it are irrecoverably erased (I sometimes work on projects under NDA, and I also like having some semblance of privacy in general).

Disk Utility used to expose this functionality in the UI, which made this a very simple operation. But it seems to have gone missing in recent macOS versions. Luckily, it's still available on the command line (via

diskutil secureErase freespace 0 "/Volumes/Macintosh HD"

This command would write zeroes on the entire 'Macintosh HD' drive. You can see a list of all the drives connected to your Mac with ls /Volumes. There are a few other common options available (instead of 0) if you run man diskutil and scroll down to the secureErase section. I most commonly use:

Review: AUKEY USB-C Hub for New MacBook Pro

I have a 2016 MacBook Pro (without TouchBar), and for this Mac, or for a 12" MacBook, a hub/adapter with power delivery is absolutely essential for desk use, due to the limited number of USB-C/ThunderBolt 3 ports.

Eventually, I'd like to plug one ThunderBolt 3 cable into my MacBook Pro and get 4K video at 60Hz (through either USB-C, DisplayPort, or HDMI 1.2+), USB 3.0 for my existing USB 3 devices, and a power pass-through so I can get the full 61W of charge out of my Apple AC adapter.

AUKEY USB-C Hub - 3x USB 3.0 ports

Thoughts on the Acquia Certified Drupal 8 Site Builder Exam

Another year, another Acquia Certification exam... (wait—I think I've said that before).

Acquia Certified Drupal Site Builder - Drupal 8 2016

The latest of the updated Acquia Certification Exams is the Acquia Certified Drupal 8 Site Builder. It's meant for the average Drupal site builder to test and evaluate familiarity with building websites using Drupal 8, and it's the same as all the previous exams in style: a series of 40 questions posed in the conversational manner, with answers you would provide if you were telling a project manager or site owner how you would implement a feature.


Subscribe to Jeff Geerling's Blog