So, in an effort to save a little cash on hosting I’ve moved my stack on this server to a pure LNMP stack – no Apache, no Varnish. I’ve also introduced a new third-party caching solution called CloudFlare to see if we can take even more traffic off the server. With W3 Total Cache running as well the site is extremely fast, and this only on a 256MB box. Granted, I get about as much traffic as the 395 in the middle of the Mojave, but its fun running at this speed anyways.
One thing that I’ve found helped me out a lot with development snags is perspective. I know it sounds a little hippy and existential, but it really helps. It always used to frustrate the hell out of me when I’d encounter a bug in my code, but I realized that it was only frustrating me because I was taking it personally – “why the heck isn’t this working! I know I programmed it right!”. Once I realized that this was happening I began taking a different perspective – learning.
I know that I’m going to write some code that will break. I know that something might break because I made changes elsewhere. Knowing this, I take every bug now as an opportunity to learn. So, instead of getting frustrated and pissed at my IDE (Aptana) or my PHP because it isn’t doing what I told it to, I just start from nothing. I assume nothing, and start building up what I can know for sure. I begin throwing a bunch of debug, exits and echos all over the place and starting from the very beginning I try to discover where it might have gone wrong, establishing a base for what I can be sure of. From that base I can discover what went wrong and learn from it because I’m not distracted by my frustration.
Treat every bug like a puzzle to unravel and a chance to learn something new. In becoming a learning opportunity, it looses its power to piss you off 🙂
WordCamp San Diego 2011 is done! Looks like the state of the Word is going well with active WordPress installations up above 50,000,000 (30,000,000 wordpress.org and 20,000,000 wordpress.com sites according to Automattic’s numbers). This is an impressive figure that is pretty exciting to be a part of.
The panels for the camp were pretty good, although I was really hoping for a little more detail and breadth in the topics, but hey this is San Diego’s first WordCamp and really when it all boils down to it: we’re no San Francisco. Regardless of that, the atmosphere was great and the people were all excited to learn a few new things and be a part of the WordPress community.
Just finished setting the site up on a new server of my own on Rackspace’s Cloud. The site is much speedier now (sorry Media Temple, but your Grid Server system really is too slow for my tastes). Now I’m running on a new stack for super speedy response time:
- Ubuntu 10.04LTS
- Apache 2.2 running PHP 5.3.2 via mod_php
- MySQL 5.1.41
- A basic Varnish caching layer running in front of Apache
- nginx reverse proxy running in front of Varnish
I was recently writing a script to handle image uploads from users to an Amazon S3 bucket and discovered one of those great IE quirks. Normally when writing an upload script you check for MIME type validity to make sure that the file that a user is uploading is uploading the correct type of file you are expecting to process. Now, I know that MIME types can be spoofed, but it’s still good to check against them to determine file type and prevent a user from accidentally uploading the wrong type of file. In writing the MIME type validation script though, I ran across a problem where versions of IE less than 9 would not detect my MIME type properly.
So, one of the biggest flaws with WordPress is that, unless the author has written their plugin well, it will load on every single post or page on your website. This is often overkill as there will be some plugins that only apply to a specific section of your website. In an effort to provide greater control, lighten memory load and increase page load times I have written a very simple plugin to control what plugins load where.
Just got a new laptop – a massive upgrade over the desktop unit I had. Oddly enough for the industry I’m in and what I love doing, this is the first laptop I’ve ever owned. I purchased this laptop primarily to replace my desktop, but also to be a tool for my work. Since I bring my laptop into the office, I thought I’d take a look at a feature I had seen a few of my Mac buddies using with their Powerbooks – Synergy.
Hello world indeed! It’s been a long time since I’ve had any sort of personal web presence to speak of, but I’ve finally re-acquired my domain name from the squatters over at GoDaddy and I’m back!
There isn’t much here yet, but you can look forward to posts and articles sharing my knowledge and experience as a web developer and whatever else I think worthy of posting here. In the meantime, go checkout my about page if you’re interested in who I am or my projects section for work I’ve done and projects I’ve helped develop.