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.
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.
I know, 10x engineer is click bait-y...
A list of resources for AI and LLM.
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.
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.
I've ran into this a couple of times and it's taken forever to figure out! I don't know how I fixed it before, but this is how I fixed it this time.
Bridgetown is a Ruby based static site generator. Being Ruby is awesome already, but with the new dynamic routes feature and support for Turbo it could be a really powerful site builder. Static for most things, and dynamic content provided by Turbo!
Notes for setting up SMTP for sending mail from hosting servers.
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:
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!
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.
I've been wrestling with this question. Roadmap are so integrated in development processes that it's hard to think about processes without them.
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.
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.
How to send page updates with Hotwire using a specific partial.
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!
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.
Update site to a cleaner look and content focused on local hosting to Denver / Colorado will help increase conversions on the site.
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.
Early adopter program will validate the market for CommandWP.