Archive | Unix, Linux, and Bash

11 April 2013 ~ Comments Off

An Introduction to Scripting Tmux Key Bindings

Tmux is a powerful terminal multiplexer, and its built-in support for scripting allows you to create new features according to your own workflow.

I spend most of my day in Tmux, at the command line, grepping through codebases and editing files with Vim. I copied and pasted or re-typed file names for a long time before I realized how irritated I was that I couldn’t merely click on a file name and immediately open that file to the given line.

Read more on An Introduction to Scripting Tmux Key Bindings »

The post An Introduction to Scripting Tmux Key Bindings appeared first on Atomic Spin.

Continue Reading

15 March 2013 ~ Comments Off

Red Green Performance Testing with The Grinder

redgreen

No, not that Red Green!

Even a thoroughly-tested application can wreck havoc if it hasn’t been tested in the context of a production-like system under production-like conditions.

Tools like Puppet and Chef make it easy to produce a production-like environment for testing, but what about the production-like conditions?

Read more on Red Green Performance Testing with The Grinder »

The post Red Green Performance Testing with The Grinder appeared first on Atomic Spin.

Continue Reading

03 January 2013 ~ Comments Off

BERKS! – Simplifying Chef Solo Cookbook Management with Berkshelf

At Atomic Object, we like to keep things simple. For Justin and I, this often means using Puppet Standalone or Chef Solo to configure servers that don’t yet (and may never) require the coordination of a Puppet Master or Chef Server. Justin recently blogged about the pattern we use with Chef Solo. I’m going to share a new tool we’ve started using to keep these repositories simple, even as the requirements grow.

Read more on BERKS! – Simplifying Chef Solo Cookbook Management with Berkshelf »

The post BERKS! – Simplifying Chef Solo Cookbook Management with Berkshelf appeared first on Atomic Spin.

Continue Reading

13 August 2012 ~ Comments Off

Deploying from Git with Capistrano

Justin and I provide operational support to the SME Toolkit project, an education portal for small to medium sized enterprises in developing countries sponsored by the IFC (which is the private sector development branch of the World Bank Group).

Read more on Deploying from Git with Capistrano »

The post Deploying from Git with Capistrano appeared first on Atomic Spin.

Continue Reading

29 June 2012 ~ Comments Off

Restoring Deleted Files in Linux from the ext3 Journal

Deleting Computer Files
Someone just `rm -rf *`-ed from `/` on a production server.

Fortunately, you have backups. Unfortunately, the server included a database with important business data that was written just before the disaster. That most recent data is not included in the last database backup.

Read more on Restoring Deleted Files in Linux from the ext3 Journal »

The post Restoring Deleted Files in Linux from the ext3 Journal appeared first on Atomic Spin.

Continue Reading

04 April 2012 ~ Comments Off

Simple Remote Pairing with wemux

Background

Atomic Object is opening an office in Detroit. As part of the preparation for this new venture, I have been looking at ways to simplify remote pairing. I was happy to find out about a new project called wemux.

Read more on Simple Remote Pairing with wemux »

The post Simple Remote Pairing with wemux appeared first on Atomic Spin.

Continue Reading

27 February 2012 ~ Comments Off

Beyond Bundler: A Configuration Management Starter Kit

Configuration management or “infrastructure as code” can provide a common language for application developers and operations specialists alike to describe the infrastructure requirements of an application. By capturing these requirements in code, bootstrapping becomes a repeatable process, and insights from operations teams supporting the application in a production environment can be fed back to the developers in a virtuous cycle.

As an example of what this might look like with some current tools, I’ve created a starter kit for using vagrant, veewee, and a bit of puppet to automate the building of virtualized infrastructure for a Rails 3 application. The end result is a VirtualBox virtual machine described in code (from a Veewee basebox definition of the basic virtual hardware to a Puppet manifests describing the necessary packages and bootstrapping). This means that down the road, an environment in which your application will run can be repeatedly built and all of the steps of that process are both visible and modifiable, with changes captured in source control.

Read more on Beyond Bundler: A Configuration Management Starter Kit »

The post Beyond Bundler: A Configuration Management Starter Kit appeared first on Atomic Spin.

Continue Reading

28 January 2012 ~ Comments Off

Less Perplexing Terminal Multiplexing with tmux

Tmux has been getting a lot of attention lately. As George Nachman works toward a deeper integration of iTerm2 with tmux, more people are becoming aware of the ‘other’ terminal multiplexer. Around the office, people have been asking how I use tmux. While I’m also an avid iTerm2 user, I’m not sure if the new ‘deep integration’ will be worth the additional complexity. Tmux is useful enough on its own.

Read more on Less Perplexing Terminal Multiplexing with tmux »

Continue Reading

23 November 2011 ~ Comments Off

Bash, Pipes, and Standard Input

CLI aficionados working on any of the many *nix platforms are likely familiar with at least a few of the types of pipes available for creating powerful one-liners to get things done. One idiom I find particularly interesting is that used by the RVM installation process.

Read more on Bash, Pipes, and Standard Input »

Continue Reading