Advice, tutorials and tips for beginner and experienced software/web application developers
I was recently working on an ASP.NET web application for a client and came across an interesting 'hack' which I felt other people may find useful. The app I was working on was built by another developer some time before, who was absent at the time when I was fixing various bugs and functionality issues. The problem I had was he had used the "OnSelectedIndexChanged"...Date Published: 24/06/2009 13:21
A short while ago I wrote an article about using stored procedures in MySQL and extending MySQLi in PHP to execute them. I'm now going quickly cover some more advanced techniques you can use to reduce the amount of data transferred between database and application....Date Published: 10/06/2009 14:22
Until recently I had always use the generic MySQL functions included with PHP for connecting to my databases. This stemmed from being taught to connect to databases this way and never really needing an alternative. On a new project I am working on I decided to take a look at the MySQLi (MySQL Improved) library. Most of the functions remain the sam...Date Published: 28/05/2009 13:13
One of my primary uses of Python in the business environment is to produce reports from various data sources. The humble spreadsheet has become one of the most widely used file formats within business for its flexibility and scalability. Having the ability to produce spreadsheets using an automated system can be useful, as they can be easily integ...Date Published: 25/05/2009 11:41
The Internet has become so ingrained in modern life that it is now possible to find almost anything within its pages. These pages are of course written in such a way that they can reach many different people on many different platforms. This common standard (or as standard as its going to get anyway) is connecting people who would otherwise be inc...Date Published: 24/05/2009 13:27
Recently I have checked through my server logs and have come across some rather strange requests, originating from a variety of IP addresses. The requests came through with either an innocuous or non existent user agent and had very strange variables in the query string. Immediately I recognised these as an attempt to perform a cross site scriptin...Date Published: 20/05/2009 17:42
Being primarily a LAMP developer I have spent many hours customising my sites' URLs using apache's excellent rewrite engine. When I moved over to .NET some time ago I presumed this to be a default feature here too but I was mistaken. To work around this problem I created a simple HTTP module which can be easily be added to projects and extended as...Date Published: 19/05/2009 10:09
When working on a site recently I was asked to move all the media of the site onto a CDN (content delivery network) as the bandwidth usage on the site was far too high. It was a site I built for a well known client as part of a larger advertising campaign (the whole thing included the site, TV ads, magazine ads etc). During the early stages of the...Date Published: 18/05/2009 14:39
In general I spend quite a lot of time building python applications and scripts for home and office use. These vary from scripts at home for cleaning up my music library to decent sized applications implementing business logic. One thing that can be quite difficult when carrying out these tasks is interacting with the code I am writing without bui...Date Published: 15/05/2009 12:37
I have recently spent a lot of time working through code written by my co-workers, in an attempt to add functionality to sites which were built some time ago. Its only natural for projects in web development to deteriorate after a period of time, they're usually built to very tight schedules and often don't last long before they are rebuilt or rew...Date Published: 13/05/2009 11:12
Most web developers work in a local environment prior to pushing their work onto a production server(s). The speed of these local connections obviously means sites can be loaded for testing quicker among with other examples but it makes it difficult for developers to test their sites on slower connections and also makes testing flash pre-loaders a...Date Published: 12/03/2009 23:30
Since the launch of Dev Explorer just over two weeks ago, I have been closely monitoring my site traffic to see where my users come from, what they come for and how long they stay. In this article I will reflect on using server side traffic monitoring to detect and prevent users who visit your site with malicious intent. Any site which permits use...Date Published: 11/03/2009 14:05
In the course of my work as a web developer I spend a lot of time cutting and slicing images using Adobe Photoshop. I certainly wouldn't say I was a photoshop genius or anything close for that matter but I know my way around it fairly well. Photoshop on Windows (I have never used it on Mac OS X but I have heard it performs better) is particularly ...Date Published: 10/03/2009 23:47
As an avid fan of all things Linux, I recently decided to take a look at what we're going to see in the next release of Canonical's Ubuntu distribution (to be released 23rd April 2009). I've used Ubuntu for many years and still opt to use it as my main operating system. It was the distribution which pulled me from the clutches of Microsoft and sti...Date Published: 10/03/2009 11:27
Its considered good practice to design your web pages to be as flexible as possible meaning the page can move and stretch to best meet the requirements of your user. This said not many sites actually offer horizontal flexibility in their designs so if a user has a particularly thin or wide screen resolution they are punished by scrollbars or a nar...Date Published: 09/03/2009 14:06
A major concern when building web pages using cascading style sheets is making sure that it works across multiple browsers. Anyone who has spent any amount of time trying to style a site to look the same in all browsers will know that this is not easy when dealing with Microsoft Internet Explorer. It difficult to list all the bugs across the varyi...Date Published: 08/03/2009 01:19
Uploading files via HTTP is becoming more and more common across the net. Whether you are developing a CMS for clients or colleagues to add content to their site, or you are building a profile based web app which permits users to upload their photos being able to upload files is a vital skill. This is a basic beginners guide to uploading files wit...Date Published: 05/03/2009 11:58
The core of server side web development is of course producing dynamic content for your users. Doing this has allowed us to serve to our users exactly what they are looking for, created at run time specifically for them. Doing this with HTML is very common across the world but a technique that not all developers are aware of or (most likely) don't...Date Published: 04/03/2009 00:55
Personal information security, one of the hottest topics on the lips of web professionals across the globe. How do we stop people not only hacking our sites and causing us inconvenience, but also how do we stop people accessing our users' personal information? Right now there is one major answer to these questions, SSL (secure socket layer). Prove...Date Published: 01/03/2009 20:08
A common problem when building database driven web applications with LAMP (Linux, Apache, MySQL and PHP) is that the MySQL functions to execute SQL queries (mysql_query, mysql_unbuffered_query) do not allow the execute of multiple queries from one string. In other database technologies it is possible to define multiple separate queries within one ...Date Published: 28/02/2009 21:55
I recently wrote an article containing a small PHP static class which could be used to generate a dynamic RSS feed for your site. Since atom feeds are increasing in popularity I felt it would be a good idea to also provide a small guide on producing an atom feed to go alongside your new dynamically generated RSS feed. You may have noticed that her...Date Published: 26/02/2009 14:18
RSS feeds can now be found in all corners of the world wide web and have become a important part of the typical web users diet. Allowing your users to quickly access certain parts of your site check for new content introduces many benefits which any informative website cannot live without. Maintaining RSS feeds can be quite tiresome as many feeds ...Date Published: 26/02/2009 00:08
Reducing file sizes and removing unnecessary HTTP requests made to your server can not only reduce the tole on your bandwidth but also improve the user experience when using your site. Sites laden with with large high resolution images and complex flash animations are becoming common place on the world wide web as connection speeds continue to inc...Date Published: 25/02/2009 23:06
When starting out in the world of Ajax it can all seem a little overwhelming and that first Ajax script you write can often become heavy with excess code. The main problem comes from having to write separate functions for each HTTP request you make, handling the response and dealing with the age old problem of will it work in Internet Explorer. To...Date Published: 25/02/2009 21:22
When developing websites one of the most frowned upon practises in the modern industry is the use of frames. Framesets are a massive no-no and are soon to be completely excluded from the W3C XHTML 2.0 specification. However, from time to time the only way to meet the clients demands is to use an iframe. We have all used them at one time or another...
5 Most Recent Articles
An article for users of MySQL databases describing how they can use advanced stored procedures to improve efficiently in their applications.
A guide for LAMP developers to using stored procedures in MySQL and extending the MySQLi class.
An introduction to using the xlwt and xlrd modules for python to interact with Microsoft Excel spreadsheets.
This is an introduction to making HTTP requests from a python script/application using httplib.