Linux and PHP web application support and development (Bromsgrove, UK)

tel: 0845 0046746

3D Printworld — new e-commerce website

3D Printworld‘s new website recently went live. We wrote it from the ground up, applying a theme provided by an external designer. It has a responsive design so should look good on mobile and desktop platforms and an integrated CMS for administrators to update content through. It uses PayPal for payments. So, if you need […]



9 years old (last month).

Our 9th birthday seemed to slip by quietly last month. Whoops.


Integrating a Google drive spreadsheet with WordPress

Recently, the Bromsgrove Hockey club asked if they could show upcoming matches / fixtures / results on their website. Here’s a short summary of how we integrated Google Drive/Docs Spreadsheets with WordPress.

, , , ,


Filesystem Magic on AWS with EBS volumes and BTRFS

One consistent pain has always been resizing a filesystem without rebooting on Linux. Thank fully in recent years, this has changed with filesystems like BTRFS – where you can do something like the following….

, , ,


xdebug – profiling a really long running PHP application (and handling really large cachegrind output files)

Normally, profiling a PHP application is pretty straight forward thanks to the great xDebug . Normally, we’re looking at profiling a slow page (taking 5-15 seconds to load) and improving it’s performance down to a sub-second response. Such┬áprofiling can produce relatively large output files – e.g. in the order of a few hundred megabytes. Unfortunately […]

, ,


Speeding up subsequent SSH connections to a host

Somehow we’d not come across this little “hack” before, so perhaps others haven’t…. Anyway, rather than recreating a new TCP connection to a host, SSH can multiplex the traffic down an existing connection to that host. This results in subsequent ssh connections opening quicker. The magic stuff is – * Edit ~/.ssh/config * Add in […]

Read more... – new wordpress based image gallery site

On lower resolution screens the design moves to a single column layout with vertical scroll.

A new wordpress site we’ve architect-ed has just gone live –

, ,


Zend_Validate_StringLength and iconv_strlen

One customer parse a substantial amount of (somewhat poorly formed) XML on a daily basis. (I say poorly formed as the prolog does not specify a character set — i.e. the file starts with <?xml version=”1.0″> and not <?xml version=”1.0″ charset=”UTF-8″> and different files will contain either UTF-8 or ISO-8859-1 text depending on the data […]


Saving memory under Linux when using virtualisastion

If you’re running low of memory on a server, there may be scope to free up memory through use of ‘ksm‘. (Note, that the kernel will start looking for memory to de-duplicate if KSM is turned on AND there are some processes running which have notified the kernel that they’re candidates; ‘kvm’ does the latter.) […]


PHPUnit and PDO – max_user_connections reached

We have a set of PHPUnit tests running against a Propel/PDO application. Recently, with a recent increase in the number of tests, we’ve found that we’ve been hitting MySQL’s max_connections or max_user_connections limit (see /etc/mysql/my.cnf on the MySQL server).

, ,


‹ Previous Posts

FB G+ Twitter