We're hiring!

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

Tools

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 Unix, Linux, and Bash | Tagged | Leave a comment

Exploring Lua Coroutines in ComputerCraft

minecraft-computercraft

A fellow Atom recently introduced me to the Minecraft mod ComputerCraft. ComputerCraft extends the game to include virtual computers that are programmable in Lua and capable of interacting with the game world. Needless to say, I found myself rather preoccupied with Lua that weekend.

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

Using Bundler with JRuby Complete

I am currently working on a project using JRuby for a server-side component. One of the team’s deployment goals has been to avoid relying on the production environment having JRuby installed in it (either globally or with RVM). Instead we have been using the jruby-complete.jar to bundle the entire JRuby runtime with our application. This…

Read More »

Posted in Tools | Tagged , , , , | Leave a comment

Script Away Your Annoyances – Testing a Data Import Process

An annoying import process

As I wrote in my previous post, Script Away your Annoyances – Patching a Gem: Automation is good. Performing tasks manually is bad. Performing tasks manually is especially bad when the tasks are annoying. Let’s use a Ruby script to alleviate the pain of an annoying task. Today’s annoyance: testing and working through the kinks…

Read More »

Posted in Tools | Tagged , | Leave a comment

Using Vagrant AWS with Capistrano

Vagrant 1.1 was recently released, adding support for virtualization providers other than VirtualBox. Among the providers now available is one for AWS. In switching my Vagrant workflow from VirtualBox to AWS, I ran into a problem; and in solving it, I discovered a better way to integrate Vagrant with Capistrano. 1. Vagrant Setup Vagrant 1.1…

Read More »

Posted in Tools | Tagged , | Leave a comment

Working with Custom Return Values in GoogleMock

When working with the GoogleMock C++ mocking library, you can get pretty far using only default expectation return values or explicitly specifying expectation return values. There are some additional options that can save you a lot of effort in some circumstances though. Let’s take a look at a few of them. Standard Values Consider an…

Read More »

Also posted in Embedded Software, Testing | Tagged , | Leave a comment

Effortless Abstraction with Ember.js

Ember.js has gotten a lot of attention recently for being confusing or hard to get started with. I’ll definitely admit that getting started with Ember took more than its fair share of code-reading, as the guides and documentation didn’t provide enough detail for building real-world apps, but for the most part, I’ve been amazed at…

Read More »

Posted in Tools | Tagged , | Leave a comment

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 Unix, Linux, and Bash | Tagged , , , | 5 Comments

Why Mou Is My New Note-Taking App

Blog post started in Mou Markdown editor for OS X.

Taking notes has been a part of my life since high school, in one form or another, but the tools I’ve used have varied quite a bit. Recently, a couple of my current project teammates and I have been trying out Mou for rapid note-taking during meetings and capturing decisions we make along the way….

Read More »

Posted in Tools | Tagged , , | Leave a comment

Rails find with Airbrake

When creating a rails application, it’s common to use a service like Airbrake that will alert you that something has gone wrong on your applcation. Airbrake is a great utility, but we found a slight gotcha when relying on it to report errors. If we had a pages resource, we might be able to access…

Read More »

Posted in Tools | Tagged , | Leave a comment