Recently at work we passed a major milestone on our codebase, and I wanted to see if I could run some analysis over time on authorship and see how long some early contributors' work stuck around in the product.

A bit of experimentation and random googling left me with these three scripts.

Today at work, I determined that my current work in progress branch was going to want to be merged into production ahead of our next scheduled merge/deploy of master. To make it easier to merge into our production branch for a hot-fix deploy, I want to have the branch based off production instead of master.

Bundler is pretty darn good. Installing all your gems globally sucks. bundle install --path does a great job of fixing that but it means you need to bundle exec any shell commands you want to run, which again sucks. There are lots of attempts to fix this, but they're all fairly convoluted.

I'm a fan of simpler solutions wherever possible. I use zsh as my shell, which has a handler you can hook into if the command you're trying to run is not found. It's a simple matter to hook that into a custom...

At work, we provide an API for our app and maintain web-based
documentation for said API. We originally had the documentation in a
separate git repo, but as it makes much more sense to maintain the docs
directly alongside the code it documents we wanted to merge the two
repositories. This was done in two steps.

Moving files

First, we need to prep the docs repo such that the content is in a
reasonable location, rather than the root directory. This is done fairly
easily with git filter-branch