One of my favorite books depicts a southern farmer who boasts how his animals do all the work (maintaining the grass by eating it, etc,…
Avoid the MySQL password function
MySQL offers a convenient method to store user passwords, encrypted in a database table. You use the password function both to store a password, and…
Expires header and dependent content-types
I generally set expire headers for CSS, JS and images according to Google's page speed recommendations, which at time of writing is one month. This…
Eclipse Remote Systems FTP issues
I don't normally drift outside of the coding skillset, but this one has irked me for a long time, and I know other's are feeling…
The .htaccess performance penalty
Direct from Apache's documentation: When AllowOverride is set to allow the use of .htaccess files, Apache will look in every directory for .htaccess files. Thus,…
Loading jQuery asynchronously
If you're reading this, you probably are already familiar with loading your JavaScript asynchronously, to improve your web page load times. And, you have probably…
Page speed is calling out Google hosted Javascript libraries
You may have done everything you can to optimize the JavaScript resources that you host on your server, but if you find yourself using a…
Apache not decoding %3F – causes 404 errors
This happens on only one of my servers, and I haven't been able to nail down the problem. It feels like a configuration related issue,…
A CDN can improve website performance on the cheap (or free)
If you've used Google PageSpeed, or Pingdom's Full Page Test, you may have learned something you didn't already know. That is, that web browsers don't…
Increase the phpMyAdmin timeout
Yeah, this might not follow all the security best practices in the world, and if your database contains highly sensitive information, you should probably close…