Month: October 2014

Reclaim Mongodb Diskspace

Mongodb chews through disk space.  Even our lightly used servers need to be cleared out every couple of months.  The new usePowerOf2Sizes flag has helped but it hasn’t eliminated our need to perform a full –repair every once in a while.  Unfortunately, the process requires downtime and even more free space than Mongo has consumed, but after mounting a temporary…

Custom Top-Level Domains

A top-level domain, or TLD, is the final section of a domain name: .com, .org, .net, etc.  By customizing our own DNS server, we’ve created TLDs for each of our environments: .dev, .qa, .stg, and .prod.  This allows everyone to navigate countless projects across several environments by simply appending the environment name to the hostname in the URL. To accomplish…

Jenkins Automation

Continuous integration and automated testing are essential to our internal operations, but two seemingly simple Jenkin’s features have evolved to be more important than we imagined – shell scripts and scheduled jobs.  They were glossed over from the beginning, we were in this for the CI after all.  Run bash scripts?  Yeah, why not.  Replace cron jobs?  OK, but cron’s…

My Vim and Tmux Workflow

My greatest hurdle when learning to work with Vim was establishing a flow.  Most editors, even most applications in general, use a tabbed interface that’s become so universal almost all apps implement the same keyboard shortcuts.  Naturally then, I jumped into Vim without realizing how much this preconception would work against me. Past experience told me to run one instance…