I’m nearly four years on from starting with my current employer. This is quite an interesting phase of my employment, in that sites that I worked on when I first started are all reaching the stage where they’re being refreshed, upgraded or completely rewritten. What this seems to be doing is highlighting to me that there really is such a thing as Technical Debt and it really can be as evil as people say it can.
Discouraging the accumulation of Technical Debt
December 12th, 2011Working from home: Month 1
August 31st, 2011I have just completed my first full calendar month of the new teleworking arrangement I have with my current employer, so feel it is a good time to write down some of my feelings and detail my experience thus far. My arrangement is to work remotely for 3 days of my 5 day week, travelling in to the office on two consecutive days, typically Wednesday and Thursday. This tends to break up my week very nicely in to easy chunks: Monday-Tuesday at home, Wednesday-Thursday in office, Friday at home, and then the weekend. This in itself is one of the biggest advantages in my view; I get 3 ‘fresh starts’ per week where I can be ultra-productive. Rarely do I now get ‘that Friday Afternoon feeling! Following are some tips I have if you are about to start working remotely (and a lot of these points apply to freelance workers too)
Read the rest of this entry »
Distractions – a useful Firefox plugin to stop them in their tracks
March 31st, 2011At work, I occasionally found that if faced with a particularly mundane piece of work, or something that dragged out for a long period of time, it would be quite easy to get distracted by popular sites such as twitter, BBC news, engadget and various other tech-related but not entirely productive sites.
I thought “someone else must have had this problem”, and if they hadn’t, I was going to write a Firefox Add On to help maintain productivity by blocking distraction web sites. But, alas, someone has beaten me to it! I have found and installed the LeechBlock Firefox add on and it is fantastic. I’ve added my favourite sites to a list of sites to block at any time that isn’t a break time (so here, 9-11, 11.15-1, 1.30-3, 3.15-5) and it’s proven very effective.
Linux: How to recursively download contents of an FTP directory
March 8th, 2011I was looking for a quick way to recursively download the entire FTP directory for a site that we are transferring. This was, I found, the easiest and most straightforward way:
On the command line interface, assuming you have wget installed, type:
wget -r ftp://USERNAME:PASSWORD@mysite.com/
Hit enter and wait while it retrieves everything for you.
I did it this way because I didn’t want to download 4gb of data to upload again, so ran this command direct from the ‘production’ server with its stupidly fast internet connection. Hours and hours saved!
A problem with forms submitting using AJAX: how to resubmit?
February 22nd, 2011I’m a fairly regular user of the twitter web front-end, and of Facebook. Both of these have tremendously wide audiences and are hugely popular. Twitter recently attracted a bit of negative press from the technical community for replacing the old, fairly standard URL structure with one that uses ‘hashbangs’ and is fully dependent upon Javascript to serve the correct content. But I’ve another more user-centred complaint about Twitter (and Facebook) relying heavily on Javascript for fundamental parts of their apps (e.g. the ability to tweet, and ability to comment on stuff). That is the removal of the ability to ‘refresh’ or ‘resubmit’ a request…
Read the rest of this entry »
Does your website still need to be functional with Javascript disabled or unsupported?
November 10th, 2010We have recently been reviewing the amount of development time spent on projects, and have identified one area where a fair chunk of extra time is spent for relatively little gain: Ensuring that web sites are 100% functional with Javascript disabled. The general concensus on the web is that year on year, the number of people (even those technical in nature that browse w3schools) with javascript disabled is falling – but is this a decent reason to consider removing the true graceful degradation that most front end developers have been obsessed with for the last few years?
Read the rest of this entry »
Commenting code – a minor but invaluable investment of time
November 3rd, 2010I’m a strong believer in code being written in such a way that it is self documenting, but would not use this as an excuse for not adding in English language comments to go alongside the code. After all, comments add a tiny amount to the size of a PHP file and don’t slow down the application at all. Also, the English language comments alongside the code can be used to justify decisions or assumptions you have made, which might make the next programmer’s visit to the file a lot quicker and more productive.
Coding things the quick way – often a false economy
August 4th, 2010I have recently been tasked with making some changes to the central ‘library’ of code that an E-Commerce platform is based on. Essentially, the ‘models’ for this application are all in a central, shared location, and all of the ‘installations’ of the e-commerce platform have their own set of controllers and views that interact with these models. The changes I am making involve making the deletion of products reversible; so instead of actually deleting products and associated assets, a flag is merely set in the database; is_deleted = 1. This, at first glance, seems to be quite a simple task; alter the database tables to add the extra column in, and make a change to the central models in Model_Product::deleteProduct and any product ‘getter’ functions, eg Model_Product::getProductsByCategoryId. However, due to the way that the platform has been developed and individual customisations to the installations of that platform have been made, things aren’t quite so simple.
Some simple steps on the “front end” to reduce web page download time
July 14th, 2010A few years ago, page download time was a big focus for most web developers, as the majority of people connected to the internet were accessing through “dial up” connections, which we all remember for their awful connection noises and the horrific download speeds. But with the development of faster internet connections in the developed world, the focus on page load times has been sacrificed for nice looking graphics, chunky javascript libraries and massive CSS files. But there are some quick, simple steps that can be taken to keep all of the improved functionality and look of a web site but reduce the page load time a little.
Read the rest of this entry »
Are we there yet?
June 24th, 2010I recently stumbled upon a blog post at Joel on Software about ‘The Iceberg Secret‘ – put simply, Joel explains that non technical people will judge the completeness and effectiveness of an application on the GUI alone. You can write an amazingly complicated and involving application, put a basic unstyled page as the GUI and it will be assumed to be a very very early instance or to be simply terrible. Similarly, your user interface guy can put together a beautiful page littered with graphics – not linked to anything processing wise – and the project will be assumed to be ‘almost finished’ or at least ‘not far off’.