Review: Innergie PowerJoy 30C USB-C Wall Charger
tl;dr : The Innergie PowerJoy USB-C charger is a solid power adapter for charging via USB-C and USB-A simultaneously. If you have a high-power-draw device like a MacBook Pro, then the adapter may have a little less utility, but if you use a smaller USB-C device and need to charge both it and a USB-A device, then this is one of the most compact and well-built adapters I've used.

A month ago, I received
Fixing MySQL 'The table is full' error using the official MySQL Docker image
Recently I had to test importing some very large databases with lots of giant log tables (e.g. 5+ GB tables), and when I tried doing an import into a local docker MySQL container instance, I got ERROR 1114: The table is full . Here are the commands I used:
# Run a MySQL container locally to test a large file import.$ docker run --name mysql-import-test -p 3306 -e MYSQL_ROOT_PASSWORD=Drupal VM 4.6 adds Debian 9 (Stretch), Vagrant plugin auto-install, and more Docker
Drupal VM has been hitting its stride this year; after adding experimental Docker support in 4.5, Docker usage has been refined in 4.6 (with a more stable and useful drupal-vm Docker image , along with a few other things:
- Drupal VM now supports running inside a Debian 9 'Stretch' Vagrant box ( Packer build here , and Vagrant Cloud box here ), or in a Docker container based on Debian 9 .
- The official Docker image includes a script that lets you set up a fresh Drupal

Updating all your servers with Ansible
From time to time, there's a security patch or other update that's critical to apply ASAP to all your servers. If you use Ansible to automate infrastructure work, then updates are painlessâeven across dozens, hundreds, or thousands of instances! I've written about this a little bit in the past, in relation to protecting against the shellshock vulnerability , but that was specific to one package.
I have an inventory script that pulls together all the servers I manage for personal projects (
Mount an AWS EFS filesystem on an EC2 instance with Ansible
If you run your infrastructure inside Amazon's cloud (AWS), and you need to mount a shared filesystem on multiple servers (e.g. for Drupal's shared files folder, or Magento's media folder), Amazon Elastic File System (EFS) is a reliable and inexpensive solution. EFS is basically a 'hosted NFS mount' that can scale as your directory grows, and mounts are freeâso, unlike many other shared filesystem solutions, there's no per-server
Ansible playbook to upgrade all Ubuntu 12.04 LTS hosts to 14.04 (or 16.04, 18.04, 20.04, etc.)
Generally speaking, I'm against performing major OS upgrades on my Linux servers; there are often little things that get broken, or configurations gone awry, when you attempt an upgrade... and part of the point of automation (or striving towards a 12-factor app) is that you don't 'upgrade'âyou destroy and rebuild with a newer version.
But, there are still cases where you have legacy servers running one little task that you haven't yet automated entirely
Changing a deeply-nested dict variable in an Ansible playbook
I recently had to build an Ansible playbook that takes in a massive inventory structure (read from a YAML file), modifies a specific key in that file, then dumps the file back to disk. There are some other ways that may be more efficient standalone (e.g. using a separate Python/PHP/Ruby/etc. script and a good YAML library), but since I had to do a number of other things in this Ansible playbook, I thought it would keep it simple if I could
Fixing the blurry focus on some Raspberry Pi Camera v2 models
The original Raspberry Pi Camera model v1.3 came from the factory set to â (infinity) focus, so when you used it out of the box for something like a landscape timelapse rig, or for security or monitoring purposes (where the Pi is at least 5 meters away from the subjects it's recording), everything would look crisp and sharp.
For many fixed-focus cameras and lower-end camera sensors, it makes sense to set them to infinity focus; closer objects are still

Adding strings to an array in Ansible
From time to time, I need to dynamically build a list of strings (or a list of other things) using Ansible's set_fact module.
Since set_fact is a module like any other, you can use a with_items loop to loop over an existing list, and pull out a value from that list to add to another list.
For example, today I needed to retrieve a list of all the AWS EC2 security groups in a region, then loop through them, building a
Use an ARG in Dockerfile FROM for dynamic image specification
Dockerfile s have been able to use ARG s to allow passing in parameters during a docker build using the CLI argument --build-arg for some time. But until recently (Docker's 17.05 release, to be precise), you weren't able to use an ARG to specify all or part of your Dockerfile 's mandatory FROM command.
But since the pull request Allow ARG in FROM was merged, you can now specify an image / repository to use at runtime. This is