PHP web application development company (Birmingham, UK)

tel: 0845 0046746

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.

, , , ,

Read more...

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….

, , ,

Read more...

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 […]

, ,

Read more...

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...

Flashbak.com – 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 – Flashbak.com

, ,

Read more...

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 […]

Read more...

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.) […]

Read more...

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).

, ,

Read more...

require.js – an introduction

When creating more complex web applications, you end up with more and more Javascript, which can quickly become difficult to maintain. RequireJS is one approach to helping solve this (and other issues).

, ,

Read more...

iPXE Network booting for ISO images

Historically we had a ‘normal’ pxe boot server in the office (DHCP server points to a TFTP server and specified a pxelinux file to load) from which we could choose to install various distributions. The only problem with this is that it was initially limited to the a specific release/version of Debian/Ubuntu (as we’d just […]

, , ,

Read more...

‹ Previous Posts