devops

ruby-on-rails

docker

sysadmin

ruby

testing

circleci

pipeline

aws

certificates

terraform

git

monorepo

ansible

debug

php

troubleshooting

xdebug

woocommerce

wordpress

webdev

regex

documentation

project management

capistrano

magento

craftcms

jenkins

pantheon

vagrant

chef

virtualbox

mysql

: Form Objects in Ruby on Rails In Ruby on Rails, a Form Object is a design pattern used to handle the complexity of forms that …

: Variable swapping in Ruby Swapping variables is a fundamental concept in programming, often encountered in algorithm …

: Quirky Ruby Feature - Mixing Code and Data Ruby has some fun quirky features. One of them is that you can mix code and data in a single file …

: How to change a Users Password via Tinker in Laravel Laravel has a pretty great console through a REPL called Tinker. From Tinker you can interact with …

: A docker based setup for testing with Laravel I experienced some annoying issues while running integration tests in a Laravel app. The official …

: Add taggable support to my personal blog Today I added taggable support to my blog. I do have blog posts tagged, but it's a simple …

: Trying to Dispatch Jobs via Tinker with Laravel and SQLite I've been learning Laravel queues and jobs. While creating some jobs I wanted a quick way to test by …

: Use Ansible to Configure your Workstation Let me show you a simple and easy way to manage your MacOS workstation using Ansible. Ansible is …

: Develop for Environment Specific Configuration There is a pattern I see often among junior/associate developers when it comes to handling …

: Managing Jumpstart Pro Updates Jumpstart Pro is a Ruby on Rails SaaS template that lets you quickly deliver and ship business-ready …

: Simple Database Seeder for WordPress I’ve been doing some WordPress development at my day job and have come to the conclusion that …

: Turbo Will Call Stimulus `connect()` Twice When you click a link to return to a page, or use your browsers back button to return to a page …

: The Three Core Principles of DevOps If you ask a group of people "what is DevOps?" you are likely going to get a variety of different …

: How To Use Docker Compose Effectively as a Development Tool Let's use Docker Compose to help us build software! If you are new to the world of containers then I …

: Running Ruby on Rails on Docker I have been developing Ruby on Rails apps in Docker for several years now. I couldn't imagine not …

: Getting Familiar with RSpec in Rails I spent some time over the weekend getting familiar with RSpec. Gonna brain dump (with just a little …

: Execute Workflows with Path Filtering in CircleCI As I often love to tell people, I love monorepos and I use a monorepo for my own projects. But there …

: The difference between length, size, and count in Ruby on Rails I was asked recently if I could explain the difference between length, size, and count for …

: AWS ACM Terraform Module with Variable SANs Here is a a flexible terraform module for creating an AWS ACM with a variable number of additional …

: A Terraform Directory Structure Here is a directory structure that I am using for Terraform that I think works pretty well. The …

: Enforcing Interfaces in Ruby Ruby doesn't have the concept of an interface. Unlike say, PHP. In PHP you can specify that a class …

: Multi-Platform Git Diff and Merge Tools Maintain a single .gitconfig between different operating systems by using proxy scripts for git diff …

: My Personal Monorepo & Pipeline A monorepo is a software development strategy where code for many projects is stored in the same …

: Deploying a Simple Rails App with Ansible Ruby on Rails is quickly becoming my framework of choice for my personal websites and projects. It's …

: How to Run Rails App Server with Systemd and Ansible Create a systemd service to run your rails app server. Ansible tasks to create the service: --- …

: Simplify Terraform By Generating Configurations Terraform is an awesome tool. To make it more awesome though we have wrapped it with some custom …

: Profiling and Debugging a PHP app with Xdebug and Docker Profiling and Debugging a PHP app with Xdebug and Docker I have started using an IDE again …

: WP Transients must be used responsibly We ran into an interesting issue with WooCommerce at work. First, here is the subject of the support …

: Order Posts via A request we are getting more often is to show a list of posts, to elevate some of those posts above …

: Regular Expression of the day (?!(([1,2,3,4,5,6,8,9,0])\2{9}))(?!((1234567890|0987654321)))(((\+?\d{1,2}[\s.-])?\(?\d{3}\)?[\s.-]\ …

: Technical Documentation for a Web Development Project Working on a large web development project requires that you have clear direction and good technical …

: TLS Peer Verification w/PHP 5.6 and WordPress SMTP Email plugin We ran into an issue after upgrading from PHP 5.5 to 5.6. We were no longer able to send email via …

: Whitelist IPs in Nginx I want to whitelist my clients IP addresses (and my office IPs) to allow them to view a site, while …

: Capistrano tasks for Magento Custom tasks for Capistrano that I am using to help manage a Magento website. set :linked_files, …

: Creating link tags with hreflang attributes in CraftCMS I want to preface this with the following; I think CraftCMS is a poor CMS. I dislike many things …

: Setting up Git HTTP Backend for local collaboration You want to share a topic branch with a colleague but do not want to push that branch upstream to …

: Enable status for php-fpm Accessing the PHP-FPM Status screen is easy enough. First, enable pm.status in your php pool: …

: My Pantheon + Jenkins Process Here is a rough outline of my Pantheon + Jenkins process. I like my code in BitBucket. I also like …

: A WordPress ajax handler for custom themes Something I have been noodling on is a better way to handle ajax requests in my custom themes. Seems …

: My VagrantFile This is the Vagrantfile I am using for my development box at home and work. It is determines how …

: Ohai Plugin for OpenVZ VMs to get public IP Address Media Temple uses the OpenVZ virtualization system and I have quite a few Media Temple servers under …

: What to do when your website is hacked/exploited So your website has been "hacked"? You load your website in your browser, and are redirected to some …

: Virtualbox Bug related to SendFile I have been doing more web development with Vagrant and VirtualBox. It's a nice way to keep my dev …

: Setup Development Environment with Vagrant & Chef I use Chef to manage and provision new staging and production servers in our company. It takes a lot …

: Trying to Troubleshoot extremely high MySQL CPU Usage MySQL CPU usage was spiking upwards of 1000%. Load average was around 50-60. I could not SSH into …

: Securing Git repository from accidental exposure using Chef It was brought to my attention at the office that a few of our recently launched websites had …