Author Archive

Elasticsearch and New Relic

The installation of the Elasticsearch-NewRelic plugin is quite straightforward. First we need to download and install New Relic’s Java Agent, this agent is responsible for sending back all the statistical data to New Relic’s servers, for storage, charting, etc. To obtain the latest Java Agent from New Relic we must: Log in to New Relic.

Read More…

Monitoring Elasticsearch

Two of my favourite applications at the moment are Elasticsearch and New Relic. Elasticsearch is a distributed, RESTful, free/open source search server based on Apache Lucene, while New Relic is a software as a service (SaaS) based application performance management (APM) tool that can monitor a wide range of applications, written various different languages. I have been using New Relic in a production environment for

Read More…

Running two Elasticsearch instances on one machine

Elasticsearch by default runs assuming a one machine, one node setup. However for local dev I needed to boot up more than one node on my machine, to test certain aspects of a cluster and for my own personal exposure. The quickest way I though of was to specify paramaters via the cli when starting a

Read More…

Installing Homebrew on Mac OSX

Homebrew is a package management system written by Max Howell that simplifies the installation of software on the Mac OS X operating system. It is a free/open source software project to simplify installation of other free/open source software packages. It is similar in aim and function to MacPorts and Fink. The installation is very straightforward, simply run the

Read More…

Unix Command: man

Recently I have been working more and more frequently in a *nix environment (thats not to say I haven’t spent my fair share of time in the terminal). While running a few commands that I ‘just know’ how to run, I dug into them a bit deeper to find out their true functionality and get more acquainted with them. As I

Read More…

Software Architecture “ilities”

I recently posted another ‘Define’ article (this is where I expand on an acronym) based on NFR’s in which I mentioned the idea of software ‘ilities’. In software projects we must take into consideration ‘ilities’. Prioritising them is necessary because the client will inevitably demand that the project adheres to all of them (within reason).

Read More…

Evaluating the Status of a FOSS Project

Throughout my career I have worked with more open source projects than I care to remember. Some were good, some were great, some were poorly documented, and some were plain fun to use and some required stringent security analysis due to the application leveraging them. However the biggest concern of any developer incorporating a FOSS project into

Read More…

Define: FOSS

Free and open source software (F/OSS, FOSS) or free/libre/open source software (FLOSS) is software that is both free software and open source. It is liberally licensed to grant users the right to use, copy, study, change, and improve its design through the availability of its source code.   &nbsp

Read More…

Language Agnostic: Unit Test Principles

After spending a few days churning out unit tests for a recent project of mine, I took a step back and asked myself: What are the properties of good unit tests? Tests are seen as something of a burden that devs have to do to keep business happy, but in reality they can save countless

Read More…

Define: NFR

NFR stands for Non-Functional requirements. These are often associated with the state of the system and not with the functionality that the system has to offer. NFR aren’t something that your system does but rather something that your system is. General ‘ilities’ of the system such as scalability, interoperability, maintainability, portability, performance and security fall under the category of

Read More…