c a n d l a n d . n e t


Zero Downtime Deploys

| infrastructure, processes

How we implemented zero downtime deploys to increase team productivity

We had moved our API out of Rails into a Clojure service. The service was running great, but deploys were a pain. We couldn't have downtime when deploying; so we were taking servers offline, updating them, and then bringing them back online. Using the typical rolling deployment pattern.

That worked, but it was slow and took a lot of manual time. Being slow meant longer times to fix bugs. Taking a lot of manual time meant wasted time and a hesitancy to release often. Both are bad for the team and the business.

Ghost on Dokku with Sqlite

| ghost, dokku, sqlite

I'm using the Ghost modern publishing platform for my daily newsletter. It has a great UI, email support, and it's self hosted. I'm using Dokku for the hosting and Sqlite for the DB.

Upgrading Dokku version by version

| dokku, ubuntu

I've used the dokku-update app in the past, but version 0.30.0 has a breaking change, so I needed to upgrade to 0.29.x first. It doesn't look like dokku-update app doesn't support specific versions. Here's what I did to upgrade manually.

Setup Postgres with pgvector on Dokku

| postgres, pgvector, dokku, route285

I'm starting to experiment with AI on Route285 and need a vector database. Since I'm already using Postgres and Dokku, I'm adding pgvector. Pgvector isn't installed by the main Postgres images.

Install Directus on Dokku

| directus, dokku, postgresql, docker

It's time to create a database for Route285. Up until now, I've been using Markdown and JSON files to manage the data for the site.

After looking at a few options, I settled on Directus. In thier words:

The Thing About Pricing

| commandwp

Pricing is one of the things I've been struggling with on CommandWP. I want a simple plan that offers customers a lot of value. I want to offer pricing that I'd personally want to use.

While I figure that out, I've left pricing off the site, hoping to find early adopters to help me figure out pricing later. It seems most people don't want to invest time in something without having an idea of what the costs might be going forward. I'd want the same.

Here are some of my thoughts about pricing and where I ended up. CommandWP now has pricing!

Optimizing Development Processes for Business Value

| development, process

The point of software development is to deliver custom value as quickly as possible. At least development in the context of a business.

While teams should be self-managing, they should also strive to create value. These are principles for development I've seen increase productivity.

If Not a Roadmap, Then What?

| development, leadership, process

I've been wrestling with this question. Roadmap are so integrated in development processes that it's hard to think about processes without them.

Replace Your Product Roadmap

| development, leadership, process

A product roadmap is a list of tasks and mile stones. It's generally built with a destination in mind. The destination isn't always clear and more importantly why it's the destination isn't clear.

Do More With Less Developers

| development, leadership, process

Creating a highly effective development team requires a number of things. Over the years and working on different teams, here's what I've found works.

From No-code to Code - How CommandWP Came To Be

| commandwp

Around 2014 I was doing a lot of consulting work. One client was creating WordPress sites and would contact me looking for help installing plugins or to fix a site that had been hacked with mal-ware.

They had a handful of sites they were working on and it was clear they had two common problems. No one was updating the code and there were no backups to be found!

Bet - PPC Campaign

| wpsupporthq, bets

Running a local PPC campaign will gain 2+ users. Assuming an LTV of $540/year, a $500 CPA, while high is a workable to optimize.

Bet - Locally focused site

| wpsupporthq, bets

Update site to a cleaner look and content focused on local hosting to Denver / Colorado will help increase conversions on the site.

Experiments are good, bets are better?

| bets

I think most people would agree the best way to learn is through experiments, some might say the "hard way", but I'm starting to believe it's actually the only way.

Experiments produce experience and that's where the value comes from. I've spent way too much time reading how to do something but I don't feel like I've actually learned how to do something until actually doing it.