Off Topicvideo

Folgers Crystals

If 45 doesn’t have Coronavirus by June 1st I’m switching to Folgers Crystals for a month.

WordCamp Santa Claritavideo

Lessons Learned From Presenting a Remote WordCamp Session

WP_Query, Going Beyond The Loop at WordCamp Santa Clarita April 18, 2020

As conferences have moved online to fight the spread of Coronavirus WordCamp Santa Clarita was one of the early WordPress events to try this new format. Here are my thoughts on how I could have improved my session for a distributed audience.

Cooking Looks Easier On Television

I grew up watching a lot of cable TV. One of my favorite tropes is that chef toiling over a cutting board passing fresh ingredients into spotless glass bowls. Ten minutes later pulling a flawless meal out of an oven.

Everything scripted and budgeted for time. A distributed conference is actually a lot like those cooking shows. No audience just a conversation with a camera.

Give Yourself Plenty Of Time To Prepare

Back in 2017 Chris Lema shared his process with me for preparing one of his standout conference sessions.

No matter how small or big the talk he would be ready to present two weeks early and rehearse a few days before. At my best I’m ready a week before. However, after a few talks I’ve found the closer I apply his advice the better things go.

My Usual Process

Before I submit my proposal for consideration I narrow down possible topics. Usually something I could present with no preparation whatsoever with anyone.

Next, I draft the proposal from beginning to end. Being sure not to cover too much or not enough for the time slot.

After I’ve submitted a proposal and before its accepted I’ll gather additional research materials and start taking detailed notes. I flow it into a nearly complete draft and consider possible additions or items that may need to be removed.

Once I’m approved to speak I start refining the final script and build out a slideshow and have everything done 14 days prior.

Well, a remote conference is a lot different from speaking at a podium in front of a poorly lit slide projection.

I Should Have Ditched My Slide Presentation

A good slide presentation is always valuable but lets be honest…When’s the last time we’ve watched a Powerpoint for fun on social media?

If I had this talk again I’d take a queue from those cooking shows and prepare each step in advance and present them to the audience step by step.

I’d probably still start and end with a slide presentation but at each point I’d jump into my WordPress templates and build the code live. Then, when it breaks… and it will. Just pull a working example out of the oven.

When it comes to code watching someone make errors live is just as valuable as seeing it work perfectly. It gives our audience a rare look into our problem solving process and developer workflow.

Broadcast Delays

Unfortunately the conference speakers all experienced at least a three minute delay with their audience. With no faces directly asking questions or responding in real time I missed an major opportunity in my talk… Where should we place the code? Yup, Its like I pulled bread out of an oven without mixing the ingredients together.

It wasn’t until the question and answer session that I realized I never mentioned WP_Query loops belong in a Child Theme’s template. If I were presenting the files live rather than slides the audience would have seen me open and close files moving content around and testing the results live! There would have been errors, it could have been glorious.

Don’t Panic! Success is in the oven, just off camera. ????

October CMSvideo

Installing October CMS on Digital Ocean

These instructions are for the 18.04 droplet and have not been tested with Ubuntu 20.04

Like WordPress, October CMS is a PHP driven content management system.

October CMS Digital Ocean installation Video

Create an 18.04 LAMP droplet

First we need to select Linux Apache MySQL PHP droplet from Digital Ocean’s droplet Marketplace.

Selecting the LAMP on the Ubuntu 18.04 droplet.

Next choose a plan, if your website is starting from scratch and won’t receive too much traffic the cheapest plan will do. You can always upgrade later.

I went with the $5 droplet for this post.

Digital Ocean will send you an email with your initial login information. We’ll use the IP address and password to ssh into a terminal.

Now lets visit that IP address to see if everything is working. That screen should look similar to this one.


substitute with your own IP address for your droplet below

$ ssh root@

Update The Server

Now that we’ve set our new root password its time to update Ubuntu. Keep your password handy, you’ll need it later.

# apt update
# apt upgrade

Approve any package updates, using the default options.

Install October CMS

These instructions are adapted form a CentOS 7.2 post.

Install unzip and wget, we’ll use these to download the installation package and unpack the zip archive later.

# apt install unzip wget

Now we log into the server and set up the database by logging in as root. use the password you chose when we first connected to the droplet

# mysql -u root -p

Now we see a mysql> prompt in our terminal lets setup that database. Be sure to use your own desired database name, username and password.

GRANT ALL PRIVILEGES ON october.* to octoberuser@localhost IDENTIFIED BY 'your-password';

Now that we’ve set up and exited the database and returned to the bash prompt time to download October CMS.

# wget
October is now downloaded to the root of your install.

Now we need to move that download file to the proper location at /var/www/html

# mv download /home/linuxboo/public_html/
# cd /home/linuxboo/public_html/
# ls
download should now be in the same folder as index.html

Now it’s time to rename download to so it can be properly expanded.

# mv download
# unzip
unzip of
# ls

Listing the contents of /var/www/html should reveal a directory and two files.

  • index.html
  • install-master

We’ll need to remove both index.html and as they won’t be needed anymore.

# rm index.html

Next its time to move the contents of install-master into its parent folder /home/linuxboo/public_html/

# mv install-master/* /var/www/html

Next, let’s delete the almost empty install-master directory. There’s a .gitignore file still there so we’ll need to remove it first then the directory and list the results.

# cd install-master/
# rm .gitignore
# cd ..
# rmdir install-master/
# ls -a
You can let the Markdown file remain, it’s merely installation instructions from the project. Give it a read if you like.

Now that we’re done with the directory file setup it’s time to move on to file permissions.

File Permissions

If you’ve set up WordPress on Ubuntu before this will look familiar.

# chown -R www-data:www-data /home/linuxboo/public_html/
# chmod -R 755 /home/linuxboo/public_html/

The result of reloading your live host should display an index

Click on install.php and let’s begin the guided installation.

Guided Install

The Installation page will likely list errors similar to this one.

The System Check screen displays the following errors so we’ll need to address them one at a time. In short we need some additional modules.

  • cURL PHP Extension is required
  • Mbstring PHP Extension is required
  • ZipArchive PHP Library is required

Once those three are installed Test connection to the installation server will correct itself 😀

Let’s search for those modules and note their names

# apt search cURL PHP
# apt search Mbstring PHP
# apt search Zip PHP
A search result for cURL PHP

Those PHP module names should look similar to these. If you’re using a newer version of PHP the number may be 7.3 or higher. You’ll receive other results as well, read those descriptions closely.

  • php7.2-curl
  • php7.2-mbstring
  • php7.2-zip

Let’s install those PHP modules; say yes to any dependencies.

# apt install php7.2-curl
# apt install php7.2-mbstring
# apt install php7.2-zip
# a2enmod rewrite

Now we’ll need to restart Apache for those PHP modifications to work.

# systemctl restart apache2

Reload the browser and we’ve cleared the minimum requirements to run October CMS

Keep calm, accept the MIT license and carry on…
October CMS server setup screen
Setting up the database
October CMS user setup screen
Setting up the administration user account
October CMS site setup screen
Setting up October’s default site
Choose a default theme screen
If you choose to Start from a theme nine options are available. More can be added later.

Be sure to delete the installation files, the install.php script and the install_files directory and that file while you’re at it.

# rm -rf install.php install_files/
Delete the installation files
Oh, don’t forget to delete the installation files.

Visit your new October CMS website!