What separates a professional PHP web developer from a scripter?

March 15, 2007

I've just interviewed probably my 200th php/web candidate during the past three years that I've been involved with staffing. I've come up with some criteria that I look for to get a real "senior" level developer position filled. I'd say 98% of people don't seem to meet even half the criteria. How many do you meet?

Without further delay, here they are:

PHP5 vs PHP4
You should at least three major features that separate PHP5 from PHP4

Networks
You should be able to do some basic socket programming or at least understand how you would connect to other machines

OOP
You should have a deep understanding of OOP and be able to answer simple questions like how private and protected methods differ. You should understand the following concepts(not really critical you use all of them but at least know why you would need them)

    * interfaces
    * constructors
    * private, public, protected
    * inheritance
    * polymorphism
    * static methods


Database
You should know what a normalized database is, you should understand primary and foreign keys,

Design Patterns
You shouldn't say "huh?" when I mention design patterns. Again, not critical you use that many, but important you understand why they're helpful and know at least a couple.

Source Control
You should be well versed in at least one major source control system (ZIP FILES IN TEMP DIRECTORIES DON'T COUNT!). bonus points for being able to name at least one reason cvs is a pain in the ass.

Unit Testing
You should understand what unit testing is, and why it's important (bonus points for test driven design, knowing how to unit test javascript, or how to use selenium).

Part of the Community
I should be able to find all sorts of good things on google that you're doing with php or web technologies, It generally is a red flag when I google you and nothing comes up(bonus points for having a project of your own or contributing to one).

Javascript Skills
You should know the methods use to manipulate the DOM (appendChild, removeChild, nextSibling, etc...), you should know how to create your own classes in JS (FORM VALIDATION IS 1999), bonus points for being able to show how to make a private variable in javascript.

CSS Skills
You should know the box model inside and out, understand css selectors and how to use inheritance

Passion for Improvement
I want you love what you do and not be looking for a bare minimum, what's the least I can do to get out of here at 5 job. You should be looking to build your skill sets and become more valuable.


Those are some of the minimum things I'd look at for a senior developer. Sadly, most seem content to be the bare minimum developer, which leads to bad code and bad teams. I see it here all the time. You get great developers paired with someone who likes to sleep at their desks from 9-10am(don't laugh, I have pictures of people here sleeping in their cubes). It brings the whole level of the team down. People start checking in code that breaks the build at 4:59pm and leave at 5:00pm. Luckily, our web team here is strong and everyone gets along but those c guys.. man I'll tell ya!



Comments

RSS feed for comments on this post.

  1. Ed Finkler says:
    March 15, 2007 @ 20:11 — Reply

    Good list of criteria. I wonder a bit about the JS and CSS requirements, but practically speaking I suspect most PHP devs will need to deal with front-end tech like this.

  2. Newcastle Blog says:
    May 30, 2010 @ 02:24 — Reply

    Comment pending moderation

  3. chanel bags says:
    June 17, 2010 @ 20:17 — Reply

    Comment pending moderation

  4. Nils Hitze says:
    March 16, 2007 @ 04:08 — Reply

    Ok. 7 out of 11 is not that bad. But i want to become a junior developer so it's not that bad. Nice list you have there and very true. Sadfull 90% so called PHP Programmers don't have a fucking clue and want to much money for that.

  5. Pádraic Brady says:
    March 16, 2007 @ 05:45 — Reply

    Realistically finding people on the web can be pretty difficult. If you were to search for a Pádraic Brady you'd find lots of stuff on Google for the last 2 years. Previous to that I was operating under a internet handle. A lot of people just prefer anonymity to having their prospective employers capable of searching them on Google and assessing their online opinions, personality, hobbies and other personal tidbits. There's a good reason why I have never referred to my employer, place of work, or colleagues in a public forum indexed by a search engine - I don't want to end up like some folk I know who wind up attempting to delete years of online references to themselves when they discover what some employers can question in an interview. Don't get me wrong, for me a candidate with an online project or a respectable blog presence is a plus since they are showing a genuine enthusiasm and feel for the subject - but I also need to balance that against the intrusiveness of such a probing question that some candidates will feel uncomfortable answering. I'm sure we've all since the birth of the internet posted a few public comments we'd prefer Google or the Web Archive didn't store forever ;).

  6. Fruit Baskets says:
    May 30, 2010 @ 02:26 — Reply

    Comment pending moderation

  7. Nate Klaiber says:
    March 16, 2007 @ 11:49 — Reply

    This looks like a great list! I found that before I took the ZCE certification there were many things I wasn't familiar with simply because the jobs didn't require them. However, I took the time to learn them, and some of them I use more often than others. I see so many people, scripters, who don't really understand what they are doing (They copy/paste a script from an outdated website). I think there is a big difference between a professional PHP programmer and a scripter. I would add one more thing to the list, and that would be have a strong understanding of HTTP requests/responses and ways to secure your PHP applications. These are so important to understand as a developer (not just PHP, but understanding SQL injection attacks and the like).

  8. Mgccl says:
    March 16, 2007 @ 12:13 — Reply

    I can't agree with you on CSS and JavaScript things. A developer should focus on his job and his job only. Usually, a Pro PHP developer works with other professionals include project manager and such, everyone should do his and only his part. That's what's economically efficient is all about.

  9. Bill Sanders says:
    March 16, 2007 @ 13:40 — Reply

    I 100% dissagree CSS part...that should be the designer who knows CSS in and out. Developer should be familiar with CSS, but no need to fully understand it. I also disagree about the community part. There are some people I know who are genius programmers that have family or other hobbies. Just because they are not an active contributor to projects does NOT MEAN they are not qualified. I personally would refuse to work for you if that's a requirement as I would see mandatory overtime in the future because I should "like" to program. I've had companies pull this on me in the past. But the rest looks great. Too many people do not have a real CS background when they get into web development. I try telling clients that we build their applications to the standards of desktop applications. We just use the web as the UI (Unit testing, OO, code aduits, etc).

  10. Steve says:
    March 16, 2007 @ 14:55 — Reply

    Excellent criteria. I'm comfortable with most of the things you've listed however I haven't really got into Unit Testing yet. It's definitely something I'm looking into. The CSS isn't really developer territory, however, it doesn't hurt to know. A "senior" developer should be able to pick up CSS easily although in most cases he would never have to touch CSS.

  11. Jon Tan says:
    March 17, 2007 @ 03:39 — Reply

    This was a fascinating read for me as someone who works with developers all the time on applications but is a interface designer. I agree there is a place for developers to understand the presentational layer in the same way it's incumbent on designers to also understand the principles of OO and design patterns. Especially when jointly working on applications with a wide reach. However, I often think that excellence in a hand full of specialisations often infers an ability to achieve excellence in other - or at the very least technical empathy with the standards other specialists work to. If that's coupled with the ability to learn and teach in a non intrusive kind of way, it could be the determining factor in the success of a team in the long term. Complimentary excellence is something I always look for. Thanks for an interesting read.

  12. Ilia Mogilevsky says:
    March 17, 2007 @ 05:14 — Reply

    PHP OO check, CSS check, JS check, TDD check. Excellent set of points you have, unfortunately you are the first person that I see that uses a criteria like this. Most of what I see, in an interview, people are judged for their age not skill... do you?

  13. Roberto Carlos Gonzalez Flores says:
    March 17, 2007 @ 06:33 — Reply

    It Sounds like J2EE (now JEE) criteria’s, PHP senior developers that know all that stuff, are better paid than JEE developers (Except of course of CSS criteria and Google thing). The question is, if you know all that stuff? maybe you would be better a Java Developer, and the economic benefit is better. Maybe is that the reason why you cannot found a PHP Senior, because they all came out of PHP road, and they came out to another platform, that is better paid. Many developers know the stuff of your list, this does not mean that 98% are junior’s like you said it in this blog, but we have to feed a family.

  14. Dennis says:
    March 17, 2007 @ 06:36 — Reply

    "I've just interviewed probably my 200th php/web candidate" - I agree with above folks and say you should look for php candidate and web candidate. Those who know all technologies are not too deep into any - you simply cannot track 10 technologies as they evolve. Coding is quite different to designing. This is a team work, not one person's, and it must be well coordinated.

  15. zproxy says:
    March 17, 2007 @ 06:41 — Reply

    javascript is not just a skill like knowing css. It is a programming language. Of course when one wants to be a web developer in any language such technologies are a must.

  16. SantosJ says:
    March 17, 2007 @ 07:09 — Reply

    Hmm, the Box Model is not that complex and knowing it does help out with some margin and padding problems that I've seen newcomers to HTML and CSS have. It wouldn't hurt to know where the margin is compared to padding compared to the border and how it affects the layout of the page. One such question was why the text did not flow below the picture when visually, the text was below the image. The answer was that the browser rendering engine "seen" that the text and picture were too close enough to drop the text below the image, even if they were -1px through 0px apart. If you didn't know the box model or browser rendering engine, you would be pulling your hair out. I think it is possible to track most of the web technologies, depending on what you want your skill set to be. HTML could be mastered in 3 months, which would lead in to CSS, which can be mastered in a year. While you are mastering CSS, you can learn JavaScript, which should take 2 years to completely master. After a year of starting HTML, you should get into dynamic programming, PHP, Ruby, Python, or Java (pick one!), master that bitch and make it your own. Should take at least two years to four years to completely master it. Along the way you are still using HTML, CSS, and JavaScript. After you have gained enough experience, I would get into XML real quick and learn the different technologies. It would at least help you understand XSLT, SVG, and the damn WSDL/SOAP technologies. So when you are asked about SOAP, you can say, yeah, I know about that. For large enough teams, I would agree that having someone who is intimate with XML technologies would go a long way, as well as a JavaScript and CSS master. For a PHP developer, it would be extremely helpful to pick up as many technologies as possible as soon as possible as most of them aren't that hard, once you have mastered the easier of the technologies. I think what throws people off is trying to do too many programming languages at once, such as Java, C/C++, and PHP. I've found it is easier to understand and quicker to learn other languages once you've mastered one than to jump into multiple ones all at once. Although, I do match 95% of the criteria above. I can't name why CVS is bad, only that I use Subversion (oh yeah, renames aren't tracked, as well as moves, which can be a hassle). I also haven't worked too much with unit testing with JavaScript. Object Orientation in JavaScript is somewhat of a pain with many gotchas. As for private JavaScript variables? That is interesting, I'll need to check that out. Closures perhaps? I would think that proper memory management in JavaScript would be more important and the evils of creating closures without understanding of its faults. Good Stuff, overall. However, I do know for a fact that a designer (who is the boss) isn't going to care about any of the above criteria, just what you can and can't do.

  17. Scott Reynen says:
    March 17, 2007 @ 08:24 — Reply

    I meet all of these criteria, but most of these are ridiculous criteria. Any moron can memorize this stuff and have no idea how to apply it in practice. The only way you'll know if they can apply it in practice is to actually talk to them about real code. No checklist can tell you whether or not someone is a moron.

  18. Jim says:
    March 17, 2007 @ 08:39 — Reply

    in response to Bill: 99% of the time our team works 9-5. When you know how to work smart, you work fast. in response to Scott: I'm not sure if you've ever interviewed someone however these criteria are gathered from talking with the person. Do you think we'd just say you know all of these definitions you're hired? lol We also have a 35 questions php/css/js test during the interview. I've had people tell me PHP doesn't support OOP, you can't do XML in PHP4, etc...

  19. Yuri says:
    March 17, 2007 @ 15:48 — Reply

    I also think that you are actually looking for a Java developer that also knows PHP. PHP is usually chosen because you don't have to go through all the architecting before you get something out and by that it simply does not encourage OOP, MVC and such. I am not saying you can't do it with PHP, just that I doubt anyone learns OOP by working in PHP.

  20. Web Developer says:
    March 18, 2007 @ 09:11 — Reply

    An of course you will ask this php developer to complete a actual TEST module before you consider him for a job right ?

  21. Leendert Brouwer says:
    March 18, 2007 @ 11:20 — Reply

    I can't help but think that some of these criteria do not make sense demanding from a PHP developer. Things like TDD or unit testing may come up occasionally in the PHP scene, but most PHP guys I've seen around me are not that familiar with it. In other scenes (such as the J2EE or Ruby scene) it is more "culturalized". As for front-end technologies such as CSS and (usually) Javascript, it really depends where you're coming from as a PHP developer. Some developers primarily worked for small companies where they have done (at least a fair amount of) XHTML/CSS next to the server side stuff. Other companies have specialized people for the frontend side of things, so you won't pick it up along the way if you've been a developer in such teams mostly. What we usually do is let candidates do a simple test, which is usually enough to figure out whether someone is disciplined in functional decomposition, security, etc. The development area and toolset is too large to be able to know everything. I found that it's better to look for a guy who has at least good knowledge of programming disciplines, he'll probably pick up the things that matter for our working situation fast enough.

  22. Walker Hamilton says:
    March 18, 2007 @ 20:10 — Reply

    w00t! 11 out of 11 with bonus points baby!

  23. Bartek says:
    March 19, 2007 @ 05:46 — Reply

    The criteria are good. When hiring, you don't want to hire just "good" - you want to hire the best. Writing good php is not that different from writing good html and css - one needs to know the tool and use it. I don't think there's anyone who started writing php without having a prior html experience. If they didn't learn about DOM, they didn't probably learn much more about php. So the javascript question is a good indicator. As for unit testing, design patterns etc. - you have to learn them sooner or later, when you start some serious development. It's just in the path of the evolution. You don't know them? Maybe it would be better to everybody if you came next year.

  24. max says:
    March 19, 2007 @ 07:20 — Reply

    I think its also important to know the basics of several widely(?) used frameworks, like smarty or adodb. Unlike Java, php has less "standards", its good when everyone can speak the same language. Alot of php has been generated especially over last 2 years out there, and reading alot of it sucks : /

  25. Walker Hamilton says:
    March 19, 2007 @ 07:23 — Reply

    Since when did smarty become a framework?

  26. max says:
    March 19, 2007 @ 07:27 — Reply

    Since someone wrote alot of OO code to perform a specific function, which can be extended? http://en.wikipedia.org/wiki/Framework

  27. max says:
    March 19, 2007 @ 07:24 — Reply

    Looked at this post from 2 different PC's and the captcha always says 'spamsucks' btw..

  28. Jim says:
    March 19, 2007 @ 08:29 — Reply

    hey Max, It's my spambot experiment. I was getting 100+ spam comments per day. I put in a simple captcha that says the SAME thing every page load. My spam has gone down to 0. So I just left it :) Obviously this wouldn't work for big sites, but it's worked on here.

  29. Michael Kimsal says:
    March 20, 2007 @ 14:22 — Reply

    One thing that wasn't mentioned here which might bear consideration is what experience someone has working on a team of developers. Beyond issues of source control, larger issues of personality compatibility and overall communication skills should rank important in hiring considerations. I've worked with people who were fine on their own, writing decent code, and even had a few of the checkpoints above. Most of whatever benefits they brought to a project were reduced or eliminated when weighed against the difficulties they had working and delivering a project when someone else was involved. I've even had a couple people say to me in interviews things like "I'm a lone wolf" and "I can do everything myself". At some level, that likely can be true, but I think those type of projects are rapidly shrinking. At least well-paying projects/work that can be done that way.

  30. Jim says:
    March 20, 2007 @ 14:27 — Reply

    good call Michael, personality and team gel'ing is a huge part of it. We've passed on many candidates who's personalities just didn't fit with the team. If the developer has a good personality and desire we usually overlook some of the above criteria.

  31. michael kimsal says:
    March 20, 2007 @ 14:40 — Reply

    Thanks Jim. BTW, I don't see any contact info for you. Could you email me your contact info to mgkimsal@gmail.com please?

  32. Shaun Mitchell says:
    March 20, 2007 @ 18:59 — Reply

    I like the list and I like the fact that you say Senior PHP “web” developer. I have 9 out of the 11; CSS and JavaScript are not my strong suites because I utilize PHP 5 out of the web environment. I've been using PHP OOP to create software for a telecommunications company that categorizes routers, switches, servers, WiMAX AU/SUs, SIP/VOIP automation, correlation and billing reports. All of this has nothing to do with web development and I consider myself a senior PHP developer. I’ve always faced challenges with other developers in proving that PHP can be utilized outside of the web environment. Once I prove that I can develop programs faster in PHP then the team always gets hooked. Of course PHP can’t do everything in this type of development but I’ve only found a couple of reason to utilize a language like Python. PHP does 95% of what I require and to those critics; a well developed PHP program is not slow. Thanks

  33. Ian says:
    March 25, 2007 @ 23:54 — Reply

    socket programming...can you give me an example of what socket programming is in PHP?

  34. sjeck says:
    March 28, 2007 @ 00:17 — Reply

    Hahaha! Why do you think all professionals must be a part of one of community or contribute code? Real developer have no time for it - and you should know that :)

  35. desss says:
    March 28, 2007 @ 00:17 — Reply

    bla-bla-bla... It's delirium! You have to distinguish between knowledge and methods of taking this knowledge. You write about details, but not main. Professional php-programmer must to know principles of works and all! That criteriums says it are usual PR.

  36. Jim says:
    March 28, 2007 @ 09:13 — Reply

    dresss, wtf are you talking about? you're fired.

  37. Robert says:
    March 30, 2007 @ 22:55 — Reply

    You are kidding right? Isn't all this in like computer science 101? Why the heck am I a junior developer?

  38. Sonny says:
    March 31, 2007 @ 02:43 — Reply

    I can do all that but you wouldn't wanna pay me.

  39. Josh says:
    April 21, 2007 @ 09:17 — Reply

    Jim, thanks for putting up your criteria! One of life's chief nuances is that you can never think of everything on your own. Since I started my new job, I've been introduced to so many concepts that I'd just never have thought about if I had been left to myself. I'd never considered concepts such as variable scope in JavaScript classes (though now I've got some serious -- would you call that refactoring? I think it counts -- to do!). Of course, I've been unit-testing my code my whole life, but I didn't know there was a name (let alone a formal process) for it. And so on. As much fun as it is to see how much I already know, I appreciate it when someone takes the time (admittedly not directly nor specifically targeted, but you get the idea) to introduce me to new concepts and technologies.

  40. Bullentos says:
    May 2, 2007 @ 19:50 — Reply

    hallo, my name is Bill clythos, you dont know me yet... but now you do, hay man i can write some pretty damn ennoying code, would you like to contribute to my lifes work? i am creating computer virus for bill gates windows system, and i enjoy my work very moch... please contribute, i dont like this windows system at hand. Ok thanks for reading my bunch of bull's shit!

  41. BBlackmoor says:
    May 16, 2007 @ 13:42 — Reply

    I have 10 out of 11 (I have never needed to write anything that worked with sockets). But most of these things seem pretty elementary. CSS? The box model? Database normalization? Are you kidding? You may as well ask if they know how to convert between RGB and hex. That's trivial stuff: every idiot who can swing a keyboard knows that stuff.

  42. Jonathon Hibbard says:
    May 31, 2007 @ 11:53 — Reply

    I'm not sure I agree with the requirements for the PHP side of it. i think that understanding the concepts you pointed out are fairly easy for the 2 -3 year apprentice. It would be more benficial for you to have said you required a developer to enhance and improve code. Sr Developers are strategic monsters. Where one developer will use redundancy to get something done, a Sr Dev will use a mixture of functions and references to get the same thing accomplished. Sockets to me, while they are useful, are very rarely ever used. I've developed php for over 6 years now, and I think I've used socket programming once in my entire career. I REALLY think that the google search is key there. You can really tell a lot from the user when you google their name, however, it's also good to know their nickname (handle) that they use when on user boards. This will make for a much better search in the long run (for example, mine is infolock. Should return you lots of results).

  43. Sean Cannon says:
    August 4, 2007 @ 09:09 — Reply

    I've been developing PHP sites for 9 years now, and honestly I've only had a few instances where I've needed to incorporate OOP into a website. Maybe that makes me a bad developer, but I think there's a predisposition some people have that OOP is by default better than procedural in some way, and I disagree. PHP is written in C not C++, so it's procedural by nature. Yes PHP5 has a full-blown object model, but I was coding sites in PHP3/4 for years without ever thinking to myself "gosh when's PHP going to be like Java?". Procedural PHP may have some code redundancy but at the same time it's much less resource-intensive, and it meets my needs for 9/10 client projects. Don't get me wrong, I have a game I'm working on in OOP PHP + Ajax, and for that purpose, it's quite handy. I'm also not so big into design patterns (maybe I don't fully see the benefit). I'm the kind of person who likes to see what I can do with my own code and figure things out for myself rather than using other people's "tried-and-true" templates. Again maybe that makes me a bad developer but it sure makes coding PHP that much more fun, and gets my brain juices flowing that much faster. I do agree with most of the other items on your list. Some of the people are arguing against CSS, and to an extent I understand their point - a PHP developer should never be required to debug front-end/client-side issues such as JS or CSS, but at the same time, having those skills would increase overall productivity by eliminating a potential bottleneck. Good stuff Jim - I just found your site the other day when I read your PHP sockets tutorial (which, by the way was a huge tease since 80% of the tutorial is "coming soon"), and I'm bookmarking this blog right after this post. --S--

  44. chris holland says:
    September 21, 2007 @ 16:02 — Reply

    Awesome post, Jim, very insightful stuff. You've articulated many of our own growing pains when looking for talented developers, and provided useful tips we'll add to our own "IQ" internal Wiki (Interview Questioning). Your work on MyBic seems to implement patterns similar to ones i've seen in Java-Land with the Direct Web Remoting framework, which we've been using on a couple of projects. DWR basically provides a JavaScript interface to Java Services, and Java Objects returned by those services from the server. It doesn't care about presentation, it's up to the developer to "massage" the returned data back into the calling document. Which is why i developed IBDOM to facilitate this process. In instances where your service layer returns JSON that can be eval'ed to Javascript objects and collections of javascript objects, IBDOM might also, in some instances be a nice complement. As we also do a lot of work with PHP and moving into some more Ajaxy patterns, MyBic may prove very useful to us.

  45. php web development says:
    July 31, 2009 @ 02:55 — Reply

    Nice Post Informative and Useuful one Thanks for great stuff

  46. burslar says:
    August 26, 2009 @ 16:05 — Reply

    I really like this post. Thanks for this article, Anyone got any more info about it? I am now your blog' s rss follower. you are now in my bookmarks.

  47. gcarter says:
    November 18, 2009 @ 17:30 — Reply

    Comment pending moderation

  48. jigolo says:
    December 30, 2009 @ 10:05 — Reply

    Comment pending moderation

  49. Louis Vuitton Handbags Replica says:
    January 29, 2010 @ 19:03 — Reply

    Comment pending moderation

  50. website development Australia says:
    February 4, 2010 @ 04:02 — Reply

    Comment pending moderation

  51. Miester says:
    February 6, 2010 @ 02:43 — Reply

    Comment pending moderation

  52. Jacqueline says:
    February 7, 2010 @ 18:20 — Reply

    Comment pending moderation

  53. Jacqueline says:
    February 7, 2010 @ 18:21 — Reply

    My company has a portal that was designed withPHP3 MYSQL script, and currently we have upgraded it to PHP5 in order to upload it to our host server which now offers PHP5, PHP3 no longers is available. However, after the conversion from PHP3 to PHP5, we are still not able to register new applications, the MYSQL simply does not seem to capture the data, or the data is not able to be read by the Adminstrator. Our Indian programmer is not able to explain to us clearly what is wrong, except quoting there are \"bugs\" that need to be fixed, but we are not conviinced that the issues are due to unexplained reasons except during the conversion process. Can anyone help, advise or recommend what we should do next ? Thank you. Regards, Jacqueline, Vancouver, Canada Powered by bBlog .7.4

  54. Jonson says:
    February 20, 2010 @ 09:10 — Reply

    I've just interviewed probably my 200th php/web candidate during the past three years that I've been involved with staffing. I've come up with some criteria that I look for to get a real "senior" level developer position filled. I'd say 98% of people don't seem to meet even half the criteria. How many do you meet? He includes his list, including things like knowing differences between PHP4 and PHP5, be able to work with OOP, know what unit testing is, be a part of the community, and his final, most important item - have a passion for improvement. It sounds, like to share in your more post now and in future and share it my Ecommerce Website Design

  55. Short prom dresses says:
    February 23, 2010 @ 11:58 — Reply

    Comment pending moderation

  56. handheld metal detector says:
    March 1, 2010 @ 04:52 — Reply

    Comment pending moderation

  57. natural remedies to quit smoking says:
    March 2, 2010 @ 11:42 — Reply

    Comment pending moderation

  58. Internet marketing consultnats says:
    March 5, 2010 @ 21:37 — Reply

    Comment pending moderation

  59. debt finance says:
    March 8, 2010 @ 10:46 — Reply

    Comment pending moderation

  60. PHP Developer says:
    March 9, 2010 @ 14:50 — Reply

    Comment pending moderation

  61. Arizona Home Insurance says:
    March 9, 2010 @ 15:01 — Reply

    Comment pending moderation

  62. phoenix insurance says:
    March 9, 2010 @ 15:04 — Reply

    Comment pending moderation

  63. watch movies online says:
    March 17, 2010 @ 12:18 — Reply

    Comment pending moderation

  64. Buy Cisco says:
    March 18, 2010 @ 07:11 — Reply

    Comment pending moderation

  65. carders forum says:
    March 22, 2010 @ 08:44 — Reply

    Comment pending moderation

  66. How to Tie a Tie says:
    March 30, 2010 @ 11:47 — Reply

    Comment pending moderation

  67. Php Developers says:
    April 2, 2010 @ 00:48 — Reply

    Comment pending moderation

  68. Online Diploma says:
    April 3, 2010 @ 00:33 — Reply

    Comment pending moderation

  69. Online Homeschooling says:
    April 3, 2010 @ 00:35 — Reply

    Comment pending moderation

  70. Online GED says:
    April 3, 2010 @ 00:36 — Reply

    Comment pending moderation

  71. Earn Diploma says:
    April 3, 2010 @ 00:38 — Reply

    Comment pending moderation

  72. distance education accreditation says:
    April 3, 2010 @ 00:39 — Reply

    Comment pending moderation

  73. Bucket Trucks says:
    April 12, 2010 @ 07:09 — Reply

    Comment pending moderation

  74. 婚紗攝影 says:
    April 14, 2010 @ 11:28 — Reply

    Comment pending moderation

  75. blu ray ripper says:
    April 18, 2010 @ 04:24 — Reply

    Comment pending moderation

  76. Gift Baskets says:
    April 24, 2010 @ 17:24 — Reply

    Comment pending moderation

  77. KPSS says:
    April 27, 2010 @ 04:47 — Reply

    Comment pending moderation

  78. convert hd video says:
    May 5, 2010 @ 00:28 — Reply

    Comment pending moderation

  79. Php Programmer says:
    May 5, 2010 @ 23:21 — Reply

    Comment pending moderation

  80. Christian Louboutin Shoes says:
    May 9, 2010 @ 22:35 — Reply

    Comment pending moderation

  81. ev dekorasyon says:
    May 10, 2010 @ 04:23 — Reply

    Comment pending moderation

  82. Ultracet No Prescription says:
    May 12, 2010 @ 22:58 — Reply

    Comment pending moderation

  83. Giochi di calcio says:
    May 18, 2010 @ 10:03 — Reply

    Comment pending moderation

  84. HID Kit says:
    May 20, 2010 @ 06:56 — Reply

    Comment pending moderation

  85. Buy Steroids says:
    May 21, 2010 @ 11:03 — Reply

    Comment pending moderation

  86. DNS tools says:
    May 25, 2010 @ 22:19 — Reply

    Comment pending moderation

  87. network tools says:
    May 25, 2010 @ 22:21 — Reply

    Comment pending moderation

  88. Merewether-Life says:
    May 30, 2010 @ 02:18 — Reply

    Comment pending moderation

  89. wholesale laptop battery says:
    June 2, 2010 @ 02:14 — Reply

    Comment pending moderation

  90. sohbet says:
    June 3, 2010 @ 06:56 — Reply

    Comment pending moderation

  91. Prozac No Prescription says:
    June 3, 2010 @ 10:30 — Reply

    Comment pending moderation

  92. sony vaio laptop battery says:
    June 3, 2010 @ 20:42 — Reply

    Comment pending moderation

  93. virbram five fingers says:
    June 4, 2010 @ 20:44 — Reply

    Comment pending moderation

  94. online pharmacy viagra says:
    June 9, 2010 @ 01:56 — Reply

    Comment pending moderation

  95. fat burning furnace scam says:
    June 10, 2010 @ 06:22 — Reply

    Comment pending moderation

  96. Natural peanut butter says:
    June 10, 2010 @ 17:31 — Reply

    Comment pending moderation

  97. replica gucci says:
    June 11, 2010 @ 20:22 — Reply

    Comment pending moderation

  98. Brisbane Web Design says:
    June 12, 2010 @ 17:16 — Reply

    Comment pending moderation

  99. louis vuitton tivoli pm says:
    June 13, 2010 @ 04:28 — Reply

    Comment pending moderation

  100. lv handbag says:
    June 13, 2010 @ 04:29 — Reply

    Comment pending moderation

  101. womens waterproof jacket says:
    June 15, 2010 @ 09:26 — Reply

    Comment pending moderation

  102. Jordan Sneaker says:
    June 15, 2010 @ 23:23 — Reply

    Comment pending moderation

  103. Louis Vuitton handbags says:
    June 16, 2010 @ 00:52 — Reply

    Comment pending moderation

  104. ray ban sunglasses says:
    June 18, 2010 @ 01:16 — Reply

    Comment pending moderation

  105. tinggi badan says:
    June 18, 2010 @ 23:55 — Reply

    Comment pending moderation

  106. cheap full lace wigs says:
    June 22, 2010 @ 22:27 — Reply

    Comment pending moderation

  107. Replica Jewelry says:
    June 24, 2010 @ 02:08 — Reply

    Comment pending moderation

  108. louis vuitton handbags says:
    June 25, 2010 @ 01:19 — Reply

    Comment pending moderation

  109. air max says:
    June 25, 2010 @ 01:26 — Reply

    Comment pending moderation

  110. fiwedding says:
    June 27, 2010 @ 20:54 — Reply

    Comment pending moderation

Leave a Comment

Line and paragraph breaks automatic, HTML allowed: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <code> <em> <i> <strike> <strong>

Comments disabled due to spammers being losers that lead sad lives.