Author: Alan Coggins

Alan builds and maintains websites. He thinks that computing is way too complicated for most people and enjoys finding simple and elegant ways to make things happen. His clients seem very appreciative of this approach.

Robbie Mann Showcase

Website URL:
Built by: Simply Computing
Your website URL:

What is the purpose of the site? Did the client come to you with a particular problem that needed to be solved?

The site is designed as a showcase for early jazz pianist, Robbie Mann. It aims to give a quick overview of his playing style, some background information, and list upcoming performances. Robbie has recently released his first CD, so the primary purpose of the site was to provide a small e-commerce facility to handle sales of physical CDs and downloads.

Was this site built in ClassicPress, or is it a conversion from WordPress?

The site was built in ClassicPress.

What led you to choose ClassicPress for this build?

ClassicPress is always my first option, unless there is a good reason not to use it. This one was marginal because it had an e-commerce component, but since it was a very simple shop I decided to build it with the newly forked Classic Commerce (see plugin discussion below).

Were there any special challenges that you encountered while building the site? How did you resolve those challenges?

Robbie had an idea for a slide-in menu from the side that would look like a piano keyboard. This presented some challenges, and the keyboard graphic is still more stylised than accurate. But fortunately this is not as obvious when it’s viewed vertically (and a non-pianist probably wouldn’t even notice anyway).

I had the menu mechanics all working but it somehow didn’t look quite right. It took some experimenting until I finally hit upon adding a simple box shadow to the right edge. That did the trick of visually lifting it above the main content. One of those simple things that seems obvious in retrospect.

The hero image design took a lot of attempts to get working. Robbie had some great images, but the aspect ratio (6:4) was hard to adapt to a website. I don’t like cropping photos provided by a professional photographer, so I added dark “wings” to the sides to make it wider (6:3), and also pushed the main image off centre to give room for the site title. Once we saw this version we both loved it. I still think it is a stunning photo.

Tell us about the typography, colour palette, and any other interesting design elements.

I didn’t want the site colours to detract from the photo, which has a sombre background with a bold main image. Also pianos are typically monochromatic, so I used a chocolate brown as the primary colour with some paler browns for buttons, etc. Overall, we wanted a “ragtime” style without getting too cliched. The main title font is Tenor Sans (a Google font) that we thought would be quite at home in the early 1900s.

Theme used:

I always use my own theme framework to build sites, which is my fork of GeneratePress (pre-Gutenberg). I have numerous add-ons in a child theme that I can call on if needed. For this site I only used the custom front page with hero image, social media share buttons, and my contact form page.

Plugins used:

All my sites have four standard plugins:

SC utility – this is my own utility plugin that I use to simplify the admin area for users, add some dashboard widgets and do various other useful tweaks. I can update this across all my sites with Code Potent’s Update Manager.

SC email log – my personal fork of a simple email logging plugin that tracks all emails sent by CP. It has recently been added as a CP research project, so at some stage it may become an “official” plugin.

WP Crontrol – I use this to schedule cron jobs that I run for daily maintenance (compatible with WP v4.1 or higher, so it’s fine with CP)

Shield Security – a security plugin that supports ClassicPress. The obvious choice!

On this site I am also using:

Classic Commerce – (see discussion below).

SC CC Snippets – my custom functionality plugin for Classic Commerce. All the snippets are taken from this resource.

Simple Calendar – this is a really easy and attractive way to display Google calendar events on a website (compatible with WP v4.2 or higher).

Smash Balloon Social Photo Feed – adds an instagram grid using a shortcode (WP v3.4 or higher).

Did the plugins you chose resolve a particular problem? If so, please share details.

The main choice was whether to make this a WordPress/WooCommerce site, or to go with ClassicPress and Classic Commerce. Even though CC was still in alpha, I had been helping with the development of this fork for some time and was very confident that it would be suitable for the job. I was carrying out ongoing testing of the fork anyway, so it was easy enough to test it on this site as well. Note though that I am not using any other related WooCommerce plugins or extensions – it is just the core CC installation with the included basic PayPal gateway.

Classic Commerce does a very good job of handling both physical and virtual product sales.

Did you have to make any compromises (plugin choices or elsewhere) to make this solution work?

I am always a little wary of using WP plugins that have not declared support for CP, and I try to minimise these on my sites. So, I will need to keep an eye on the Simple Calendar and Instagram Feed plugins to watch for any compatability issues. It appears that Simple Calendar is no longer actively maintained so this might even be a good candidate for a fork.

In what ways does your solution meet your goals and the client’s needs?

I like to make ongoing input as easy as possible for my clients; they usually underestimate the time and energy that is required to keep a website up to date. I prefer a Google calendar for displaying events, especially if the client is already using gmail. Robbie can now enter gig dates onto his own calendar using his mobile phone, and they flow through automatically to the website. That’s quick and easy. The list on the home page is a good display option and he has been keeping it regularly updated.

Similarly, the Instagram feed on the home page allows Robbie to quickly and easily post new content.

Classic Commerce is working perfectly. I recently had to create two different download options for the files (mp3 and flac) and it was a 5-minute job to add these in as variations.

Anything else you’d like to share about this site? Is there anything you may still change, or would do differently next time.

I tend to tweak my websites over a long period. I leave them for a while, then revisit with fresh eyes. The only thing I still might want to change is the hamburger icon. It seems slightly too “heavy” and doesn’t quite fit with the finer lines on the rest of the site.

Actually I may also do more modifications to that keyboard menu if it annoys me too much!

Github Desktop – Step 3 – Branch, Edit, Commit

This article is part of a series on Github Desktop. For the introductory piece you can visit here.

Now it’s time to get to work. But you don’t make your changes in the default branch; jobs should be broken up and done in separate side branches. So, click the arrow button to open the “branches” dropdown list.

  1. Type in the name of a new branch. Make the name descriptive of the job you will be doing and try to keep to one branch for one job. In the early stages it’s a good idea to keep the scope of the jobs small. In this example we are adding an FAQ section to the readme file.
  2. Click on New branch when you have entered the name.

You can also publish the branch to origin by clicking the Publish branch button.

Make extra sure that your new branch is shown as Current branch in the top bar. Then go into your cloned files and start making your changes. You can commit the changes whenever you like. You might choose to work in stages and commit after each stage, or you might do the whole job in one go and commit at the end.

  1. When you come back to GitHub Desktop it will show you the list of files that have been changed, and give you an indication of all the changes (green background for additions, red background for removals).
  2. For each commit you should enter a short description about the work that has been done. This will help you if you need to roll back to a previous commit.
  3. Then hit the commit button.

This article has been provided by Alan Coggins and was originally published on The original post can be found here.

Github Desktop – Step 2 – Clone

This article is part of a series on Github Desktop. For the introductory piece you can visit here.

Now you have a fork of the “official” files in your GitHub account you need to clone them to your computer. You will first need to download and install GitHub Desktop – then open it and select the Clone repository option from the File menu.

You will be asked to choose a repository from

  1. Find the repository you have just forked (it should have the fork icon next to it) and select it.
  2. Check the path that is auto-filled is correct.
  3. Hit Clone.

The cloning process will begin:

This article has been provided by Alan Coggins and was originally published on The original post can be found here.

Github Desktop – Step 1 – Fork

This article is part of a series on Github Desktop. For the introductory piece you can visit here.

You will need your own GitHub account before you can begin. Once that is set up and you are logged into your account, find the repo on GitHub that you want to fork. For this example we will be forking Classic Commerce, so we go to the main Classic Commerce repo.

  1. Make sure it still shows you as logged in to your account.
  2. Then click the “Fork” icon in the top right.

That’s it! It will now complete the process for you.


GitHub Desktop has a quirky limitation that has been discussed numerous times online but remains unfixed. Creating a fork automatically makes a default branch in your fork with the same name as the default branch in the upstream repo. GitHub Desktop needs these two to have different names.

The solution is to create a new branch with another name in your fork, make it the default and then delete the branch that was created originally. The default branch is often called master, but in our case it is develop. You will need to follow the procedure outlined below.

  1. Click on the Branch button to get the dropdown box of current branches.
  2. Enter the name of a new branch – just use a minor variation of the current default branch.
  3. Click on Create branch.

  1. Now, click on Settings.
  2. Select Branches in the side menu.
  3. Choose the branch name you just made.

Click the Update button to set this as the default branch.

You will get a warning message – click the button to continue.

On the main screen, click the Branches section in the top menu to see all the current branches.

  1. Check that you have the new default branch with your unique name.
  2. Then delete the branch that was originally created.

Now you are ready to start working in GitHub Desktop.

This article has been provided by Alan Coggins and was originally published on The original post can be found here.

Github Desktop – A Really, Really Simple Tutorial

This is the introductory part of a series that will be published over the coming weeks. To look ahead for the whole tutorial you can visit here.

Github Desktop is a GUI that helps you to use GitHub without having to deal with the command line (which, let’s face it, does tend to discourage a lot of people). You could think of it as the umpire in a sort of complicated game of tennis involving three players, except they will be bouncing around files instead of tennis balls. Files get stored in a repository (repo for short) which is like a separate locker for each project. The repo also stores each file’s revision history.

The three players are:

  • Upstream – the “official” project files that live on the main repo in GitHub,
  • Origin – your fork of the project files that live in your GitHub account, and
  • Local – the files on your local machine where you will be making your changes.

The objective of this tutorial is to show you how to contribute to an open source project by working on files from some remote repository and then submit them (make a pull request) so they can be merged into the “official” project. It is important to understand the interaction between the three players at all stages in this process. The diagram above will be used throughout this tutorial to illustrate the various exchanges. Boxes are shown in blue when they are synchronised with the current official repo; red means they have got out of sync; green is used when the upstream repo has been changed.

Note that each of the steps will get their own articles in the future as parts of this series.

Step 1 – Fork the “official” files

You obviously can’t work directly on the main project files, so you first need to take a copy of them to your own GitHub account. This is called a fork and it involves copying the files from the “official” repo (upstream) to your own account (origin).

Step 2 – Clone the fork to your local computer

In order to work on the files easily, you will need to make another copy on your local machine. You can do this through GitHub Desktop by cloning the files from origin. Note that all players are still in sync.

Step 3 – Create a branch, work on some files and commit the changes

Now, it’s time to get to work and start making your changes to the file(s). You should do this in a branch; this keeps your workspaces separate and manageable. Once you have created a branch, make quite sure GitHub Desktop is showing it as your current active branch, then go in and start work. You can commit these as you go at any time. GitHub will keep track of everything and it’s easy to roll back to a previous commit. Your local files will now be out of sync with origin and upstream.

Step 4 – Publish your changes to origin when you are done

When you are happy with the changes you’ve made, you can publish (push) them to your GitHub account. Now both local and origin will be different to upstream.

Step 5 – Create a pull request

A pull request (PR) sends a message to the people who maintain the “official” repo, asking them to consider adding in your edits. There is probably a form template that you will need to use, to show you’ve followed the correct coding standards and done all the necessary tests. Maintainers may ask questions to clarify the changes, how they have been tested, or they may ask for some revisions. This process may take take a while because people are busy, but it’s acceptable to ping someone on your PR and ask them to take a look.

Step 6 – Make some revisions to your PR

Sometimes you might find the need to make some extra changes to your initial pull request, or perhaps the maintainers of the “official” repo have suggested you make some revisions. It’s recommended NOT to open a new PR for this – just do another commit to your file(s) in local, push to origin, and your latest changes will automatically flow through to the existing PR on upstream.

Step 7 – Wait for merge

If all goes well, you will get a message to say that your edits have been approved and merged into the main project. Note that in the diagram below, you are still not in sync with the “official” repo. This is because your edited files still live in branches and your main (default) branch is now out of date. Other people may have been making changes to the upstream files as well.

Step 8 – Fetch the new upstream files and merge into local

You now need to update the files in your local computer to reflect the new “official” repo files. You do this by fetching the upstream files to local and merging them in with the files there (it’s a good idea to do this regularly, to keep up with all the changes). You can also delete the branch as this is no longer required.

Step 9 – Push the new files in local to origin

Finally, you need to update the files in your GitHub repo by pushing the new files in local up to origin.

All players are now back in sync. Game, set and match!


Branch – A branch is any set of code changes that has been given a unique name. It is a workspace created for a specific set of changes, and the name should describe the changes that are being made in that job.

Clone – Forked files live in your GitHub account (origin), but you work on them on your local machine. You can do this through GitHub by cloning the files from origin to local.

Fetch – This is the term used to describe downloading any changed files from a remote repository into your local repository. Note that after this process you still need to merge them into your own local files.

Fork – In order to work on remote files you first need to take a copy of them to your own GitHub account. This is called a fork and it involves copying the files from the “official” repo (upstream) to your own account (origin).

Local – The files on your local machine where you will be making your changes.

Merge – This is the process for combining different sets of changed files. You will be alerted if there are any conflicts that need to be resolved.

Origin – Your fork of the project files that live in your GitHub account.

Push – You push (or publish) files from your local machine to your GitHub repository.

Pull – This is the process that is used to fetch and download content from a remote repository and immediately update the local repository to match that content. So pull is a combination of fetch and merge.

Pull Request – A pull request (PR) sends a message to the people who maintain the “official” repo, asking them to consider adding in your edits.

Publish – see Push.

Repository – Files get stored in a repository (repo for short) which is like a separate locker for each project. The repo also stores each file’s revision history.

Upstream – The “official” project files that live on the main repo in GitHub.

This article has been provided by Alan Coggins and was originally published on The original post can be found here.

Installatron now offers ClassicPress!

Thanks to the tireless work of Tim Hughes, with more than a little help from James Nylen, we are able to bring you joyous news. And it is something that is surely one step forward for ClassicPress. Installatron has decided to support ClassicPress in their popular auto-installer. Installatron makes installing ClassicPress even easier and we are very pleased that they’ve decided to include our CMS.

So, when will you start seeing ClassicPress becoming available as an option? Installatron added ClassicPress to their software in version 9.1.48-3. If you host your own Installatron, you should update to this version when you are able. If you are with a hosting provider and don’t control your own Installatron, ask them when they are planning to update.

Moving your site into Installatron

If you currently have an existing site and want to move it into Installatron, here is how you do it.

You may want to do this under the following circumstances:

  • You have an existing site that was originally installed as a WordPress site by Installatron, but you’ve migrated this site to ClassicPress.
  • You have an existing ClassicPress site, and you’d like to manage its updates using Installatron.

Step 1: Remove it from the current management system

If you have a site installed in Installatron as a WordPress site, you will first need to remove it from the existing management system so that Installatron doesn’t detect your ClassicPress site incorrectly and prompt you to “upgrade WordPress”.

If your site was not installed by Installatron as a WordPress site, then you can skip this step.

Go to your application.

Click on the Advanced tab.

Click the checkbox to remove the application from Installatron and click Save All.

Step 2: Navigate to ClassicPress

Now, select the Installatron Applications Installer option from your control panel and go to the Application Browser. Choose ClassicPress from the Content Management section.

Step 3: Run the import

You will be importing an existing application, so choose this option from the menu to the right of the big Install this application button.

Choose the Continue button under From this account.

Then make sure the domain name format is correct (http or https, www or non-www, etc). When you have all the details correct, click the Import button (you can always change the details later).

Step 4: Celebrate

You should now be presented with a screen showing the details of your application. Congratulations… your ClassicPress site is now being recognized and correctly managed as a ClassicPress site by Installatron.

Meet the Community: Ilya Ivanov

Your name: Ilya Ivanov

ClassicPress Slack Handle: @norske

ClassicPress Forum Handle: @norske

Social media handles: @norskes (Instagram & Facebook)

Where in the world are you located? Vitebsk, Belarus.

Website: Oh, that’s funny. I’ve been building and supporting websites for ages, but have no personal one since ~2010 🙂 Typically once a year I think “Well, it would be nice to create a public portfolio showing some new cool technologies/skills there”. This flash of enthusiasm makes me spend a weekend or two creating another concept. But honestly I don’t really need a public portfolio at all because I get 99 % of orders via personal recommendations. So I play with a new concept for a couple of days and then sell it to some local studio or use it as a basis for some client’s project 🙂

Tell us about yourself — occupation, hobbies, etc.

Since 2011 I’ve built websites using WordPress and since 2015 also worked as an independent UI/UX-designer for several small studios and agencies. My clients usually stay with me for 5+ years and longer, so I typically support 20-30 WP websites at once. I’m also involved in some small collaborative projects as a co-founder and a marketing director.

Before that, I used to be a copywriter for about 5 or 6 years. My native language is Russian. (It’s one of the two official languages in Belarus). Sometimes I create articles for local IT communities. In my free time I also compose short tales and funny stories to entertain my friends. I’m not writing texts for money anymore, but I keep doing it for myself as a hobby. Last month I won 2nd place in a contest of sci-fi tales held by Russian Wikipedia and Union of writers. It’s nice to compete sometimes. Just for fun. Such things bring me additional inspiration although I don’t take them too seriously.

My other hobby is hiking. I really love Belarusian nature. And walking is a kinda drug: once it’s getting to be a habit you can’t quit. I have to walk at least 5-8 km per day (about an hour) just to feel myself “as usual”. And once a month I go to the country side and walk 30-40 km through the fields or woods. This gives me a great opportunity to consider something or to make complex decisions when needed.

Other than the alarm clock, what gets you up in the morning?

I’m motivated by default. 🙂 Life is awesome. When I was 19 I worked at funeral services so I made about 500+ coffins by hand. That time I also studied at the faculty of history and learned philosophy. Those things taught me that life and time are the most valuable concepts themselves. Living in this world in the 21st century is a miracle, you know. When you realize that, you don’t need any additional motivation to get up. (However, this doesn’t mean I’m always in a good mood. No, my face doesn’t look shiny when I wake up, I guess) 🙂 But a breakfast and a cup of tea/coffee usually help to recall all the positive basics.

What’s your dream job?

Actually, I don’t want to have a “job” at all. I’ve been self-employed the most part of my life. So I usually dream about projects, not jobs. The right to choose what to do and what not to do seems very important to me. And it’s ok to pay some costs for this independence. Normally I decline up to 50% of projects/offers for different reasons. Not sure if there exists a job that suits such a vision. But I eagerly join a project if I find it interesting, challenging or promising. Today there are plenty of ways to organize collaboration and to do things that you love. Applying for a job is just an option 🙂

How did you hear about ClassicPress, and what made you want to get involved?

I’m a typical Gutenberg refugee. The forced core integration made me look for alternatives. I’m still ok with WP for now, but it obviously is moving in another direction, which is not suitable for me and my clients in the long perspective. So I have to prepare a gradual migration to another CMS or a fork.

Search results mentioned ClassicPress several times. I went to the website, started reading the petitions section and the forums. I liked the roadmap and the whole direction. The idea of removing excessive features is quite in demand, that is exactly what I want for my sites. And most of the suggestions describe exactly the same things that I usually have to tune and implement myself in almost all commercial projects. All this looks very promising, kinda improved WP for professional use.

And it was a pleasure to discover the Community with the same priorities. I was happy to see that I’m not the only person concerned about such “unusual” requirements as low support costs, higher security, advanced monitoring tools, standardization, client-side design limitations etc. Focusing on this means that ClassicPress community is much closer to understanding business needs and goals.

How does ClassicPress fit into your overall plans for the future?

For now I’m going to contribute and to use ClassicPress in building simple projects. The draft plan is to create 3-5 websites powered by ClassicPress in 2019-2020, support them and watch for a while. This would give some data to analyze and a bunch of examples to offer migration to other clients, if everything is alright. Then it would be possible to gradually increase the ratio of CP projects in the whole set up to 50-70%.

I’m also waiting for CP 2.0 (or any remarkable 1.x) release to introduce this project to some huge Russian-speaking IT resources, e.g. I have enough “karma” to publish posts there. Hope it helps.

Done fast; done cheap; done well: what’s your choice(s) and why?

A separate choice for each goal.

When I was younger I tried to make everything quite well. But later I realized that perfectionism can be excessive and even destructive in some cases. Different goals set different priorities. So I’m learning to switch between those choices depending on current circumstances. To my mind being flexible is better than being just quick, or just profitable or just good.

Probably, the formula is “to do the best I can within these terms and this budget”. But the default priority is still doing the best 🙂

Meet the Community: Michelle Coe

Your Name & ClassicPress Handle: Michelle Coe | BlueSkyPhoenix
Your social media handles: Facebook & Instagram: @BlueSkyPhoenix
Twitter: @bsp_design
Your website:
Where in the world are you located? Virginia, USA

Tell us about yourself — your occupation, hobbies, etc.

Since 2011, I’ve owned a small firm that does brand & marketing strategy and web design & development. I am most passionate about working with small and micro businesses, as well as non-profit organizations.

I serve on the board of our local Chamber of Commerce as Chair of the Micro Enterprise Council. I also serve on the ClassicPress Committee and am CP Design Team Lead/Marketing Team Co-lead. I am also a director of ClassicPress Limited.

I teach Zumba Gold classes twice a week (I love my seniors!) and during the summer months I travel regionally to show my limited edition Volkswagen GTI. When I’m not doing all of those other things or being a mom, I enjoy creating art. I’ve been an ArtSnacks Ambassador for a little over a year.

I also spend a fair amount of time on my yoga mat, which helps keep me sane enough to do all the other things.

You’ve recently been appointed as one of the three new directors of ClassicPress Ltd. How much more work is involved and what new responsibilities does this entail?

I’m already involved with ClassicPress on a daily basis, so it’s not that much more work (yet!). Each of us has made a long-term commitment to see this project succeed. Becoming a director simply formalizes what we’ve been doing all along: making decisions that we believe — based on the expressed needs of the community — are in the best interest of ClassicPress.

Other than the alarm clock, what gets you up in the morning?

I’ve always been pretty driven. I’m not a morning person, but I’m definitely a “get stuff done” kind of person, so that’s what gets me up and keeps me moving forward. Please don’t talk to me before I’ve had breakfast and a cup of coffee or tea, though.

What’s your dream job?

I’m living it right now in a lot of ways. Sometimes I get frustrated that there’s not enough hours in a day and not enough of me to go around, but I know myself and if I had actual free time, I’d probably just fill it with some new thing that interests me. I made a conscious decision to live this way, and if the day comes that I’m not happy with it anymore, I’ll just change it. That’s one of the joys of being an entrepreneur. The freedom that comes with it is absolutely priceless.

Tell us about the car in your life.

She’s a 2007 Volkswagen GTI Fahrenheit Edition; there were only 1200 of them made in the US and they’re all orange. I drive her daily but also take her to car shows. It’s been a lot of fun and I’ve connected with a great group of people as a result. Plus, it’s kinda like driving a unicorn, which is amusing. People who know what it is walk up and talk to me about it all the time.

How did you hear about ClassicPress, and what made you want to get involved?

In October 2018, the threat of the new WP Block Editor was starting to become very real and I was increasingly concerned for my clients, most of whom are micro businesses. I started looking for alternatives and found out about ClassicPress. The ClassicPress community was warm and welcoming and I loved the energy in the project, so I jumped in at the deep end and got involved right away.

How does ClassicPress fit into your overall plans for the future?

In my business, now that ClassicPress v1 is released I’m talking to each of my clients about their options and encouraging them to make the switch to ClassicPress. At some point I expect I’ll use ClassicPress exclusively for all my clients, but a strong e-commerce solution needs to be in place before I can move the last of them.

Serving the ClassicPress community as a director, committee member, and team lead is a privilege I take seriously and I am very grateful to be a part of such a great project. There are so many truly talented people at ClassicPress! I look forward to being part of ClassicPress for many, many years to come.

Done fast, done inexpensively, or done well: Which two do you choose?

I greatly enjoy finding ways to beat any Kobayashi Maru scenario, so I choose all of the above. 🙂

Seriously though, given the choice I’d probably choose done well and done inexpensively over done fast. The truly important things in life — joy, love, forgiveness, trust, creativity — cannot be rushed, but they can be done well and they don’t have to cost a thing.

Meet the Community: Tommy Thanasi

ClassicPress Forum Handle: @tommy
Where in the world are you located? Houston, Texas. And no, I’m not a cowboy.

Tell us about yourself — occupation, hobbies, etc.

I’m the laziest/stupidest person you will ever meet.


I’m a walking vegetable.

Any time I’m approached with an idea/problem/task, I ask myself 3 things:

1. “How can I solve this without using my time or money?”

2. “How can I optimize this and make it run better/faster/cheaper”

3. “How can I make this different/unique/innovative?”

Now, some may call this ‘brilliantly efficient’, but ‘lazy’ has a much better ring to it.

That being said, I am, however, able to accomplish much more with bigger impacts than the average Joe. This isn’t to brag, but just the fortunate outcome of knowing how to connect a few dots.

Other than my infinite disregard for labor, I love boxing, and get black eyes and bloody noses more than I’d like to admit (which is never of course).

I also spend tons of time with the things that matter which is my family, and my dog, Hermes.

Other than the alarm clock, what gets you up in the morning?


I’m a morning person and, unless I’ve been on a 72 hour bender, shoot out of my bed like a cannonball around 4:30am – without an alarm clock. (It’s sickening I know.)

Mornings are my relaxation and creative times, so I get a lot done without any distractions. Knowing that I’m up while my competition is still counting sheep makes me feel like I have an edge, which in fact, I totally may not because of time zones.

I will say that there are drawbacks to waking up so early, such as making really dumb buying decisions and getting hammered with OTO’s around lunchtime (thanks JVZOO/AppSumo). The fact that I get emails from them 30 minutes after I open my eyes just can’t be a coincidence.

What is the dumbest buying decision you’ve ever made?

In my prime, I would make at least 3 cringeworthy purchases a week.

At one point, it got so out of hand that I couldn’t look at myself in the mirror.

Fortunately, through several interventions, I’ve learned to give myself an allowance of only one absurd impulse-buy per month, and save the rest for Black Friday/Cyber Monday.

To date here are my top 3 dumbest buying decisions:

1. Female cuticle cream (sold brilliantly mind you) by a dazzling, silver-tongued Frenchman at a mall kiosk;

2. A ‘Secret Natural Healing Book of Cures’ during an infomercial around 3am. I actually took my credit card out, called and ordered — all without remembering a single thing until the book came;

3. A one pound gummy bear which I ate, and painfully regretted, in under 30 minutes.

What’s your dream job?

‘Dream’ and ‘job’ is an oxymoron when used in the same sentence, so I’ll just trim the fat and tell you the ‘dream’, which is:

To create enough, diversified online/offline revenue sources and ‘retire’ a bit early so I can open up an old school barber shop/social club in my hometown of Nafpaktos, Greece.

I just want to wake up every morning, smell the ocean, walk to the coffee shop, grab a Freddo Espresso, go hang with the guys, complain about politics — and squeeze in a few old-fashioned wet shaves to whoever dare lay under my straight razor.

All about that geographic arbitrage, mang.

How did you hear about ClassicPress, and what made you want to get involved?

I updated one of my sites and saw a bunch of crap I didn’t recognize.

After my mental earthquake, I untangled my brain pretzel and started digging in the WordPress forums to find the imbecile responsible, and got sidetracked by someone mentioning ClassicPress.

So I Googled it.

Downloaded it.

Ran it

Loved it.

Then I joined the forum, and saw the folks behind it were passionate about it for the right reasons, so figured the least I could do is dedicate some resources in helping out because I felt it was a good project with potential.

After a few weeks of settling in, I was also paying close attention to how WordPress was handling the feedback of their latest update, and decided to run a little test to prove my theory ( This solidified my direction of my CMS for the future.

So yea — that’s the love story 

How does ClassicPress fit into your overall plans for the future?

To date, I’ve converted about 90% of my portfolio (150+ sites) to ClassicPress. The remaining 10% have been mostly client sites where I’d rather not poke the bear – at least for now.

ClassicPress is now part of my template stack, so every new site is built with it.

Done fast; done cheap; done well: what’s your choice(s) and why?

Depending on the scope of the project, I always start fast and cheap (Minimum Viable Product).

Then once I see I have a working product, proper resources are invested and it’s done right.

This model allows bad projects to fail fast without losing bookies lunch money, and good ideas to scale after proof of concept.

Meet the Community: Earle Davies

ClassicPress Slack Handle: elrae
ClassicPress Forum Handle: elrae
Social media handles: I only use social media for their APIs, not really to post or share anything
Where in the world are you located? FL, USA

Tell us about yourself — occupation, hobbies, etc.

I worked in grocery retail as a customer service manager for 10 years and did programming as a hobby for fun. At one point I got more seriously involved in programming so I could make more money on the side and help with the bills. Then one day my current employer made me an offer to jump ship from retail and work as a developer full time, and I’ve been doing that ever since. That gives me a unique advantage in that I have years of experience dealing with people, complaints, managing my own time, and finding solutions.

Other than the alarm clock, what gets you up in the morning?

It’s a cliché for all developers, but when I can’t solve a problem I can’t sleep. So it motivates me to get up and solve whatever particular problem I’m working on. Also, if I’m working on a big project with complicated code that excites me.

What’s your dream job?

In my current capacity I manage a few developers and contractors; working on everything from small-scale business websites to large non-profits and government projects. My dream job would be to do essentially the same thing I am now, but with a bigger team.

You talk a lot about programming. Do you have any other interests outside of coding?

Not really. I’m a workaholic so I basically work 65-75 hours a week and it doesn’t leave much room for hobbies. I don’t remember what it’s like to have free time.

I do get out every once in a while and do things: tennis, hanging out and watching football, etc. but there’s nothing I do consistently I’d consider an interest or hobby.

How did you hear about ClassicPress, and what made you want to get involved?

I don’t recall the exact place I read about ClassicPress, but I know I’ve seen and read about it in many places (Twitter, blogs, WP Tavern, WP Slack, etc). I wanted to get involved because I use WordPress as my go-to CMS for hundreds of clients currently, and thousands in the past. I don’t like the direction they’re going, the decisions being made in closed channels, and the fact that no one can admit they are wrong there. I enjoy working on solving open source issues and making the tools I work with better, so getting involved with ClassicPress will help me in the long run too.

How does ClassicPress fit into your overall plans for the future?

My plans for the future are to continue producing easy-to-use CMS solutions for my clients, and ClassicPress will be that solution. I also want to step back from day to day production and manage a larger team, which will give me more time to work on open source projects.

Do you have some examples of your work you can share with us?

My client base is very …. eclectic, to say the least. I do music brands, small businesses, international non profits, the UN, US government (house of representatives), and everything in between! These are the top three favourite sites I’ve built using WordPress. Hopefully I’ll transition them over to ClassicPress eventually.

Done fast; done cheap; done well: what’s your choice(s) and why?

If I had a choice, I’d do all 3. Unfortunately, that’s rarely the case; a client can pick 2/3. Doing things fast rarely leads to a good product for both the developers who must maintain it, and the end user who has to use the product. When you do something cheap, often you get what you pay for; and the quality is terrible. Done well is subjective depending on what metric of “well” you use. If an application looks right and functions properly, but the underlying code is spaghetti, I wouldn’t consider that being done “well”.