108 Posts

April 2019
pyenv install with zlib

I've lost count of the amount of times I've had to research this on a fresh install or different machine. Since python is not a l...

September 2017
Rails Data Migrations

Migrating a schema when deploying code is a fairly solved problem in Rails, and many other languages/frameworks. What hasn't quite be...

September 2017
Git push without a named remote

Although what I'm about to talk about is well documented[1], I've never come across it in my 10 year career using Git. I stumbled...

September 2017
Rails + Webpacker Deployments on Heroku

A few weeks ago I decided to take the leap and implement Webpacker into an existing Rails project. Initially this seemed like a great ide...

May 2017
Write only S3 permissions

Time and time again I've found myself needing to limit access to S3 repositories via write-only. Read-Only access is widely used for ...

January 2017
PostgreSQL Create User

I've lost count of the amount of times I've forgotten the syntax for creating users, databases and permissions within postgresql....

November 2016
Install Nokogiri on macOS Sierra

Today, I made the mistake of running gem pristine while helping someone debug an issue. Not only did this not resolve their issue, but no...

August 2015
Remove Deleted Git Branches

Due to using to Github flow quite heavily, I end up with a lot of rogue branches locally that I'm always forgetting to cleanup. The s...

August 2015
PostgreSQL: Distinct JSONB Keys

I'm currently building an application which makes heavy use of JSONB in PostgreSQL. After a while of searching I was unable to find a...

July 2015
Docker Dotenv

Today, I was preparing a Docker container for production release and found managing environment variables was a bit of a pain. As a ruby ...

July 2015
Hosted GoStatic now runs on OpenResty

I spent a lot my time this weekend looking into a long overdue infrastructure upgrade for all of our hosted GoStatic sites and found some...

May 2014
GoStatic Search API Beta

One of the huge down-sides of having a static site is the in-ability to do search. It's not impossible, but the solutions out there a...

April 2014
Model Errors in EmberJS

Today, I spent longer than I feel comfortable admitting solving a supposedly simple problem in my EmberJS application. Since this particu...

April 2014
April 2014 Redesign

I've had the same dull blog layout for years. Even in my transition from Blogger to Wordpress and finally Jekyll I've still kept ...

April 2014
Nginx Tap moves to Homebrew Organization

The community tap I created for custom Nginx modules within Homebrew just got accepted into the official Homebrew organization. This is h...

January 2014
Jekyll with Boxen

Not only does Jekyll power this blog but it has been one of the main tools I use on a daily basis for almost 2 months now. Due to it'...

January 2014
Jekyll is no longer Hyde-ing

After convincing myself all year that I will finally Go Static and get rid of my custom CMS for this blog, I decided to finally launch it...

October 2013
My First Week at Givey

As some of you may know I recently left my position at Performance Horizon to take on a Senior Developer role with Givey. This is a quick...

October 2013
SSL All The Things

Lately there has been a lot of buzz around security when using web services. Everyone seems to be very paranoid all of a sudden and encry...

July 2013
Server Backups with s3cmd

I've been asked a few times how I back up my servers at Digital Ocean. It seems this topic is quite popular due to the fact they just...

June 2013
Homebrew Nginx Tap

I've recently been working on an Nginx Tap for Mac OS X Homebrew and now I think it's time to share with the world. Originally I ...

June 2013
Open Source Challenge Complete!

For those of you that follow my blog reguarly, a few weeks ago I announced I was undertaking my Open Source Challenge. Today marks the 32...

June 2013
StatsD PHP Library

Today, I just created a StatsD PHP Library and released it on Github . Before you start with "but there are already loads..", I...

May 2013
Open Source Challenge

It's bank Holiday Monday and I think it's about time for a new challenge. I've been working a lot with Open Source lately, bo...

May 2013
Why I use Digital Ocean Hosting

In the last few years I've used a lot of hosting providers. Until now I've never actually found any that have been able to satisf...

May 2013
Why I learned Ruby

For a while now I've been hearing a lot of people taking about the programming language Ruby. Not that it's anything new, it just...

April 2013
Using Cloudflare Page Rules

Today, I decided to explore Cloudflare features in a bit more depth. I currently manage quite a few applications, both personal and busin...

February 2013
MongoMinify Launched

Today I finally released the beta version of my MongoDB compression library for PHP. There still a lot of work to be done, but it's s...

December 2012
Sublime Text 2 Snippets

The other day I stumbled across an amazing feature of Sublime Text 2 that doesn't require a plugin to work, yet somehow after 1 year ...

December 2012
My new Gaming Rig Specs

I've had a few people asking about the specs on my new gaming machine, so here they are! This upgrade should have came about a year a...

December 2012
Install RabbitMQ on Ubuntu 12.04 Quickly

I've put together this simple install script that I compiled from the various tutorials on the rabbitmq site. It's not intended t...

November 2012
Awesome Tools I've Been Using

I recently just passed my probation period and got hired full time at Performance Horizon which means I get to work on awesome technology...

November 2012
Free Hosting with Github Pages

I've been meaning to try out Github Pages for quite a while, but never had a project that was suitable as nearly all of my work is bu...

October 2012
No more Wordpress!

I've decided that having my Blog hosted on 3rd party software is no longer an option. After 3+ years of posting originally on Blogger...

October 2012
Beware of Hamachi IPv4 Subnet

Today I found a major flaw with a piece of software I use heavily every single day, as do a lot of people I know. Logmein Hamachi is curr...

September 2012
It's September already?

Where has the time gone! I've been working at my new job for almost a whole month now and it still feels like I've just started! ...

July 2012
Recover from Interrupted Ubuntu Release Upgrade

Today I finally got around to upgrading my home media server to Ubuntu 12.04. I'd been putting it off for a while, mainly because I w...

July 2012
Installing GeoIP on CentOS

I mainly write these blog posts for my own personal reference, so I don't forget how to install all of these various packages, but al...

June 2012
MongoDB UK Workshops

Today, I attended the workshops leading up to the MongoDB UK event and learned so much from the amazing solutions experts over at 10gen. ...

June 2012
Install MongoDB on Ubuntu 12.04

Here is a small script I whipped up while I was bored in the Travelodge waiting for #MongoDBUK. It's basically a drop in script to ma...

June 2012
June 2012
How to Rename a Field in MongoDB

Since MongoDB is technically a schema-less database, there aren't fields or columns that you are used to in things such as MySQL, and...

April 2012
JavaScript Racing Game Prototype

I've just finished working on the first prototype for my up and coming racing engine written in JavaScript. It's nowhere near fin...

April 2012
Using Curl to Download Files via Command Line

I recently just discovered that Mac OSX doesn't have wget functionality, and that's one of the most useful things about the comma...

February 2012
Order By Folders First in Mac OSX Lion

A pet hate of mine on Mac is the inability to order directories with folders at the top. It makes perfectly logical sense to put things i...

February 2012
Adding User to a Group on OSX Lion

It's quite annoying how non-simple OSX is to Linux, so nearly all of the commands I'm used to don't actually work anymore so ...

February 2012
Mass Effect Addiction

I'm so excited for the launch of Mass Effect 3 that I felt like I had to write about it to get it out of my system. I was extremely d...

February 2012
Deploying Websites with Git

Are you still using FTP for website deployment? Don't. If you're like me, and think there isn't a better solution then look n...

January 2012
Varnish Cache Accelerator Introduction

Recently I've been looking into a lot of Technology and Software to improve the performance and scalability of some of the projects I...

December 2011
Installing CURL on Ubuntu with PHP5

This is a quick post explaning how to quickly install the CURL module on PHP5 in preperation for my next few posts. Below is the code to ...

November 2011
Upgrading to Ubuntu 11.10 using Command Line

Here is a very simple script to update from Ubuntu 11.04 to 11.10. I have just launched a few new servers and this was the first thing I ...

November 2011
Installing NodeJS on Ubuntu 11.10

This is a quick post demonstrating the quickest way to get node.js running on Ubuntu 11.10. I've tested this on both Desktop and Serv...

November 2011
Introduction to Node.js: Building a Web Server

Lately I've been looking into different technologies for making real time communication better for my sites, games and apps. Node.js ...

September 2011
Pixel Perfect Collision Detection in JavaScript

I'm working on a simple game to refresh my canvas knowledge. I decided to built the game entirly in JavaScript, which isn't easy ...

August 2011
Updating Timezone on Ubuntu Server

Here is a quick snippet for updating the time zone on Ubuntu Servers via the command line. This will be part of the series I'm writin...

August 2011
Moving to Open Source

Recently I've been thinking a lot about open source, and whether or not it's a good idea for me. I can see why it benefits groups...

August 2011
Installing Memcache on Windows

This week a colleague needed to work from home to finish up some code for our new internal site launch next week. Unfortunately, since we...

August 2011
Codecademy: Learn to Code the fun way

This morning, I just stumbled across a cool site which teaches people who to code, without it being an entirely tedious task. The site tr...

August 2011
Removing Password from SSL Key

I recently just setup a new SSL Certificate on marcqualie.com and ran into a little glitch that wasn't explained in the setup process...

August 2011
Streaming Media from Linux to Xbox 360

Today I woke up with the vision of watching Dexter while working on my laptop because I'm sick of sitting at my desk. This left me wi...

July 2011
Shutdown Ubuntu Server 11.04

This is just a quick post to hopefully help you out if you're having the same problem as me. I recently purchased a HP Proliant Micro...

July 2011
Advanced Object Binding in JavaScript

For way too long now I've taken advantage of the amazing bind method build into the Mootools core framework, so when I started using ...

July 2011
Improving SSH Security on Linux

This is a quick post to inform you of some ways to keep your Linux machines well protected from hackers and bots. Today I realised some o...

May 2011
Installing 64-bit Flash Player on Ubuntu

I recently just dusted down an old laptop to use as at work, and I felt Ubuntu was the smart option since I'm becoming very fond of L...

May 2011
Secure Proxy with Squid and SSH Tunnels

Today I decided to build myself a small, yet very secure proxy tunnel to use at work. Not that I have anything to hide, I'd just pref...

April 2011
Molehill Gaming Launched!

Hey guys! It's a while since I posted, but it's all for a good cause, I promise. Recently I joined forces with a friend and we be...

March 2011
Laser Beam Techno Harp

I really want to make something like this so I thought I'd share.

February 2011
TouchEvent in FlashDevelop?

Today I received my Kinect Cable (oh yeah!) so I could start playing around with some hacks. Unfortunately, I was in a lazy mood, so Inst...

February 2011
Installing Varnish Cache on CentOS

Today, I installed Varnish Cache onto my Amazon EC2 server to test drive it's performance. I had recently discovered sites such as Fa...

February 2011
Detect Selected Radio Input in JavaScript [Mootools]

A collegue brought up an interesting subject today at work; how do you detect which radio button out of set has been selected in JavaScri...

February 2011
APC (Alternate PHP Cache) Drawback

Today I was experimenting with various caching techniques in PHP and Apache to try to speed up my site, while still keep all of my conten...

February 2011
Flash 10.2 gives web video a Boost

Thanks to Adobe's newest release of Flash Player 10.2, web video will use much less of your processor, and improve battery life on mo...

January 2011
Go To Google, Type in Google..

We've all met people like this. I meet meet people like this on a daily basis due to the nature of my work and I think they should al...

January 2011
January 2011
Microsoft Mocks Google using Failed Esperanto Language

Below is an article from MSDN, where a Microsoft employee openly mocks Google's decision to no longer support H.264 video which I wro...

January 2011
Google is to drop support for H.264 video format

Google has announced that it will be dropping support for the H.264 video format in favour of more open standards. They will be pushing p...

January 2011
Drawing Minecraft using HTML5

I would love to be able to draw like this. This must have taken the guys hours, and it is clearly a masterpiece!

January 2011
Kinect Hack: Real-time Motion Capture

This hacker is using a blender model and Kinect to replicate his movements in real-time. Quite impressive how accurate it is.

January 2011
Kinect hack Midi Controller

Not really much to say about this one apart from how clearly awesome this thing could be. I'd loved to be able to compose music witho...

December 2010
Kinect hack for World Of Warcraft

As many of you may know, Xbox Kinect has been hacked many times for various different reasons on the PC. Now the millions of gamers can p...

December 2010
Google Wave is now Apache Wave

Thanks to the Open Source Community over at Apache, Google Wave will now be able to live on in it's new home where many eager develop...

November 2010
Convenience vs Performance in PHP

PHP, while known for it's simplicity and scalability, is an overall slow and memory consuming language. I my 5 years of programming, ...

November 2010
Canvas GPU Acceleration in Chrome Fails

As you may know I recently relaunched Squiggle Canvas. Whilst re-coding the site I noticed the entire engine was very glitchy, and the Ja...

November 2010
October 2010
Pagination with PHP and MySQL

This is a quick tutorial on how to code basic pagination using a combination of PHP and MySQL. Pagination is basically splitting a list o...

October 2010
Pixel Perfect Collision Detection AS3

Hi guys! It's been a long time since I've posted on here, but I've been a very busy little worker bee! I will explain more ab...

October 2010
Create Symlinks using PHP

Did you know you can also create symlinks using PHP? Now when you have a lot of files you want to symlink in bulk, such as Apache project...

September 2010
Ever wanted images to be smaller and load faster?

Over at Google they are always trying to make the internet faster, and just generally better for all of us Speed Craving Humanoids. They ...

September 2010
September 2010
Mozilla Concept Phone

If this were a real phone, I would most likely sell everything I own just to have one. Seriously, amazing.

September 2010
ItelliType Pro Fails with Spotify

Recently I purchased a new Keyboard and Mouse desk set, which I have been very impressed with so far. It's a Microsoft Wireless Desks...

September 2010
Symbolic Links in Windows 7

Today I decided to link up some servers so I could develop faster and they would be almost identical. Unfortunately, symbolic links aren&...

July 2010
Google Chrome: Canary Builds

Today, I read a post about the new version of Chrome which Google have released. It's basically a secondary browser, which can be ins...

July 2010
3D In Flash using Away3D Engine

Hey guys! Been a while since I've blogged but it's worth it, honestly! Lately I've been so busy working on so much stuff I ba...

June 2010
Internet Procrastination At It's Best

I do this on a daily basis, looks like I'm not the only one!

June 2010
Classic Coder Excuse

This makes me want to start working with compiled languages a lot more! Not that I would do this, of course..

June 2010
iPhone OS 4.0, Oh Please!

So today, Apple decided to release what they call an "upgrade" to their iPhone OS (now named iOS). First of all, this may be an...

May 2010
Google Chrome: Faster Than A Speeding Potato

Out of all the random things Google have come up with to demonstrate their products, this has to be the most fun I've seen. While we&...

April 2010
Will the web become self-aware?

Anyone else ever thought to themselves that The Terminator movie has a hint of truth to it? Clearly technology is becoming more advanced ...

February 2010
My First Blog Post, Ever!

So I finally decided to start blogging, yay for me! Took me long enough. I got annoyed at myself for putting everything off, always sayin...