Archive for the ‘Linux’ Category

We recently exceeded the capacity for one of our Amazon ELBs in a 60 second period. One of the points of our debrief was to monitor the network from the ELB. Amazon doesn’t provide statistics from ELBs to Amazon cloudwatch. So I came up with the following: Using amazons apis capture the network interfaces with attachment.instance-owner-id for […]

I always forget the order to concatenate SSL certificates and to upload to Amazon ELBs as well as commands to verify SSL certificates. Extract dates from certificate echo | openssl s_client -connect 2>/dev/null | openssl x509 -noout -dates notBefore=Feb 10 00:00:00 2015 GMT notAfter=Jun 9 23:59:59 2016 GMT cat 14619087repl_1.crt | openssl x509 -noout […]

I recently converted a number Amazon Opsworks instances to be time based, so that they shut down at the end of the working day. After doing so, I kept seeing that the Opsworks life cycle events always being marked as in progress.     Every morning the instances would be marked booting and would be […]

A while back I wrote an awk script to process a custom log file to work out how an application was performing over a period of time. The following script takes a timestamp in field one $1 and also an arbitrary field $10 in this case. For every 100 lines of the log file processed […]

Whilst recently looking into usage of SSL, I needed to analyse some logs from apache to determine requests per second. Initially I wrote a quick bash script to do this, however figured it would be handy to elaborate on this, as a result I have posted a perl script on github at apache-log-stats total_requests=$(zcat b2f01_ApacheAccess.2011-12-05.gz […]

At Everlution we did a hack day to help motivate developers and to get the team working together. We started at 8.30am and finished at 5pm. It was pretty impressive what all the teams managed to achieve, with four teams of two developers and a designer. It was set out in a competition style event […]

I previously wrote about “Installing Java & MySQL – unattended/non-interactive installation”. Whilst using slack, I have been running apt-get during postinstall rather than preinstall. Files are transferred from slack after preinstall as such transferring any files that conflict with the packages configuration files, apt-get will prompt regardless of DEBIAN_FRONTEND=noninteractive. Not ideal if your trying to […]

A nice tip for logging data against apache logs within requests. Apache_note is a wrapper for Apache’s table_get and table_set. It edits the table of notes that exists during a request. The table’s purpose is to allow Apache modules to communicate. if (function_exists(‘apache_note’)) { if (isset($_SESSION) && !empty($_SESSION)) { apache_note(‘session_id’, session_id()); apache_note(‘users_id’, isset($_SESSION[‘users_id’])? $_SESSION[‘users_id’] : […]

Vagrant is simply a wrapper around Virtualbox headless that allows for provisioning virtual machines with support for puppet, chef-solo, chef, and bash. This allows you to automate the deployment and sandboxing of development sites. Additional base box images can be found at Installing Vagrant apt-get install -y ruby1.9.1 ruby1.9.1-dev ln -svf /usr/bin/ruby1.9.1 /etc/alternatives/ruby gem […]

Every now and then I come across a problem with PHPs autoloading whereby class_exists fails to autoload classes. I’ve noticed this with a number of PHP versions, most recently with 5.3.2-1ubuntu4.9. Typically I’ve resolved this by simply upgrading the PHP version. In the following example the initial class_exists fails until you instantiate the object and […]

About this blog

I have been a developer for roughly 10 years and have worked with an extensive range of technologies. Whilst working for relatively small companies, I have worked with all aspects of the development life cycle, which has given me a broad and in-depth experience.