<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>KILLERPHP.COM &#187; Editorial</title>
	<atom:link href="http://www.killerphp.com/articles/category/editorial/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.killerphp.com/articles</link>
	<description>Dedicated to teaching web designers PHP.</description>
	<lastBuildDate>Thu, 09 Sep 2010 13:25:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Trend is Zend &#8230; in PHP</title>
		<link>http://www.killerphp.com/articles/the-trend-is-zend-in-php/</link>
		<comments>http://www.killerphp.com/articles/the-trend-is-zend-in-php/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 00:24:56 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[Advanced PHP]]></category>
		<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Zend-Framework]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=543</guid>
		<description><![CDATA[
Hi,
People ask me from time to time, what PHP framework is the best one to learn?
Well, I always look at technology choices with two things in mind:

How capable is the technology?
How accepted is the technology?

If you look around, it becomes pretty clear, that if you want to learn an effective web application framework, you want [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.killerphp.com/articles/wp-content/uploads/2007/11/picture-1.png" alt="zend framework logo" title="zend framework logo" width="227" height="58" class="alignright size-full wp-image-100" /></p>
<p>Hi,</p>
<p>People ask me from time to time, what PHP framework is the best one to learn?</p>
<p>Well, I always look at technology choices with two things in mind:</p>
<ol>
<li>How capable is the technology?</li>
<li>How accepted is the technology?</li>
</ol>
<p>If you look around, it becomes pretty clear, that if you want to learn an effective web application framework, you want to learn the <a href="http://www.killerphp.com/zend-framework/">Zend Framework</a> &#8211; indeed, the <a href="http://www.killerphp.com/articles/php-video-why-zend-instead-of-other-php-framework/">trend is with Zend</a>.</p>
<p><strong>Zend framework being used by companies large and small</strong></p>
<p>I know from first-nerd experience that the Zend Framework is being widely adopted. Just recently for example, Intuit and the BBC have implemented new web apps that are Zend Framework based.</p>
<p>&#8230; I know because my good buddy Jon Lebensold of <a href="http://www.zendcasts.com/">Zendcasts</a> helped build one of them. </p>
<p>There are plenty of other examples out there I&#8217;m sure &#8230; and I am confident that the trend will continue towards the adoption of the Zend Framework. With the PHP company (Zend) and IBM behind it &#8230; it doesn&#8217;t take a brain surgeon to figure that one out.</p>
<p>Thanks for reading,</p>
<p>Stefan Mischook<br />
www.killerphp.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/the-trend-is-zend-in-php/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Server Migration is Easy with PHP</title>
		<link>http://www.killerphp.com/articles/server-migration-easy-with-php/</link>
		<comments>http://www.killerphp.com/articles/server-migration-easy-with-php/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 01:11:00 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[Beginners PHP Articles]]></category>
		<category><![CDATA[Editorial]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=175</guid>
		<description><![CDATA[
Recently we had to make an emergency move from our old servers (where we had been for 5-6 years) to our own dedicated server because of technical difficulties in the heads of the nerd&#8217;s who managed the servers killersites.com had been sitting on.
I will spare you the details of my server migration ordeal for now. [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.killerphp.com/articles/wp-content/uploads/2007/07/php-med-trans-light.gif" alt="" title="php logo" width="95" height="51" class="alignright size-full wp-image-55" /></p>
<p>Recently we had to make an emergency move from our old servers (where we had been for 5-6 years) to our own dedicated server because of technical difficulties in the heads of the nerd&#8217;s who managed the servers killersites.com had been sitting on.</p>
<p>I will spare you the details of my <a href="http://www.killersites.com/blog/2009/server-migration-easy-with-php/">server migration ordeal</a> for now. What I want to point out, is that PHP (once again) has proven to be a great choice as the server side programming language.<br />
<strong><br />
PHP is consistent &#8230;</strong></p>
<p>During this move, I had to deal with a bunch of web apps and scripts that included a nice buffet of technologies like:</p>
<p>- Perl<br />
- PHP<br />
- Java</p>
<p>.. Yes, the dreaded evil configuration hell that is J2EE!!</p>
<p>To make a long story short, migrating the PHP apps was a snap &#8211; copy over the files, set up the database and were off! On the other hand, I still have to get around to figuring out why the Perl and Java applications don&#8217;t want to run on the new server.</p>
<p> <img src='http://www.killerphp.com/articles/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>PHP continues to rock, saving me time, money and headaches.</p>
<p>Stefan Mischook<br />
www.killerphp.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/server-migration-easy-with-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What happened to Ruby? And why PHP is KING of the Web.</title>
		<link>http://www.killerphp.com/articles/what-happened-to-ruby-and-why-php-is-king-of-the-web/</link>
		<comments>http://www.killerphp.com/articles/what-happened-to-ruby-and-why-php-is-king-of-the-web/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 19:27:20 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=173</guid>
		<description><![CDATA[
In 2006 I created killerphp.com because I wanted to make it easy for web designers to learn PHP. I thought PHP was THE predominate web programming language and I felt every web designer should include PHP as one of their core coding skills:
- html
- css
- php
- javascript.
Then Ruby came along &#8230; for a short while.
What [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.killerphp.com/articles/wp-content/uploads/2007/11/picture-2.png" alt="" title="ruby on rails logo" width="95" height="115" class="alignright size-full wp-image-101" /></p>
<p>In 2006 I created killerphp.com because I wanted to make it easy for web designers to learn PHP. I thought PHP was THE predominate web programming language and I felt every web designer should include PHP as one of their core coding skills:</p>
<p>- html<br />
- css<br />
- php<br />
- javascript.</p>
<p>Then Ruby came along &#8230; for a short while.</p>
<p><strong>What happened to Ruby and Ruby on Rails?</strong></p>
<p>Once upon a time Ruby was the best thing since sliced bread &#8230; it was the language to replace all languages and everything else just sucked! Funny, that seems like ages ago.</p>
<p>Today though, the picture is different; Ruby&#8217;s shine has since lost its&#8217; luster and the Rails train has practically fallen off the tracks &#8211; now there are other web frameworks in the Ruby world that have replaced Rails. </p>
<p><em><strong>Addendum:</strong> Merb and Rails are merging &#8230; Rails hasn&#8217;t &#8216;gone off the tracks&#8217;. My bad.</em></p>
<p><strong>So what the heck happened &#8230; what stopped the Ruby train ride?</strong></p>
<p><span id="more-173"></span></p>
<p>What stopped Ruby from spreading beyond being a niche language is the EXACT same thing that stopped me from jumping on board back in 2006-2007: Ruby&#8217;s heart was broken.</p>
<p>- Yes, Ruby has a great syntax.<br />
- Yes it is a lot of fun to program with.<br />
- Yes it is pure object orientation, to the max! </p>
<p>But, there were a lot of holes in Ruby &#8230; crucial libraries and functionality that PHP&#8217;rs took for granted, the Ruby guys could only dream of &#8230; or they could patch it up with some C code. Ouch! </p>
<p>Beyond that, there is Ruby&#8217;s dirty little secret: crash-o-matic. Yep, Ruby based web apps used to crash a lot! Web server integration was not stable and was a pain in the ass.</p>
<p><strong>Reference: <a href="http://www.techcrunch.com/2008/05/01/twitter-said-to-be-abandoning-ruby-on-rails/">Twitter Crashing</a></strong></p>
<p>&#8230; To be fair though, I hear that aspect has improved.</p>
<p><img src="http://www.killerphp.com/articles/wp-content/uploads/2007/07/php-med-trans-light.gif" alt="" title="php logo" width="95" height="51" class="alignright size-full wp-image-55" /></p>
<p><strong>What does this have to do with PHP? </strong></p>
<p>As I stated years ago in a <a href="http://www.killerphp.com/articles/will-ruby-kill-php/"> blog post about Ruby</a>; PHP&#8217;s strengths are found in Ruby&#8217;s weaknesses. Yes some aspects of PHP are not as (shall we say) pretty as Ruby. But like good looking people who are jerks, who cares how beautiful they look if their personality sucks.</p>
<p>&#8230; OK, maybe you could hang with them for just a short time! But whatever you do, don&#8217;t marry them Rob!</p>
<p> <img src='http://www.killerphp.com/articles/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Stefan Mischook<br />
www.killerphp.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/what-happened-to-ruby-and-why-php-is-king-of-the-web/feed/</wfw:commentRss>
		<slash:comments>59</slash:comments>
		</item>
		<item>
		<title>How to Build a Content Management System</title>
		<link>http://www.killerphp.com/articles/how-to-build-a-content-management-system/</link>
		<comments>http://www.killerphp.com/articles/how-to-build-a-content-management-system/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 00:47:40 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[Beginners PHP Articles]]></category>
		<category><![CDATA[Editorial]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=158</guid>
		<description><![CDATA[OK, I just tricked you! This article is not going to teach you how to build a content management system with PHP from scratch. 
Why not? 
&#8230; Because building a content management system from scratch is (probably) a really dumb idea!! Now that I come to think about it, building any of the most commonly [...]]]></description>
			<content:encoded><![CDATA[<p>OK, I just tricked you! This article is not going to teach you how to build a content management system with PHP from scratch. </p>
<p>Why not? </p>
<p>&#8230; Because building a content management system from scratch is (probably) a really dumb idea!! Now that I come to think about it, building any of the most commonly used software from scratch, is kinda stupid. </p>
<p>Things you should not build from scratch:</p>
<ul>
<li>Content Management Systems</li>
<li>Blog Software</li>
<li>Forums</li>
<li>Directory scripts</li>
</ul>
<p><strong>The Top 3 Rules in Programming</strong></p>
<p>The real estate business has a famous set of rules &#8211; the top three rules in fact:</p>
<ol>
<li>Location</li>
<li>Location</li>
<li>Location</li>
</ol>
<p>The idea behind this rule, is to stress how important location is to a piece of property. In software development (programming), we have a similar set of key rules:</p>
<ol>
<li>Reuse</li>
<li>Reuse</li>
<li>Reuse</li>
</ol>
<p><span id="more-158"></span></p>
<p>Yes, if you are a smart and experienced programmer, you know that the first thing you do when someone approaches you with a project, is to fire up Google to check if someone else has already built something that is at least similar to what you want to create.</p>
<p>&#8230; Simply stated, it is crazy to reinvent the wheel and build something that has already been created. Especially within the context of building a program to help support some business. What I mean by that is, that unless you are building a piece of software as the core of a business, where the software itself is the business, then you should not be starting from scratch. It&#8217;s just too expensive.</p>
<p>Lucky for us PHP nerds, there is a huge collection of open source, free and nearly free software out there created in PHP. Things like the above mentioned blogs, cms&#8217;, forums etc &#8230; have been created many times over by teams of adventurous nerds. Given that fact, it makes even less sense to build these things yourself, just because you need one for your website.</p>
<p><strong>Don&#8217;t ask me how to build a CMS!</strong><br />
No, instead of trying to build these (typically) big and complicated programs from scratch, you should download a proven mature product where they have already worked out many of the bugs and spent the hundreds of hours refining them. </p>
<p><strong>Suggestions:</strong></p>
<p>A good blog software: <a href="http://wordpress.org/">http://wordpress.org/</a></p>
<p><strong>Forums: </strong></p>
<p><a href="http://www.phpbb.com/">http://www.phpbb.com/</a><br />
<a href="http://fluxbb.org/">http://fluxbb.org/</a><br />
<a href="http://punbb.informer.com/">http://punbb.informer.com/</a><br />
<a href="http://www.vbulletin.com/">http://www.vbulletin.com/</a><br />
<a href="http://www.invisionpower.com/community/board/features.html">http://www.invisionpower.com/community/board/features.html</a></p>
<p><strong>CMS</strong></p>
<p><a href="http://drupal.org/">http://drupal.org/</a><br />
<a href="http://expressionengine.com/">http://expressionengine.com/</a><br />
<a href="http://www.cmsmadesimple.org/">http://www.cmsmadesimple.org/</a></p>
<p>Believe me, there are many more out there. </p>
<p>Thanks for reading,</p>
<p>Stefan Mischook</p>
<p>www.killerphp.com<br />
www.killersites.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/how-to-build-a-content-management-system/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>PHP Rules!</title>
		<link>http://www.killerphp.com/articles/php-rules/</link>
		<comments>http://www.killerphp.com/articles/php-rules/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 20:55:59 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[drupal]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=148</guid>
		<description><![CDATA[Hi,
I was chatting with my Java buddies recently and they had just discovered an alternative lightweight framework for building Java based web applications &#8211; something called Spring. The Spring framework is equivalent to the Zend Framework or Code Igniter.
I first learned about Spring before it was called Spring, back in 2002 when the inventor of [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>I was chatting with my Java buddies recently and they had just discovered an alternative lightweight framework for building Java based web applications &#8211; something called Spring. The Spring framework is equivalent to the Zend Framework or Code Igniter.</p>
<p>I first learned about Spring before it was called Spring, back in 2002 when the inventor of Spring wrote a book (Expert One-on-One J2EE Design and Development) criticizing how ridiculously heavy Java was becoming.</p>
<p>&#8230; I was right there with him! So much so in fact, that I moved into the ultra nimble PHP.</p>
<p> <img src='http://www.killerphp.com/articles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Anyway, since then, the Spring Framework has become one of the major players in the Java world. I&#8217;ve been out of the Java world for a while now, but I do check things out once and a while just out of curiosity.  Besides, the PHP community can learn a lot from Java &#8230; both the good and the bad.</p>
<p>The point of this article: </p>
<p>I checked out the official site for the Spring framework &#8230; they use Drupal! For those of you that may not know, Drupal is a PHP based web application. </p>
<p>Nice!</p>
<p>Stefan Mischook</p>
<p>www.killersites.com<br />
www.killerphp.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/php-rules/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Note to CodeIgniter nerds: please, no looping code in your views.</title>
		<link>http://www.killerphp.com/articles/note-to-codeigniter-nerds-please-no-looping-code-in-your-views/</link>
		<comments>http://www.killerphp.com/articles/note-to-codeigniter-nerds-please-no-looping-code-in-your-views/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 19:10:31 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Object Oriented PHP]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[object oriented]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/note-to-codeigniter-nerds-please-no-looping-code-in-your-views/</guid>
		<description><![CDATA[
I was researching things &#8216;nerd&#8217; on the Web today, and I found myself at the CodeIgniter website.
For those of you who may not know, CodeIgniter is an MVC PHP framework. 
What is an MVC framework?
I won&#8217;t go into details here since we&#8217;ve covered MVC basics elsewhere. Let me just say though, that an MVC framework [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.killerphp.com/articles/wp-content/uploads/2008/06/picture-2.png' alt='codeIgniter-logo' style="float: right; margin: 10px;" /></p>
<p>I was researching things &#8216;nerd&#8217; on the Web today, and I found myself at the CodeIgniter website.</p>
<p>For those of you who may not know, CodeIgniter is an MVC PHP framework. </p>
<p><strong>What is an MVC framework?</strong></p>
<p>I won&#8217;t go into details here since we&#8217;ve covered <a href="http://www.killerphp.com/articles/introduction-zend-framework/">MVC basics</a> elsewhere. Let me just say though, that an MVC framework is a bunch of PHP code organized into a reusable structure/system designed to make building web applications easier. </p>
<p><strong>MVC is short for:</strong></p>
<p>- Model<br />
- View<br />
- Controller</p>
<p>The general idea is to keep code separated by it&#8217;s function. </p>
<p><span id="more-144"></span></p>
<p>For example: </p>
<p>Code used to talk to the database is contained in the &#8216;Model&#8217; part of the code base. And the &#8216;view&#8217; is the code (typically mostly HTML with some small bits of PHP mixed in) are basically the pages/views that people actually see &#8230; your basic web page.</p>
<p>&#8230; Don&#8217;t worry, I&#8217;m going somewhere with this.</p>
<p><strong>I&#8217;m wondering about CodeIgniter&#8217;s decision to place PHP looping code in their views.</strong></p>
<p>I had a few minutes to spare and so I watched their <a href="http://codeigniter.com/tutorials/watch/intro/">&#8216;Hello World&#8217; video tutorial</a>. </p>
<p>What caught my attention in this video was how the author was using PHP looping code in his &#8216;view&#8217; template! This may not seem like a  big deal to you, but consider these two points:</p>
<ol>
<li>The whole point of the &#8216;view&#8217; in MVC is to keep as much PHP code out of the view templates as possible. For me, the main advantage of doing this is to keep your web designers from busting your PHP code.</li>
<li>Looping code is the messiest PHP code you can possibly have in your pages &#8230; get it out of there!</li>
</ol>
<p>&#8230; I remember back in 1996 (in my classic ASP days) where the biggest problem was trying to cleanly loop through recordsets in such a way so that web designers wouldn&#8217;t break the ASP code. </p>
<p>My own simple solution was to build the table rows in a page-widget helper object and then shoot back a simple string variable to the view. The web designer would then simply wrap the one line of PHP in a table tag:</p>
<div style="margin-top: 30px; margin-bottom: 30px;">
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;table&gt;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">&lt;?php</span> <a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="re0">$client_list</span>; <span class="kw2">?&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&lt;/table&gt;</div>
</li>
</ol>
</div>
</div>
<p>This way the web designer is free to style the table anyway they want, and it&#8217;s way harder for them to break the page.</p>
<p>-</p>
<p>I haven&#8217;t really looked much at CodeIgniter, but if this introduction video is representative of how they do things &#8230; I&#8217;m wondering: why?</p>
<p>Thanks,</p>
<p>Stefan Mischook</p>
<p>www.killerphp.com<br />
www.killersites.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/note-to-codeigniter-nerds-please-no-looping-code-in-your-views/feed/</wfw:commentRss>
		<slash:comments>44</slash:comments>
		</item>
		<item>
		<title>Does Wordpress 2.5.1 suck?</title>
		<link>http://www.killerphp.com/articles/wordpress-251-sucks/</link>
		<comments>http://www.killerphp.com/articles/wordpress-251-sucks/#comments</comments>
		<pubDate>Wed, 04 Jun 2008 05:43:43 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/wordpress-251-sucks/</guid>
		<description><![CDATA[
I know I will probably get blasted/flamed for this post &#8230; but that&#8217;s the life of a nerd with an opinion.
So does WP 2.5.1 suck? I&#8217;m not sure!
  
UPDATE:
I have since discovered new information and have resolved the problem &#8230; kind of. You can find details in the comments below.
-
So what&#8217;s the problem with [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.killerphp.com/articles/wp-content/uploads/2008/03/picture-4.png' alt='wordpress-logo'  /></p>
<p>I know I will probably get blasted/flamed for this post &#8230; but that&#8217;s the life of a nerd with an opinion.</p>
<p>So does WP 2.5.1 suck? I&#8217;m not sure!</p>
<p> <img src='http://www.killerphp.com/articles/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>UPDATE:</p>
<p>I have since discovered new information and have resolved the problem &#8230; kind of. You can find details in the comments below.</p>
<p>-</p>
<p><strong>So what&#8217;s the problem with Wordpress 2.5.1?</strong></p>
<p>I just recently installed the this latest version of Wordpress (2.5.1) and quickly found it hanging (while trying to load a page) for as long as 40-50 seconds! </p>
<p>I then proceeded to isolate the potential causes (database, custom fields, custom theme) and have since found out that something stinks in 2.5.1&#8217;s core. </p>
<p><span id="more-143"></span></p>
<p><strong>The bug is not consistent across servers &#8211; that means, it could be hard to find.</strong></p>
<p>After installing Wordpress 2.5.1 multiple times on one of my servers (the server where I always got the massive slowdown) I then installed 2.5.1 on another server of ours and so far, it seems to be working. </p>
<p>Some might think that the simple answer is that the first server is the problem. Well, the problem with that assumption is that all previous versions of Wordpress work fine &#8230; along with 5-6 other PHP applications. </p>
<p>&#8230; No, it&#8217;s a Wordpress 2.5.1 thing.</p>
<p><strong>Update: </strong> I am having the same problem with Wordpress 2.3.3. Strange because Wordpress 2.3.1 works.</p>
<p> <img src='http://www.killerphp.com/articles/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p><strong>I&#8217;m not the only one.</strong></p>
<p>A few minutes of Googling revealed, that I was not the only one having these problems. </p>
<p>Unfortunately for me, the solutions suggested don&#8217;t seem to solve my problem. Too bad, Wordpress 2.5.1 has some nice administrative features. </p>
<p><strong>My suggestion:</strong></p>
<p>Before you upgrade your old working installation of Wordpress, I would suggest that you test 2.5.1 in some other directory just to be sure it works with your server. </p>
<p>Stefan Mischook</p>
<p>www.killerphp.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/wordpress-251-sucks/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails &#8211; a paper dragon?</title>
		<link>http://www.killerphp.com/articles/ruby-on-rails-a-paper-dragon/</link>
		<comments>http://www.killerphp.com/articles/ruby-on-rails-a-paper-dragon/#comments</comments>
		<pubDate>Sun, 25 May 2008 18:28:04 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[Editorial]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/ruby-on-rails-a-paper-dragon/</guid>
		<description><![CDATA[Hi,
I was going to start this off with some analogy on how Ruby is like dating some &#8216;hottie&#8217; that turns out to be crazy .. but I just couldn&#8217;t make it work &#8230; 
-
When Ruby on Rails started to gain some momentum a year or so ago, I decided to take another look at the [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>I was going to start this off with some analogy on how Ruby is like dating some &#8216;hottie&#8217; that turns out to be crazy .. but I just couldn&#8217;t make it work &#8230; </p>
<p>-</p>
<p>When Ruby on Rails started to gain some momentum a year or so ago, I decided to take another look at the Ruby language itself along with the Rails web framework.</p>
<p><img src='http://www.killerphp.com/articles/wp-content/uploads/2007/11/picture-2.png' alt='ruby on rails logo' style="float: right; margin: 15px;"/></p>
<p>Before I get to the heart of this article, I have to tell you that I love the elegance of the language &#8230; it is fun to use.</p>
<p>But, being a nerd who&#8217;s has experienced disappointment in promising new technologies in the past, I decided to dig a little deeper into Ruby and Ruby on Rails before committing to use it in real projects. I did my research &#8230; and I&#8217;m glad I went with PHP instead. </p>
<p>&#8230; Let me just say that this Twitter news, only reinforces my own thinking from a year and a half ago.</p>
<p><strong>Why did Twitter decide to move away from Ruby and Ruby on Rails?</strong></p>
<p>Well according to <a href="http://www.techcrunch.com/2008/05/01/twitter-said-to-be-abandoning-ruby-on-rails/">TechCrunch</a>, the boys at Twitter found that Ruby could not be made to scale.</p>
<p><strong>Update:</strong> </p>
<p>Apparently this Techcrunch report was later refuted by the Twitter people. Nonetheless, the point of this article still holds true.</p>
<p>-</p>
<p><span id="more-142"></span></p>
<p>I&#8217;ve also found comments from a Twitter developer (Alex Payne) talking about how slow the Ruby language is: </p>
<blockquote><p>&#8220;All the convenience methods and syntactical sugar that makes Rails such a pleasure for coders ends up being absolutely punishing, performance-wise. </p>
<p>Once you hit a certain threshold of traffic, either you need to strip out all the costly neat stuff that Rails does for you (RJS, ActiveRecord, ActiveSupport, etc.) or move the slow parts of your application out of Rails, or both. </p>
<p>It’s also worth mentioning that there shouldn’t be doubt in anybody’s mind at this point that Ruby itself is slow. &#8220;</p></blockquote>
<p><strong>Even the creator of Ruby (Matz) has his beefs with Ruby</strong></p>
<p>When I heard about the <a href="http://www.rubyist.net/~matz/slides/rc2003/">critical comments</a> made by the creator of Ruby about the language &#8230; it made me think twice about jumping in.</p>
<p><strong>Always look at what&#8217;s going on &#8216;under-the-hood&#8217;</strong></p>
<p>So, when I decided to move forward with a new web application, my first decision to make was the technology stack I was going to use. I was considering:</p>
<ul>
<li>PHP</li>
<li>Ruby</li>
<li>Java with JSP and Servlets</li>
</ul>
<p>&#8230; I had to at least consider Java since I&#8217;ve done a lot of my work in Java in the past.</p>
<p>Quickly though, it came down to PHP or Ruby with Ruby on Rails. Ruby was the hot new language and my little team really wanted to jump into it .. and I must admit, so did I. </p>
<p>But experience prevailed, and I decide to take a deeper look at Ruby (and Ruby on Rails) before I would commit myself. </p>
<p>&#8230; I found some major holes.</p>
<p><strong>The problem with Ruby and Rails</strong></p>
<p>I don&#8217;t want to get into to micro-nerd details, but at the time, I found that there were things missing in the core Ruby language, things that developers had to fall back to C solve! This was something I did not want to have to deal with. </p>
<p>Another major hole (and this was the deal breaker for me,) was that Ruby and web server integration sucked. It sucked hard. You had to jump through hoops to get Ruby web hosting working. </p>
<p>One reason I moved away from Java web application development, was because of the problems related to Java web hosting. Though I know Java server setup reasonably well, PHP is so freakin easy by comparison! </p>
<p>Anyway, Ruby web server integration makes the Java thing seem trivial.</p>
<p><strong>Ruby reboot</strong></p>
<p>Beyond all that, you&#8217;d here stories (with Ruby and Ruby on Rails) of the web server having to be rebooted several times a day! This is not at all acceptable in any situation. That alone should be enough for any self-respecting developer to want to stay away from a technology. </p>
<p>The above reboot problem is like buying a boat that continuously springs leaks. Who wants to have to bail water all day &#8230; especially when you&#8217;re out there on the water. </p>
<p>Anyway, I made the choice for PHP because it was fast, could do everything I wanted without having to write C code, and was proven. </p>
<p>As told one of my assistants:</p>
<p>I don&#8217;t want to spend months developing an application, and then find that the underlying core can&#8217;t support the load. Or &#8230; that we find that we have to reboot the web server ten times a day! </p>
<p>&#8230; If I wanted that, I would go back to classic ASP!</p>
<p> <img src='http://www.killerphp.com/articles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Conclusion</strong></p>
<p>I haven&#8217;t looked at Ruby and Rails since that time, but I am sure things have progressed. That said, this Twitter news is just further evidence that the Ruby web stack stills needs work &#8230; work on the very heart of things Ruby.</p>
<p>It also shows that you should never jump into something until it is really well vetted.</p>
<p><strong>Some related links:</strong></p>
<p><a href="http://www.radicalbehavior.com/5-question-interview-with-twitter-developer-alex-payne/">The complete interview with the Twitter developer Alex Payne</a>.</p>
<p><a href="http://news.cnet.com/8301-13505_3-9934187-16.html">CNET on Twitter&#8217;s Ruby move.</a></p>
<p>Thanks,</p>
<p>Stefan Mischook</p>
<p>www.killerphp.com<br />
www.killersites.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/ruby-on-rails-a-paper-dragon/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Angry self righteous tech-nerds</title>
		<link>http://www.killerphp.com/articles/angry-self-righteous-tech-nerds/</link>
		<comments>http://www.killerphp.com/articles/angry-self-righteous-tech-nerds/#comments</comments>
		<pubDate>Thu, 22 May 2008 18:31:10 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[Editorial]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/angry-self-righteous-tech-nerds/</guid>
		<description><![CDATA[I&#8217;ve been involved in the tech business for many years. Though technology is constantly changing, there is a constant: 
Angry self righteous tech-nerds.
Who are the angry-nerds? 
Angry-nerds are those programmers, network administrators or any other geeks that have a major chip on their shoulders. 
Typically, they are in their twenties, with little experience, and are [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been involved in the tech business for many years. Though technology is constantly changing, there is a constant: </p>
<p>Angry self righteous tech-nerds.</p>
<p><strong>Who are the angry-nerds? </strong></p>
<p>Angry-nerds are those programmers, network administrators or any other geeks that have a major chip on their shoulders. </p>
<p>Typically, they are in their twenties, with little experience, and are just out of school &#8230; full of academic dogma and ritual.</p>
<p><strong>It takes little to set these guys off &#8230;</strong></p>
<p>When confronted with a tech idea they don&#8217;t agree with, or they find that a concept (or way of doing things) is &#8216;below&#8217; them intellectually .. they become arrogant, hostile and their not so inner nerd-child appears. </p>
<p>Generally these twits are useless to have around &#8230; besides being annoying. </p>
<p><strong>Angry-nerds like to attack beginners</strong></p>
<p>One behavior that is consistent in the angry-nerd population, is their collective disdain for those trying to learn a new technology. If that wasn&#8217;t strange enough, they are even critical of those who would try to help beginners get on their feet. </p>
<p>Why? </p>
<p>I think angry-nerds are just looking to bully people they feel they can bully. A little payback I suppose &#8230;?</p>
<p>-</p>
<p>The classic arguments that bring out the angry-nerds (frothing at the mouth), include:</p>
<p><span id="more-141"></span></p>
<ul>
<li>Java vs. PHP</li>
<li>Mac vs. PC</li>
<li>Apache vs IIS</li>
</ul>
<p>&#8230; and the list goes on.</p>
<p>Funny thing about angry-nerds, is that they tend to get angry only on message boards and chats. For some reason, angry nerds tend to be quiet introverts in real life.</p>
<p>??</p>
<p><strong>What makes a nerd so angry?</strong></p>
<p>It&#8217;s hard to say, but I think nerds become angry-nerds because of two things:</p>
<ol>
<li>Because the got picked on a lot in high school.</li>
<li>Because they go on dates once every 3.5 years.</li>
</ol>
<p>I think #2 alone can turn a harmless nerd, into an angry-nerd. That said, I also think memories of childhood beatings probably goes a long way to help the process.</p>
<p><strong>My advice to angry-nerds:</strong></p>
<p>Try not to be so angry, and maybe you&#8217;ll <strong>actually</strong> get a real date.</p>
<p>Stefan Mischook</p>
<p>www.killerphp.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/angry-self-righteous-tech-nerds/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Managing Clients &#8211; draw the line and hold your ground.</title>
		<link>http://www.killerphp.com/articles/managing-clients-draw-the-line-and-hold-your-ground/</link>
		<comments>http://www.killerphp.com/articles/managing-clients-draw-the-line-and-hold-your-ground/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 14:40:49 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[project management]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/managing-clients-draw-the-line-and-hold-your-ground/</guid>
		<description><![CDATA[One of the most frustrating aspects of being a web application developer (a Web nerd) is found in the dynamics of dealing with clients. 

I&#8217;ve been known to say: &#8220;I love everything about programming &#8230; except for the clients!&#8221;
This aspect of the web business (managing clients,) falls under the umbrella of project management &#8211; something [...]]]></description>
			<content:encoded><![CDATA[<p>One of the most frustrating aspects of being a web application developer (a Web nerd) is found in the dynamics of dealing with clients. </p>
<blockquote><p>
I&#8217;ve been known to say: &#8220;I love everything about programming &#8230; except for the clients!&#8221;</p></blockquote>
<p>This aspect of the web business (managing clients,) falls under the umbrella of <strong>project management</strong> &#8211; something every web developer, must learn at least a little bit about.</p>
<p><span id="more-136"></span><br />
<strong><br />
Who are the clients?</strong></p>
<p>Clients can be the actual company for whom you are building the software, they could be the department next door or perhaps it is just your manager. </p>
<p>Whichever the case, you need to learn how to manage your clients, otherwise you will suffer a long and painful life &#8211; as a programmer.</p>
<p><strong>A story all too common &#8230;</strong></p>
<p>I was chatting with a nerd friend of mine recently and he describe a situation he was dealing with &#8211; a situation that made him consider leaving his job.</p>
<p>&#8230; He described his hair-pulling situation where his client was adding new functionality with each meeting. It was becoming such a regular event, that he was purposefully avoiding meetings. </p>
<p>These additions are commonly known as &#8216;change request&#8217; and unfortunately, my old buddy was not handling them the way change request should be handled. </p>
<p>This is the scenario:</p>
<ul>
<li>Client request additional features/functionality NOT in the original quote.</li>
<li>Client expects these additions at no additional cost.</li>
<li>Client expects the project to be finished by the original deadline, even though they&#8217;ve requested a bunch of new stuff.</li>
<li>&#8230; Client gets angry because you can&#8217;t meet the above expectations.</li>
<li>You start hating your job because the rug keeps getting pulled out from under you and yet, all the fingers are pointed at you!</li>
</ul>
<p><strong>Programmers need to draw that line in the sand, and then stand their ground!</strong></p>
<p>The frustration is really rooted in how YOU manage the client&#8217;s expectations. You (as the programmer) need to be clear at the start, on how things are going to go with regards to the project. </p>
<p><strong>Put it down on paper.<br />
</strong><br />
You need to clearly define the parameters of the work (what you&#8217;re doing exactly) and then set that down on paper where everyone concerned signs on the dotted line and everyone gets a copy. </p>
<p>It should also be clearly stated in the document (and to their faces) that any changes will affect the price and the deadline. </p>
<p>&#8230; If they want to add features or change requested functionality, the price will change and the deadline will be pushed back &#8211; it only makes sense that it will take longer to finish. </p>
<p><strong>The contract before the work.</strong></p>
<p>This paperwork should all be hammered out <strong>before</strong> you write one line of code. Actually, this should be done before you do any real work on the project.</p>
<p>I&#8217;ve found that (most of the time) if you establish the working relationship at the beginning (defined by the contract), the vast majority of clients will respect you, and the process much more so. </p>
<p>&#8230; Rampant change request will simply not happen because the client understands.</p>
<p>That said, if your client still turns out to be a little dense, you need to pull out the paperwork and stand your ground. </p>
<p><strong>You have been warned:</strong></p>
<p>If you don&#8217;t do this, programming will be like the slow pull on your back molar &#8230; as the dentist extracts your tooth. And then, there will be blood.</p>
<p>Stefan Mischook</p>
<p>www.killerphp.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/managing-clients-draw-the-line-and-hold-your-ground/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
