Structured log files

Historically, logs on unix systems have been line-based. Each event is represented by a single line appended to a file. Fields of the event are separated by spaces. These logs are compact, human readable, somewhat machine readable, and easily analyzed with pipelines of command line tools like cut, sort, uniq, awk, sed etc.

Erlang Cheat Sheet

beam process: erlang virtual machine

.beam files: erlang binaries

erlang module is a file and the unit of compilation

erlang application is a unit of composition of functionality.  its interface is a start() and stop() function.

Importing a module from a local directory into a Puppetfile or a Gemfile

In a Gemfile:

gem "my-module", :path => File.join("..", "my-module")

Accessible Introduction to Software Transactional Memory (STM)

Fatal Error: Unable to find package java.lang in classpath or bootclasspath

This error: Fatal Error: Unable to find package java.lang in classpath or bootclasspath can occur when /usr/lib/jvm/default-java is missing

This can be worked around with:

cd /usr/lib/jvm
sudo ln -s java-8-oracle default-java

Terror Drone

A passenger plane struck a drone today.  It'll just be a matter of time until someone figures out how to program hundreds of drones to hit a plane.

Using Amazon Glacier as a cheap backup solution from the command line

Set up the bucket and lifecycle rules:

Using Docker in Mac OSX with VMWare Fusion and docker-machine

Although Docker uses Linux kernel features, it is possible to run docker containers in Mac OSX by installing a linux virtual machine and running the docker containers inside the virtual machine.

Create virtual machine called osxdocker:

docker-machine create --driver vmwarefusion osxdocker --vmwarefusion-memory-size=2048

Set environment variables to let the docker command line program connect to boot2docker

eval `docker-machine env osxdocker`

Run docker commands

How to catch up vmware clock to accurate time after a virtual machine pause/un-pause

When you pause a VMWare Fusion virtual machine on a Mac OSX host and resume it after a long time, your system clock will sometimes be behind. ntpd won't catch the clock up if it's too far behind. One manual solution is to run ntpdate in the guest operating system once the virtual machine unpauses:

sudo ntpdate pool.ntp.org

Another approach which I am currently trying, is to set your clocksource to use acpi_pm instead of tsc. You can check which clocksources you have available with:

Fast, Low Memory Drupal 6 System Module

A Drupal 5 version of this module is also available.  If you would like this patch to be committed to Drupal core, please do not leave a comment on this page—please instead add your comment to Drupal issue #455092.

This is a drop-in replacement for the system.module of Drupal 6.37 which makes your Drupal 6 site use less memory and may even make it faster. A test I ran in a development environment with a stock Drupal 6 installation suggested that I got:

Pages

Subscribe to Wesley Tanaka RSS