Building a custom build pack on Heroku – the HARD WAY

So you want to build yourself a custom heroku buildpack, and you want to do it the hard way? Look no further, for within lies insanity.

There are a few caveats that you’ll need to understand. The first, is to use google and make sure that some one else has not already embarked on your particular path of insanity. The second is that there are easier ways then this path. You’ll especially want to look at things like Vulcan, which will make parts of this a lot easier.

One of my many failings is a need to understand how things work at their core. So I actually took the time to do this the hard way, and determine exactly what was going on at each step. Hopefully this helps you in some way, and you’ll not have to follow me.

Continue reading “Building a custom build pack on Heroku – the HARD WAY”

Odd little gem error

While hacking at my favorite tavern, I noted that I needed to update a gem file. When I tried, gem said that it had succeeded, but there were some odd little errors:

And the gem had not incremented it’s version. Hmm.

I decided to fire up my hotspot and see if that changed anything, and yup. Bingo. Success. Gem updated! Best I can figure they are blocking something that gem needs. So, if I had found this article before that, I would have saved myself 20 minutes of troubleshooting.

Using environment variables for application configuration

One of the cool things about what I do, is that I get exposed to some really interesting paradigms. One of the latest is the 12 factor app. It’s an evolution of some of what I have thought in the past, and a radical departure in others.

I’m going to talk about just one of the concepts right now. It was one of the ones that made the least amount of sense to me, until I started to use it. I’m also going to show a concrete example of how to use it in a production system.

Continue reading “Using environment variables for application configuration”

RVM, Lion and Commandline Tools

So, I was updating ruby etc on my Lion box, and I ran into a few issues.

First off, I’m using Apple’s commandline tools. I found that I needed to export CC=/usr/bin/gcc before RVM would work.

Then it tossed an “rvm requires autoreconf to install the selected ruby interpreter however autoreconf was not found in the PATH.” error.

Well, brew install automake seem to fix that little kink. (Wait, you don’t have homebrew? Well, go get it!)

So, now I’m fully updated on RVM and ruby.

The Hardest Thing

Today, I was blindsided by my 3 1/2 year old self. You see, when I was prying my 6 year old son off me, he was screaming “I don’t want to leave daddy!” and I was taken back to when I was 3 1/2. That is when, as far as I can recall, my mom and dad split. I really don’t remember what happened, but I was hit by a wave of emotion. From way back in the peanut gallery of my past selves. Abandonment, fear, pain, sadness. Uselessness. A feeling of things spiraling out of my control.

What can you tell him, other then “it will be ok”, even though you know from the emotional roller coaster you’re feeling 38 1/2 years later, that it’s not going to get better. That it will get different, but different is not always better.

The hardest thing was walking away from him today. Knowing that it was not my choice. Knowing that he would blame me. Knowing that I would give almost anything to have him back, but there was nothing that I could do but walk away.

Seeing my self walking away through my 3 1/2 year old eyes.

PSSH…..

One of the issues that I have run into several times is the securing of access to server farms. You generally end up with a ton of keys laying around and it gets really messy. At one of my past jobs, they had written a pretty killer tool that gave me the springboard for pssh. Pssh is cool because it knows what servers you have by interrogating the AWS APIs, what keys they need and even what their internal DNS name is in your cloud.

So, enter pssh, the Proxy Secure SHell! a SSH automation tool suitable for use as bastion ssh server, or general hand holder. At this time, only works on AWS. Since it’s built on the killer @fog gem, it can be easily expanded to just about any cloud provider.

Wait, what?

Continue reading “PSSH…..”

Dusty

If you notice some dust around here, I am working on getting some cool backend stuff set up. I’ll blog about my experiences setting up:

  • WP Supercache
  • WP Supercache with a CDN
  • CDN Sync
  • Minification of JS/CSS files

I’m also going to be testing my current shared hosting vs a AWS Micro Instance. Given time, I might test Apache vs Nginx on the AWS instance.