Those who remember using, or still use, cachegrind to profile their applications and look for bottlenecks, may be interested to know that following its BETA launch at the end of 2014 Blackfire.io is now up and running with all the functions you need to profile web applications. It’s perfect for finding functions that need to be optimised, working out what’s being called 8,000 times too many and quickly spotting where DB queries need to be reduced or refactored. As we […]
Function Purity Pro Tip This is the first tip in my Programming Pro Tips series, which I hope will help you improve the overall quality and maintainability of your code. This first tip is particularly pertinent to developers creating web applications in PHP but could easily apply to other sectors. This tip focuses on the subject of control flow and function tasks in applications. In order to explain, two types of functions need to be defined: Utility Function This is […]
I’ve created a WordPress project boiler-plate to kick start WordPress development projects. Bootstrap WordPress boilerplate includes: Bootstrap theme Bootstrap 3.3.5 Jasny Bootstrap 3.1.3 Bootstrap Responsive Toolkit 2.3.0 Font awesome 4.3.0 My Favorite SCSS File structure Gulp file with tasks for Transpiling + Combining SCSS Transpiling Coffee Script Compressing Images Compressing + Combining JS Behat front-end testing kick-start (via composer) Striped down ‘bare-bones’ template with bootsrap Basic robots.txt Default .gitignore Universal Analytics Code (Async with client ID placeholder Convenience script to […]
D3.js is an awesome tool for data visualisation. If you haven’t heard of it before D3 is described as: a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG, and CSS. D3’s emphasis on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation. In keeping with my current space / astronomy obsession, […]
It’s been nearly a couple of years since Our ultimate development setup and since things change quickly in web development, it’s time to show what we are using for web development at the end of 2014. 1. PhpStorm (still) Storm is now on version 8. and it’s still awesome. For our team, PhpStorm is still the best all round IDE for web development. This release has added some great new features: Blade templating, Behat integration, improved debugging, cleaner interface and loads of […]
4 Obsolete Website Elements People Won’t Let Go. “You know what really gri​n​ds my gears?!” The following are elements I’m bored of seeing. Left over relics that people thought would be useful back in days gone by, before the web evolved in to what it is today. Relics which no longer make a meaningful contribution to UX in 2014. Why can’t we let them die? Content Carousels Carousels may seem like a good way to cram more content and call […]
Above. Node only has one Zombie package but lots of bacon. Dear Industry, You’re confused. Different platforms adopt their own definition of these terms. Joomla uses ‘Module’ to describe dynamic elements which can be assigned to template positions. WordPress calls this a ‘Widget’ and October CMS calls this a ‘component’. In Drupal, a package which extends the functionality of the application is called a Module, which Joomla would call a ‘component’. And the Drupal equivalent of a Widget? A “block” […]
Web interface and front-end development are getting pretty standardised these days. And with the proliferation of front-end frameworks like Bootstrap, Foundation and Angular this is evermore the case. Firestarter I often think that people are most creative when constrained by limitations. They work out ways to achieve what they are trying to do within the boundaries and this nurtures more creative thinking than if the creator had unlimited tools at their disposal. It also leads to the creation of unintentional […]
Productivity Factor When it comes to estimating development timescales we are nearly always wrong. Why? When a developer is asked how long a bespoke piece of work is going to take, they are being asked ‘how long does it take to do this thing you’ve never done before?’ The best we can do is guess based on past experience, a guess for a small piece of work is normally slightly wrong, a guess for a large piece of work, in […]
Over the last few months I have been working on and off creating a node module designed to easily expose a RESTful interface to MongoDB powered data layer. I will talk more about this module soon (it will be open source) but let me say that at some point along the way I became obsessed with achieving the perfect RESTful implementation. At points my obsession may have bordered on martyrdom, but alas (or thankfully) I have now come to realise […]
As is the case for developers the world over, my work requires me to wear all sorts of technical hats from day-to-day. Fairly frequently for me this includes a big-ass ‘server maintenance and security’ sombrero. Many who manage hosting for a sizable client-base on SLAs may find that they need a quick way to periodically test the health of their websites, checking for security alarm bells. To this end, I have developed a ‘hack radar’, a small set of tools […]
Image Credit: John Shier Web application development is an arena that is fairly easy to get into if you are equipped with the right sort of mind and mentality. In most cases it requires no formal education on the subject at all and the majority are self-taught. In fact, my thoughts are that the industry is so fast-moving, that by the time schools can create a ‘relevant’ syllabus, it’s probably, well; irrelevant. Online learning resources such as code-school, treehouse and […]
Node JS services are uniquely positioned to take advantage of multiple CPU cores and multiple servers for easy horizontal scaling. Theres are a few different configurations you may which to consider to take advantage of this and each are suited different situations depending on levels of performance and redundancy required, and also the number of individual services you want to make available on your server. In this post: Service = An actual service your server is providing, E.g. a Rest […]
The commercial side of things doesn’t always come naturally for many programmers and architects, a large portion of us lack interest in the business side and would prefer to hone our technical skills. However I believe a commercial understand is necessary for developers to be really good at what they do and thats why the aim of my blog is to cover both the commercial and technical side of key areas in development. In this vain I wanted to write about the […]
If you are a web applications developer in 2014 are you are still designing integrated systems you are probably doing someone, somewhere an injustice. Unless the application you are building specifically has to be integrated as a single code base, you are likely better off making a few design updates and rolling out a more flexible, distributed system. Distributed systems have been around for years but have only in the last few hit full-scale adoption on the web industry. Heavy hitters like […]
[yframe url=’http://www.youtube.com/watch?v=rRZs45cROvs&feature=youtu.be’] I recently gave a short talk at the Exeter Web Meetup about a better social web. I have been part of a team developing a generic social platform for websites. We aren’t aiming to be “the next Facebook”, it’s just a set of components that can make a website more social at it’s very nature. The reasoning and research that has gone into this work has led me to realise that we have an over reliance on the […]
My absolute favourite thing about the internet is access to free education and information. It’s pretty easy to find out almost anything you could want to know and one of my top evening hobbies is absorbing as much information as I can from books, websites and super interesting YouTube channels. Here are some of my favs: Vsauce – Mind-Blowing Facts & The Best of the Internet. Numberphile – Videos about numbers – it’s that simple. Engineeringguy – Oddball videos on engineering. Veritasium – The science video blog from atoms to astrophysics! […]
Step One Download and install PHPStorm, and MAMP. (See http://56kilobit.com/?p=1) for links. Step Two In MAMP File -> Edit Template -> PHP -> PHP 5.x.x.ini Add this to the XDEBUG section at the bottom: [code] [xdebug] zend_extension=”/Applications/MAMP/bin/php/php5.3.14/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so” xdebug.remote_port=9000 xdebug.remote_mode=req xdebug.remote_handler=dbgp xdebug.remote_enable=1 xdebug.remote_connect_back=1 xdebug.remote_autostart=0 xdebug.remote_log=”/var/log/xdebug.log” xdebug.overload_var_dump=1 xdebug.trace_format=1 xdebug.show_exception_trace=1 xdebug.default_enable=0 xdebug.profiler_enable_trigger=1 xdebug.max_nesting_level=500 [/code] Check the PHP version matches your selected MAMP PHP version exactly. Change the path of no-debug-non-zts-20090626/xdebug.so to match the one in your folder (Applications/MAMP/bin/php/php5.3.14/lib/php/extensions). Save and stop/start MAMP. Step Three Generate […]
When most web developers start out, all they need is a copy of the infamous Notepad++ and a native LAMP stack with phpMyAdmin to get coding. For some web developers PHP will be a tool used to simply enhance websites, however the majority of good developers will eventually find themselves firmly ensconced in the realms of what I would call “Web Based Application”. While the Notepad++, phpAdmin setup maybe enough for the ‘webs site enhancer’, I am of the opinion that web application development […]
Hmmm. It looks like your browser is out of date.

An out of date browser can make navigating and using our site difficult and may mean that some functions aren’t available to you. It also represents a security risk. To get the best experience from our site you should update your browser to the latest version.

Updating is quick and easy. To find out how to update your browser all you need to do is click on the following link: outdatedbrowser.com. If you have any queries please call 00000 000 0000.