We're hiring!

We're actively seeking developers for our new Detroit location. Learn more

Unix, Linux, and Bash

Hosting Provider ‘Upgrade’ Changes Stolen CPU

Change in CPU Steal Time

Recently, a hosting provider’s ‘upgrade’ dramatically changed the stolen CPU time on one of our systems. I investigated and found that our virtual machine’s CPU allocation had been deprioritized. The rest of the post describes “stolen CPU” and the behavior that we experienced on our virtual machine. Anyone who runs operating systems (especially UNIX or…

Read More »

Also posted in Tools | Tagged | Leave a comment

Wireless Communication Between Raspberry Pi and Your Computer

Imagine for a moment that you want to develop a product that uses a Raspberry Pi. Let’s say that this product requires the ability to connect up to a wireless network. Maybe it’s a device that streams music from an online web-service, or maybe it hosts some type of webpage. This functionality should be easy to accomplish…

Read More »

Also posted in Embedded Software | Tagged | 2 Comments

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…

Read More »

Also posted in Tools | Tagged , , , | 5 Comments

Linux Encryption in the Cloud using LUKS on Linode

Thinking through some security concerns recently, I found myself wondering if it was possible to achieve full system Linux encryption in the cloud — running GNU/Linux off of an encrypted root partition (using LUKS). I thought that it should have been possible — it was achieved easily running with a local virtualization platform (VirtualBox, VMWare…

Read More »

Also posted in Design & Development, Tools | Tagged , , , , , | 2 Comments

Red Green Performance Testing with The Grinder

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? One aspect of these conditions can be…

Read More »

Also posted in Testing, Tools, Web | Leave a comment

Serve Local Web Apps under a Custom Domain

When working on multiple web applications, it can be taxing to remember which applications are running on which ports. By default, Ruby on Rails serves on port 3000, MAMP serves on port 8888, many applications start up listening on port 8000, and you might even find yourself using a non-traditional port like 8012. Knowing where…

Read More »

Also posted in Web | 2 Comments

Handling JSON from the Command Line with Jq

In the battle of data formats, the two heavyweights are XML and JSON. Of late, JSON seems to be winning, in large part because most languages natively support JSON’s chosen data structures, but there’s one arena where JSON hasn’t made much of a showing: the command line. The command line provides a lot of programs…

Read More »

Also posted in Tools | Tagged , | 5 Comments

BERKS! – Simplifying Chef Solo Cookbook Management with Berkshelf

gersberms

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…

Read More »

Also posted in Tools | Tagged , , , , | Leave a comment

Chef Solo with Capistrano

Not that long ago, I wrote about a standalone Puppet pattern that Mike English and I use in conjunction with Capistrano to provision and manage our server configurations. While we still make use of Puppet, we’ve also added Chef to our repertoire. Similar to Puppet, Chef allows for a client/server model in which a Chef…

Read More »

Also posted in Design & Development, Tools | Tagged , | Leave a comment

Is Your Application Running with Ruby – Slow?

The problem that this post describes has now been fixed in RVM stable (1.17.0). To diagnose performance issues, be sure to check the options that Ruby was compiled with:ruby -rrbconfig -e ‘puts RbConfig::CONFIG["CFLAGS"]‘ The Situation While working with Patrick Bacon, migrating a large Ruby (ruby-1.9.2) web application from an older Solaris system to a new…

Read More »

Also posted in Design & Development, Languages | Tagged , , | Comments closed