Preventing contact form spam

If you have a contact form on your website, you've probably been the recipient of spam or junk messages. Unfortunately these forms are easy to abuse, and there are automated…

Configuration file options

For quackjson (a Python implementation of a BBS client) I needed to create a configuration file which allows the user to specify their login credentials and how they want the client…

Writing schedule

One of my goals for this year is to create and stick to a writing schedule for all of my non-personal blogs - currently PHP Developer, Politics Geek and Insurance…

Brandon Savage’s PHP tips

A couple of weeks ago I spotted Brandon Savage on Twitter, offering a weekly tips email about PHP development. I was a bit dubious at first, as these sort of…

Newsbeuter for feed reading

Although I haven't used Google Reader for some time, the announcement that it was shutting down as part of a 'spring clean' at Google meant that I was exposed to a…