latest posts

  • Securing Rails Secrets with Cloud Foundry CredHub

    Over the years, secret management in Rails has greatly improved. Gone are the days of the version-controlled secret_token.rb and now providing secrets through environment variables is encouraged. Environment variables can come with their own problems, however. Luckily with Cloud Foundry and CredHub, there's another way.

  • How to Add a Custom 404 Error Page to a Cloud Foundry Staticfile Buildpack Site

    Although Cloud Foundry makes it simple to get your static site up and running on the web, getting rid of the default NGINX 404 page can be a bit tricky. This post will walk you through tweaking the Staticfile buildpack's NGINX config to serve custom error pages.

    , updated
  • How to Deploy a Static Website with Cloud Foundry

    When it comes to hosting a static website there are many options available ranging from the free (and somewhat limiting) Github Pagesto deploying directly to an Amazon S3 bucket to self-hosting NGINX on Digital Ocean. For those looking for more flexibility than what Github and S3 can provide, but want to avoid the hassle of maintaining a full virtual machine on Digital Ocean, a managed Cloud Foundry can be a good option. This post will cover how to use the Cloud Foundry Staticfile buildpack to deploy to a public Cloud Foundry PaaS and wire it up with a custom domain name and Cloudflare SSL.

  • Migrating from Jekyll to Hugo to Ghost to Jekyll

    In a world where new static site generators and blogging platforms crop up everyday it can be tempting to scrap everything and start anew. This is the story of me doing just that -- moving from Jekyll to Hugo to Ghost and winding right back up at Jekyll. A rambling tale of what I discovered and why I didn't end up migrating in the end.

  • How to Add Custom Language Files to CKEditor 4

    Although CKEditor 4 ships with support for over 60 different language variants, you may find yourself needing to add a 61st. Or maybe while localizing your application you've found that you need to tweak the phrasing for an existing locale. Here's how to add support for new languages to CKEditor and modify existing translations without needing to generate a custom build.