Archive | ruby

03 March 2014 ~ Comments Off

Acquiring a Modern Ruby (Part One)

Last month marked the 21st anniversary of the programming language Ruby. I use Ruby pretty much all the time. If I need to write a command line tool, a web app, pretty much anything, I’ll probably start with Ruby. This means I’ve always got Ruby to …

Continue Reading

08 December 2013 ~ Comments Off

Better Puppet Modules Using Hiera Data

When writing Puppet Modules there tend to be a ton of configuration data – generally things like different paths for different operating systems. Today the general pattern to manage this data is a class module::param with a bunch of logic in it….

Continue Reading

10 October 2013 ~ Comments Off

CLI Report viewer for Puppet

When using Puppet you often run it in a single run mode on the CLI and then go afk. When you return you might notice it was slow for some or other reason but did not run it with –evaltrace and in debug mode so the information to help you answer …

Continue Reading

19 August 2013 ~ Comments Off

Tools for Debugging Running Ruby Processes

Let’s assume that we have a daemon running on some kind of POSIX system written in Ruby that works great most of the time, but every few months gets “stuck” and needs to be restarted. We might tolerate this failure rate, or we might s…

Continue Reading

13 May 2013 ~ Comments Off

Building RPMs from ruby gems with fpm

Some time ago, I wrote up how I created RPMs for ruby gems to simplify installation on EL-flavoured distributions. In the comments for that article, Jordan Sissel pointed me at his fpm tool which I said I’d check out if I ever needed to build an…

Continue Reading

06 January 2013 ~ Comments Off

Solving monitoring state storage problems using Redis

Redis is an in-memory key-value data store that provides a small number of primitives suitable to the task of building monitoring systems. As a lot of us are hacking in this space I thought I’d write a blog post summarizing where I’ve been…

Continue Reading

01 January 2013 ~ Comments Off

Scaling Nagios NRPE checks

Most Nagios systems does a lot of forking especially those built around something like NRPE where each check is a connection to be made to a remote system. On one hand I like NRPE in that it puts the check logic on the nodes using a standard plugin fo…

Continue Reading

01 December 2012 ~ Comments Off

Preventing JRuby Concurrency Errors with Hamster

I was recently working on a small proof-of-concept application with a back-end server written in JRuby. In this proof-of-concept, multiple clients connect to the server to poll for status changes and to request actions be performed as the result of user interactions.

Read more on Preventing JRuby Concurrency Errors with Hamster »

Continue Reading

27 November 2012 ~ Comments Off

Portable Ruby Bit-Twiddling with #unpack()

Karlin Fox and I have been playing around with using the MQTT protocol to distribute information about the availability of certain high-demand resources in our office (namely, the bathroom). For some time now we have had an Arduino-powered red/green …

Continue Reading

25 November 2012 ~ Comments Off

RubyConf 2012 Reflections: Bad Code Is a Symptom & Keeping Your Business Logic Functional

Denver Conference Center

I recently attended RubyConf 2012 in Denver, CO. I had a great time, and I learned a lot. While getting a clearer picture of the Ruby development community was interesting — particularly the tension among MRI, JRuby, Rubinius, etc. — the talks I keep thinking about were essentially language-independent.

Read more on RubyConf 2012 Reflections: Bad Code Is a Symptom & Keeping Your Business Logic Functional »

Continue Reading