# Managing base Docker Images

Docker is a great way to package your code such that you can be sure it will run on any machine that has docker installed. However, maintaining your docker containers and publishing them to docker hub can be a bit of a challenge. The following are two ways I do it.

# Packer OVA

Recently I have started using Packer to build AMI images. It works like a champ, but then I tried to make VMWare images and it produced machine images, not machine exports. This makes the exports nearly useless. However, with a little post-processing magic this can be fixed.

# Git Flow Simple

Gitflow is a great workflow to ensure you maintain constant ever increasing version numbers with enough room to fix mistakes. The downside is the slowness of deploying new features. GitFlowSimple is a simplified version which can be expanded to standard GitFlow when needed, but is less effort when deploying new features.

# Story Points Done Wrong

• “How many hours per Point?”
• “How many days is a 3 point story?”
• “Why can’t we just use hours?”

Ever said or heard something like that? If so…

To be honest Story Points are probably the trickiest part of Scrum largely because everyone “wants” them to be something that they are not. But once you understand them they are far more useful and accurate then any other form of estimation (that I have seen).

# Forcing Factor

A forcing factor is any factor that forces you to make a choice. They are often thought of as bad because when you are forced to make a choice that choice is not likely going to be a good one.

“Check” in the game of chess is one such negative forcing factor. Global climate change is another. However, they can be used for good if you take control of them.

# Hugo Blog Deployment

Hugo does a great job of separating out configuration, content, themes, and local overrides. Each getting their own file or directory. But it provides no deployment scripts.

For comparison, Octopress/Jekyll leaves it as an exercise for the developer to separate configuration, content, themes, and local overrides, but it provides a deployment script.

Using GitHub pages and a little bit of git wizardry and the deployment process is pretty easy.

# New Hugo Blog

For those of you actually monitoring my site you will have noticed that I have not updated the site in quite some time. The reason is that I was unable to get OctoPress (my previous blog generator) to work on my upgraded computer.

I have switched to Hugo as my blog software and plan to start migrating the pages from the old blog. Please bear with me, and sorry if it screws up your RSS feeds.

# Emacs Full-screen

On a Mac the short cut to put a window into full-screen mode is ctrl + cmd + f. Unfortunately this does not work directly for emacs. Here I will explain how I made it work.

Note: This is only applicable to windowed versions of Emacs!

# Emacs Key Bindings

I recently switched to Emacs as my editor of choice. It has taken a bit of work to get it to where I like it. My full settings are on github here.

In this post I will share how I added a key binding to only a single mode.