Minification, Compression, Expiration

A big part of speed is managing the browser cache. This usually means setting compression (gzip/deflate) and expirations of cached content. Compression takes place at the web server (generally after minification). Minification usually also combines files together, so that that there are fewer requests. Compression provides enormous advantages (much more than minification), however, minification done ... Read more

MySQL 5.6, 5.7, SQLite

MySQL is good for large multi-user databases. However, when dealing with few changes to the database, and many reads, it is far from a great solution (in fact, is a terrible solution). SQLite is far superior in that situation, and for serial/sequential edits. MySQL 5.6 vs. 5.7 For those with minimal database needs, 5.7 is ... Read more

Nextgen Personal Technology Stack

Note: This page is a document of the next generation of webdev/devops from what is currently in place (granted, much out-of-date). What follows is a personal technology stack learning task list rather than a comment on the state of web development. Updated - June 2019 2019-2020 Priorities Focus on maintaining technologies that work good enough ... Read more

cron and crontabs on Amazon Linux AMI

Two words time-based automation: cron and crontabs (and other apps such as anacron) are needed for so many things on a server. Here is how to use cron and crontabs on Amazon Linux AMI. Install crontabs This will in addition install several dependencies, including cron. yum -y install crontabs chkconfig crond on service crond start ... Read more

WooCommerce, WordPress Plugin Sites

There are several sites which sell unlimited access to a large number of WooCommerce and other themes and plugins. These sites are taking advantage of the GPL which allows for free distribution, though it is unclear if they are violating use agreements (or trademarks). In any case, each of these sites has a set of ... Read more

Amazon Linux Backup and Recovery

This is a collection of stuff that can help out when things go wrong. Extract Fingerprint and Public Key from a Private Key Extract Public Key from Private Key: ssh-keygen -y Generate a Fingerprint of a Private Key to verify in the AWS EC2 Console: openssl pkcs8 -in path_to_private_key -inform PEM -outform DER -topk8 -nocrypt ... Read more

Tokyo or Singapore Datacenter

Tokyo still top choice for Asia HQ Datacenter Even with multiple options coming online in Singapore, Tokyo is still the best option for a single, Asia-based datacenter. Even when serving locations such as Thailand and Vietnam, Tokyo is a strong competitor to Singapore. Linode is my unmanaged VPS of choice. They have a great service, ... Read more

WordPress Multisite on Amazon Linux

This assumes a current configuration of: - Amazon Linux (6.x RHEL series) - Apache 2.4 - PHP 5.6 + Opcache - Oracle MySQL 5.7 Installation up to this point is encompassed by: - OpenVPN on Amazon Linux EC2, basic configuration and securing an EC2 instance - Amazon Linux, Apache, MySQL, and PHP, installing and configuring ... Read more

PATH in Bash and Fish Shell

PATH can be a pain, but there are some basics: Syntax $PATH before or after (before) Is EXPORT needed, or not (not) Where is PATH set All apps+shells /etc/environment All shells ~/.profile or /etc/profile for all users (or a separate file under /etc/profile.d/ if using pacman) Bash shell ~/.bashrc (or ~/.bash_profile or ~/.bash_login) Fish shell ... Read more

Amazon Linux (CentOS), Apache, MySQL, PHP

Note: Amazon Linux AMI is essentially CentOS 6.x. Everything below works on CentOS as well. Preparation for Amazon LAMP The OpenVPN on Amazon Linux AMI is a good place to start in preping the L for the AMP part of the lamp stack. Lots of good stuff there. A followup is WordPress Multisite on Amazon ... Read more