SSH Keys

SSH keys are really neat! The DigitalOcean article on How To Set Up SSH Keys does an excellent job on explaining what SSH keys are and how to create them. In short, SSH keys are much more secure than password based authentication. In this post I will cover a few tips that I find myself frequently searching. Passphrase Create a 4096 bit SSH key. When creating the key, you can specify a passphrase. [Read More]


As I learn about Kubernetes I decided to write a series of blog posts. When learning any new technology it is important to understand the vocabulary so you can properly understand the documentation. Also, I would like to explain some ideas I didn’t quite understand. Definitions Kubernetes is an open-source container-orchestration system for automating application deployment, scaling, and management. It was originally designed by Google, and is now maintained by the Cloud Native Computing Foundation. [Read More]

S3 Go Proxy

This is the story of how I wrote an S3 Go Proxy. I was recently working on a project that needed a scalable storage solution. Since I planned on hosting this project on DigitalOcean I originally thought about using Block Storage. While Block Storage is fast, it isn’t easily scalable, and I don’t want to be responsible for resizing/adding storage. It didn’t take long to realize the ideal solution would be Spaces. [Read More]

Docker Explained for PHP Developers in 2018

This post assumes you have a basic understanding of Docker. But what is a basic knowledge? If you aren’t sure, I suggest you read the Get Started docs, and then you will have a basic understanding of Docker. I’ve read a few posts on Docker for PHP developers. However, it was the same tutorial on different sites, so I’m not going to copy what they did. I’ll explain the concepts that I struggled with learning. [Read More]

DigitalOcean Spaces – Learn how to use Spaces with PHP

Update on 10/25/2019: The Flysystem PHP is much easier. Using DigitalOcean Spaces with your next PHP project is a beautiful idea. Spaces will give you all the hard drive space that you could ever need. This post can help you build your next PHP project with DigitalOcean Spaces. Building out an infrastructure can be a difficult job for anyone, but DigitalOcean’s services make it a bit easier. Mounting Object Storage You could upload directly to S3 compatible storage using a PHP package, but it is easier to mount a bucket and let the file system handle the rest. [Read More]

Mounting DigitalOcean Spaces

I assume you have already created a Space and Droplet on DigitalOcean. If you haven’t, do that now, then come back to this post. In this example, I’m using Ubuntu 16.04. I’ve also pointed a domain to this Droplet and put it behind Cloudflare, so Spaces can act as my file repository for my assets, and Cloudflare will deliver them. Mounting Spaces on your Droplet SSH into your Droplet and run the following commands: sudo apt-get install automake autotools-dev fuse g++ git libcurl4-gnutls-dev libfuse-dev libssl-dev libxml2-dev make pkg-config git clone https://github. [Read More]

DigitalOcean API Client

When I went to Davis, WV for Thanksgiving with my family, I started working on a DigitalOcean API Client. I have since started over twice in an attempt to make it better. Getting it to work is not a problem, but making it easy to use can be a challenge. I am using interfaces, abstract classes, traits, and concrete classes to help organize the code and make each part replaceable. Any request made will need a request object, which is similar to a DTO (Data Transfer Object). [Read More]

High Availability

Websites are fun to make. When I first learned how to build a website, it was an awesome feeling, the world being able to see my page. I still enjoy making websites, and I’m fortunate to have a job doing just that. One of the most frustrating times of any web developers job is when their site goes down, and they don’t have control over bringing it back up. Bluehost (Endurance International Group) could be a lot better, but they overload their servers and see a lot of down time. [Read More]