Latest Posts

“The Most Forgotten Pattern”

Opinions  Iterative Development

Developers love consistent ways of solving repeating problems, but the most consistent problem of them all is never solved repeatedly. Every time we sit down to solve problems with software we apply design patterns to overcome situations that would be contentious if we hadn’t already solved them years ago. There’s no point in reinventing the wheel, right? So why are we sitting here planning development of software for months on end still?

Read More →

The switch to Jekyll and updates

Blog  Updates Jekyll

2017 has been really good to me and I’ve had the opportunity to grow a lot both as as person and in my career. I’m currently writing this post sitting on my back porch watching my dogs play.

That said, earlier versions of my website were always based on Wordpress. While Wordpress is a great functional FOSS blogging platform, it was really a bit bloated for my needs. As a developer, and someone who is trying to make more efficient use of their time, I was looking for something that got down to the nuts and bolts of what I wanted without sacrificing too much functionality.

In that I found Jekyll and GitHub pages. I kind of wrote this off as a poor man’s solution to a common problem, however, I’ve discovered the elegance in what Jekyll provides. Jekyll is categorized as a Static Site Generator written in Ruby and extended through plugins and API driven services such as Disqus. You can checkout Jekyll here.

I use a Mac and haven’t done a lot of Ruby focused projects so I was really unaware of how to start. What I’ve figured out though is that between RVM and HomeBrew you can get a sustainable environment going. I could probably also have written a Dockerfile to do a lot of the dependency management for me, but I’m only using one gem and that’s Jekyll itself.

As for deployment, I already pay for GitHub. I was a little disappointed to discover GitHub pages doesn’t support a CDN proxy to run SSL on custom domains but I looped in CloudFlare for that. All in all, a blog post is just a commit away and I can use Atom as a post editor.

While I’ve been writing a lot of specific ‘getting started’ tutorials lately I think it’s time that I start writing more Site Reliaibility Engineering focused work. I currently work in an AWS environment but dumping my virtual machine provider frees me up to do some AWS and GCP tutorials. Who knows, maybe I’ll get froggy and do some Azure too.

Read More →

Test Driven Infrastructure Basics

Tutorials  Inspec Chef

Today I’m going to go over the basics of Test Driven Infrastructure, what it means, how to do it, when it applies, and why. In this tutorial I’m going to use Chef, but you can use whatever you want.

Read More →

User error caused a massive S3 blackout

Opinions  AWS S3 Post Mortem

At 9:37AM PST, an authorized S3 team member using an established playbook executed a command which was intended to remove a small number of servers for one of the S3 subsystems that is used by the S3 billing process. Unfortunately, one of the inputs to the command was entered incorrectly and a larger set of servers was removed than intended. The servers that were inadvertently removed supported two other S3 subsystems. source:

Is this where we echo one of the great pillars of Linux? With great power comes great responsibility.

Read More →

SendGrid DNS White Labeling and CloudFront for Secure Click Tracking Links

Tutorials  SendGrid AWS CloudFront

At StarLeaf we had a need to secure our SendGrid click tracking links, unfortunately our provider, SendGrid, had no way of sending HTTPS traffic with their in place white labeling solution. This is how we solved that.

Read More →
Social Media
  • @codencombovers
  • mattouille
  • code_n_combovers
  • mattouille
  • 5854293/matt-o