DNS is obviously a very important component of the Internet. Many people understand DNS works much like a phone book, where finding a phone number for a person requires looking for their name in an alphabetical list and then using the number adjacent.
After hours of playing around with ssh, sudo, user permissions etc. trying to deploy a PHP website from a Github repository, the best solution I could find was to not use Github at all. I am a big fan of Git and Github, but automatically deploying a website from a Github repository was very fiddly and in the end more trouble than it was worth.
Installing PHPUnit using Pear on Mac OSX was such a process I have to write it down. If you want to get started with unit testing in SilverStripe you need PHPUnit installed.
I have started working through the WebGoat tutorials from OWASP (Open Web Application Security Project). The first tute covering HTTP splitting and cache poisoning was difficult enough for me to start with, and in fact I could write a whole post on installing WebGoat and WebScarab which was an achievement in itself.
Non capturing groups are very handy, recently I was working on grabbing a portion of xml out of a document. After trying the PHP 5 xmlReader() class I opted for the quick and dirty Perl regular expressions for this script.
This was such a mission to fix, it deserves a post. Starting with a very basic login page using standard html form elements, a couple of text inputs for username and password, a checkbox to accept terms and conditions and a submit button. The login system would work fine on very early blackberries version 3.7.0 - those really old text only browser versions. It also worked on the latest 9530 blackberries version 4.7.0.
Iconv is a useful tool to convert the encoding of given files from one encoding to another - which comes in very handy if you want to migrate that old MySQL 4 database to a hot new MySQL 5.
Ever had issues creating an htaccess file on your windows machine? Well heres a quick way to create it and to make sure your .htaccess file is valid for the system.