Articles

Leveraging lsof to Troubleshoot Network, Filesystem, Native Library or Device Problems

 Unix,  Ruby,  Rails,  Tools of the Craft

lsof is one of the most powerful UNIX command (also available on Mac OS X). It is invaluable when it comes to investigating or troubleshooting problems related to network, filesystem, devices or even native libraries. This article first introduces lsof usage and syntax illustrated with concrete examples and then dive into advanced options and techniques.

read more

Reliable Ruby timeouts with SystemTimer: Do not trust timeout.rb too blindly...

 Rails,  Ruby,  Unix

timeout.rb, the library used by Ruby to ensure timeouts, is not 100% reliable. This article explains why, and how to use the System Timer gem to guarantee reliable Ruby timeouts when you are crossing system boundaries.

read more

Effortless Thread Dump for Ruby: Dump the stack trace of all the threads in your Ruby VM with caller_for_all_threads (M.R.I. 1.8)

 Rails,  Ruby,  Unix

The standard Ruby VM only gives you access to the stack trace of the current thread. This restriction can be frustrating when investigating production problems and the thread you are interested is not the current one. Learn how to use caller_for_all_threads to remedy this, and just send a signal to dump a stack trace for all the threads.

read more

Getting Started with DTrace

 Rails,  Ruby,  Unix

DTrace is a revolutionary dynamic tracing tool available on Mac OS X (Leopard), (Open)Solaris, and BSD. This document assembles a collection of pointers and material to get started with DTrace, from a Rubyist perspective.

read more

Introduction to UNIX Signals and System Calls

 Unix

Easy introduction to UNIX signals, system calls and operating system fundamental mechanisms for readers that are not experts in UNIX internals and operating system theory. A good understanding of your operating system’s principles is important to recover when things go awry, even if you concentrate on a higher level of the stack (e.g. developing web applications).

read more

In UNIX Everything is a File

 Unix

The UNIX operating system crystallizes a couple of unifying ideas and concepts that shaped its design, user interface, culture and evolution. One of the most important of these is probably the mantra: "everything is a file", widely regarded as one of the defining points of UNIX. This article provides extensive background on this fundamental UNIX metaphor.

read more

Getting started with Autotest - Continuous Testing

 Rails,  Ruby,  Agile

Why manually run your tests, when the computer can do it for you! This article introduces Autotest, a Ruby tool that speeds up test-driven development and let you concentrate on writing code. After covering Autotest basics, we dive into extensive plugin coverage and advanced usage.

read more

This work is licensed under a Creative Commons Attribution 2.5 License.

Original web site design by: JFX diz*web.