<?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>Jansch.nl &#187; PHP</title>
	<atom:link href="http://www.jansch.nl/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jansch.nl</link>
	<description>Just another WordPress site</description>
	<lastBuildDate>Sun, 31 Jul 2011 14:58:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Debugging parameters for CLI apps using Eclipse PDT</title>
		<link>http://www.jansch.nl/2009/05/03/debugging-parameters-for-cli-apps-using-eclipse-pdt/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=debugging-parameters-for-cli-apps-using-eclipse-pdt</link>
		<comments>http://www.jansch.nl/2009/05/03/debugging-parameters-for-cli-apps-using-eclipse-pdt/#comments</comments>
		<pubDate>Sun, 03 May 2009 08:55:39 +0000</pubDate>
		<dc:creator>Ivo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[pdt]]></category>

		<guid isPermaLink="false">http://www.jansch.nl/?p=1801</guid>
		<description><![CDATA[I write quite a lot of command line utilities in PHP and luckily PDT makes it easy to debug command line scripts. The thing with command line scripts is that often they require parameters passed on the command line, and PDT offers an easy way to pass them when you debug a script. Assuming you [...]]]></description>
			<content:encoded><![CDATA[<p>I write quite a lot of command line utilities in PHP and luckily PDT makes it easy to debug command line scripts.</p>
<p>The thing with command line scripts is that often they require parameters passed on the command line, and PDT offers an easy way to pass them when you debug a script. </p>
<p>Assuming you already have debugging in Eclipse working (using either XDebug or Zend Debugger, both will work with this feature), here are the steps to debug a command line script using command line parameters:</p>
<ol>
<li>Right-click the script you want to debug and select 'Debug As...' and from the context menu that appears, select 'Debug Configurations...', like this:<br/><br />
<img src="http://new.jansch.nl/wp-content/uploads/2009/05/picture-28.png" alt="PDT context menu" title="PDT context menu" width="471" height="110" class="size-full wp-image-1791" /></p>
<li>In the debug configurations screen that appears, select the 'PHP Script Arguements' tab. In the text box that appears, you can add fixed parameters (e.g. --key=value), but it's much more useful to use Eclipse's dynamic parameters, like this:<br/><br />
<img src="http://new.jansch.nl/wp-content/uploads/2009/05/picture-29.png" alt="picture-29" title="picture-29" width="400" height="255" class="alignnone size-full wp-image-1781" /><br />
<br/>In this case I entered --visitor=${string_prompt:Visitor} which means: pass --visitor= to the script when debugging, but ask me to enter a value named 'Visitor'. </p>
<li>You can use the 'Variables' button to enter variables like this using a more visual wizard. There are many different prompts, string_prompt is just one example; you can prompt for folders and passwords as well, and you can inject certain system variables as a parameter using this wizard)
<li>After you've saved the Debug Configurations, again right-click the script you want to debug, and select 'Debug As...' and then 'PHP Script'.
<li>Eclipse now pops up the prompt, like this:<br/><br />
<img src="http://new.jansch.nl/wp-content/uploads/2009/05/picture-30.png" alt="picture-30" title="picture-30" width="485" height="193" class="alignnone size-full wp-image-1771" />
</ol>
<p>Voila, you can now debug your command line script by passing in dynamic parameters whenever you start the debug session.</p>
<p>P.S. This not only works in Eclipse PDT but also in Zend Studio for Eclipse and Aptana (in theory, haven't tried either yet).</p>
<p>P.P.S. No, I didn't create a script that allows me to track individual visitors, it's an archive processor for <a href="http://flackr.net">Flackr</a> that uses the Visitor design pattern to make it easier to write multiple processors. I love Design Patterns.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jansch.nl/2009/05/03/debugging-parameters-for-cli-apps-using-eclipse-pdt/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Why did the chicken cross the road?</title>
		<link>http://www.jansch.nl/2008/11/09/why-did-the-chicken-cross-the-road/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=why-did-the-chicken-cross-the-road</link>
		<comments>http://www.jansch.nl/2008/11/09/why-did-the-chicken-cross-the-road/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 15:17:20 +0000</pubDate>
		<dc:creator>Ivo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[chicken]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[joke]]></category>
		<category><![CDATA[road]]></category>

		<guid isPermaLink="false">http://www.jansch.nl/2008/11/09/why-did-the-chicken-cross-the-road/</guid>
		<description><![CDATA[So what does the PHP community think about why the chicken crossed the road? Lukas Smith: "We should ignore the chicken for now and make sure that the parse-ability, typeability and ide compatibility of what separates this side from the road from the other side is better than the current separator proposal." * Zoe Slattery: [...]]]></description>
			<content:encoded><![CDATA[<p>So what does the PHP community think about why the chicken crossed the road?</p>
<p><b>Lukas Smith: </b>"We should ignore the chicken for now and make sure that the parse-ability, typeability and ide compatibility of what separates this side from the road from the other side is better than the current separator proposal." <small><a href="http://wiki.php.net/rfc/namespaceseparator">*</a></small></p>
<p><b>Zoe Slattery: </b>"To ensure the quality of the chicken once it has crossed the road, the code coverage of /ext/road needs to be at least 80%. The chicken will test || die." <small><a href="http://zoomsplatter.blogspot.com/2008/08/php-test-coverage.html">*</a></small></p>
<p><b>Chris Shiflett: </b>"The chicken should be more aware of Cross Road Scripting vulnerabilities when crossing the road like that." <small><a href="http://shiflett.org/blog/2005/jan/xss-cheatsheet">*</a></small></p>
<p><b>Stefan Esser: </b>"Ze chicken needs to be protected from ze stupid dumbasses that have no clue how to secure ze road. I have demonstrated zeveral vulnerabilities in ze road before, but I was ignored." <small><a href="http://blog.php-security.org/archives/84-PHP-5.2.3-released....html">*</a></small></p>
<p><b>Lorna Mitchell: </b>"We do NOT exlude roosters, but we need to encourage the chicken so that it knows that it is ok to cross the obviously male-dominated road." <small><a href="http://www.vimeo.com/1224036">*</a></small></p>
<p><b>Terry Chay: </b>"Fuck, is crossing the road a design pattern? Shit no, it's not a fucking algorithm either. When I blog about it, I'm, like, the guy that totally killed the fucking chicken." <small><a href="http://terrychay.com/blog/article/defining-design-patterns.shtml">*</a></small></p>
<p><b>Paul M Jones: </b>"I don't care why the chicken crossed the road, but we need to benchmark how fast the chicken crossed the road using all the major frameworks. And Chay is a bully for making it cross the road!" <small><a href="http://paul-m-jones.com/?p=315">*</a></small> <small><a href="http://paul-m-jones.com/?p=381">*</a></small> </p>
<p><b>Ivo Jansch: </b>"Why did the chicken cross the road? [jaws]Dumdumdumdum...[/jaws]" <small><a href="http://twitter.com/DragonBe/statuses/965193260">*</a></small></p>
<p><b>Cal Evans: </b>"Good morning twitterverse! Today is an AWESOME day for the chicken to cross the road! But if it doesn't cross the road in 60 seconds, I'll move to Holland." <small><a href="http://twitter.com/CalEvans/statuses/970429120">*</a></small> <small><a href="http://www.sixtysecondtech.com/">*</a></small> <small><a href="http://blog.calevans.com/2008/09/25/351/">*</a></small></p>
<p><b>Paul Reinheimer: </b>"The chicken crossed the road because I was on the other side. In my KISS outfit." <small><a href="http://flickr.com/photos/sebastian_bergmann/2527765720/">*</a></small></p>
<p><b>Ligaya Turmelle: </b>"Chicken Darlin!" (smooches chicken) <small><a href="http://search.twitter.com/search?q=lig+darlin">*</a></small></p>
<p><b>Derick Rethans: </b>"I debugged the chicken while it crossed the road. I will speak about the results at works, tek, ipc, phpnw, phpbarcelona, phplondon, phpquebec, froscon, phpvikinger, oscon, dpc, phpnorge and zendcon. Hey, alcohol!" <small><a href="http://www.derickrethans.nl/fall_conferences.php">*</a></small> <small><a href="http://flickr.com/photos/derickrethans/2339604511/in/pool-elephpants/">*</a></small></p>
<p><b>Michelangelo van Dam </b>"50 chickens are marching across the road!" <small><a href="http://flickr.com/photos/dragonbe/2978759167/">*</a></small></p>
<p><b>Harold Goldberg: </b>"We are The Chicken Company. To cross the road, please enter your Zend user id and password." <small><a href="http://twitter.com/jfanaian/statuses/972311901">*</a></small></p>
<p><b>Chris Cornutt: </b>"The chicken has posted an update on its blog today, explaining the reasons for crossing the road. Some of the reasons it mentioned are 'wanting to be on the other side', 'just because' and 'what road?'. Check out the full details in the chicken's post, as well as the community's responses to the crossing of the road <a href="http://www.jansch.nl/2008/11/09/why-did-the-chicken-cross-the-road/">here</a>." <small><a href="http://www.phpdeveloper.org">*</a></small></p>
<p><b>Laura Thomson: </b>"All chicken suck." <small><a href="http://www.laurathomson.com/2007/07/do-all-frameworks-really-suck/">*</a></small></p>
<p>Post your PHP community chicken theories below!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jansch.nl/2008/11/09/why-did-the-chicken-cross-the-road/feed/</wfw:commentRss>
		<slash:comments>54</slash:comments>
		</item>
		<item>
		<title>Apple, Microsoft and PHP are vulnerable</title>
		<link>http://www.jansch.nl/2008/08/26/apple-microsoft-and-php-are-vulnerable/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=apple-microsoft-and-php-are-vulnerable</link>
		<comments>http://www.jansch.nl/2008/08/26/apple-microsoft-and-php-are-vulnerable/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 07:25:19 +0000</pubDate>
		<dc:creator>Ivo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[cnet]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.jansch.nl/2008/08/26/apple-microsoft-and-php-are-vulnerable/</guid>
		<description><![CDATA[I recently came across this article: "Apple, Microsoft, PHP headline IBM's list of most vulnerable software" This article once again demonstrates the cluelessness that some people have regarding what PHP is. First of all, PHP is not a vendor, so "Apple, Microsoft &#038; PHP" does not make much sense. Furthermore, the only reason PHP even [...]]]></description>
			<content:encoded><![CDATA[<p>I recently came across this article: </p>
<p><a href="http://news.cnet.com/8301-13505_3-10004048-16.html">"Apple, Microsoft, PHP headline IBM's list of most vulnerable software"</a></p>
<p>This article once again demonstrates the cluelessness that some people have regarding what PHP is. First of all, PHP is not a vendor, so "Apple, Microsoft & PHP" does not make much sense. Furthermore, the only reason PHP even is mentioned in this context is that Joomla, Drupal and WordPress appear in the list. So PHP, a programming language, gets blamed for the security flaws that are in these packages. </p>
<p>With the same data, I might conclude that C is more insecure than PHP, after all there are more C-based vendors/product in the list than PHP products.</p>
<p>But they're not just clueless about PHP, they also list Linux as a Vendor in their top 10 list. Linux is an operating system, not a vendor. </p>
<p>Sometimes I wish these reporters would talk to people that know what their talking about before they write such an article. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jansch.nl/2008/08/26/apple-microsoft-and-php-are-vulnerable/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Dutch PHP Conference 2008 recap</title>
		<link>http://www.jansch.nl/2008/06/16/dutch-php-conference-2008-recap/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dutch-php-conference-2008-recap</link>
		<comments>http://www.jansch.nl/2008/06/16/dutch-php-conference-2008-recap/#comments</comments>
		<pubDate>Sun, 15 Jun 2008 23:21:54 +0000</pubDate>
		<dc:creator>Ivo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[amsterdam]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[dpc]]></category>
		<category><![CDATA[dpc08]]></category>
		<category><![CDATA[phpwomen]]></category>
		<category><![CDATA[rai]]></category>

		<guid isPermaLink="false">http://www.jansch.nl/2008/06/16/dutch-php-conference-2008-recap/</guid>
		<description><![CDATA[The Dutch PHP Conference 2008 is over. Since I was one of the organizers, I'll leave reviews of the contents etc. up to others, but here's my look on the conference from an organizing perspective. On friday, the conference started with a tutorial day. There were 5 tutorials: PHPUnit by Sebastian Bergmann, XDebug by Derick [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.phpconference.nl">Dutch PHP Conference 2008</a> is over. Since I was one of the organizers, I'll leave reviews of the contents etc. up to others, but here's my look on the conference from an organizing perspective.</p>
<p>On friday, the conference started with a tutorial day. There were 5 tutorials: PHPUnit by Sebastian Bergmann, XDebug by Derick Rethans, Zend Framework by Matthew Weier O'Phinney, Symfony by Fabien Potencier and Stefan Koopmanschap, and Advanced PHP: Design Patterns by Dennis-Jan Broerse. The tutorial day was attended by 150 people.</p>
<p>The day started pretty chaotic; the van that contained the registration badges arrived late, so there was hardly enough time to prepare the registration desk, so we had a small queue, but eventually everybody got in. The other issue we had was that we had asked the venue to provide power because people would bring there laptops. We started off however with only 4 outlets per room, and with 30-40 peple in the room, that obviously is not enough. Luckily, before the first break we were able to get a whole cart with power supplies, which we hastily dropped in the rooms. It looked a bit like a cable jungle, but at least people had juice. <img src='http://www.jansch.nl/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>For the rest, the day ran smoothly and according to plan, we had a nice lunch around noon, and overall feedback on the tutorial day was good.</p>
<p>At 17.30, we went to the Werck bar where we had dinner with the <a href="http://www.ibuildings.com">Ibuildings crew</a> and a bunch of Zenders (Matthew, Gaylord, Zeev, Steven and Howard). At 20.00, DPC conference people started showing up at the bar for the friday-night conference social. Dinner ran a bit late but around 20.30 we were able to join the other DPC visitors in the bar, just in time for the Netherlands-France euro2008 match. The party was great, the match was superb (NL won by 4-1), and the atmosphere was awesome. Speakers like <a href="http://terrychay.com/blog/">Terry Chay</a> and <a href="http://www.derickrethans.nl">Derick Rethans</a> were dressed up in orange (Terry even had created a custom orange shirt with php code on it) and we all had a great time.</p>
<p>At around 23.30 I went back the hotel area with Derick, Terry, Scott, Mike, Helgi and one of the phplondon guys who's name I can't remember. Derick and Terry walked back to their hotel and I had a last beer with the other guys. </p>
<p>I made some final adjustments to my slides for the opening address (which for some reason is more difficult after more than a couple of beers) and at around 1.30 I went to sleep. At 6 I woke up, checked if my adjustments were ok when sober, made some more changes, went over the slides for my afternoon presentation, and got prepared for the main conference day. </p>
<p>The main conference day went even smoother than the tutorial day. Registration was properly prepared and went smooth, everything was nice on schedule (with just a small exception caused by a crashing macbook right before the closing keynote), and I think we were able to organize a very nice conference (feedback is appreciated!).</p>
<p>We had some <a href="http://www.phparch.com">php|architect</a> books for sale during lunch. We had about 50 books because we had no clue if people would be willing to buy them, but we ended up selling 45 books within the first 20 minutes. We will bring a little more next year. <img src='http://www.jansch.nl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>An interesting observation was that the <a href="http://www.phpwomen.org">PHP Women</a> had trouble getting people to take their promotional shirts. Where at the <a href="http://www.phpconference.co.uk">PHPLondon Conference</a> they were gone before they knew it, in Amsterdam the men were a little hesitant to wear a shirt with the word 'women' on it (by the way only 1% of the DPC audience was female, which is startling). Together with Matthew Weier O'Phinney I was selected as the girls' official 'Booth Babe', a kind of supporting role with a special edition of the shirts, but I got some really weird remarks on that. I think the phpwomen have to change their marketing to cater to a continental european audience  or at least to get the men involved. (Suggestion: s/babe/hunk; babe is usually only used for the female version over here).</p>
<p>When the conference ended, there were drinks and snacks in the lounge, giving people the opportunity to discuss the presentations and talk to the speakers.</p>
<p>And then the day ended with a final speaker's dinner, and that was the end of the Dutch PHP Conference 2008. </p>
<p>There are already over a 100 <a href="http://www.flickr.com/photos/tags/dpc08">pictures on flickr</a>, which give a nice impression of the conference.</p>
<p>I'm already looking forward to organizing it again next year! (mark June 12 and 13 in your calendars!)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jansch.nl/2008/06/16/dutch-php-conference-2008-recap/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>The magic empty string that is not empty</title>
		<link>http://www.jansch.nl/2008/05/14/the-magic-empty-string-that-is-not-empty/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-magic-empty-string-that-is-not-empty</link>
		<comments>http://www.jansch.nl/2008/05/14/the-magic-empty-string-that-is-not-empty/#comments</comments>
		<pubDate>Wed, 14 May 2008 12:22:07 +0000</pubDate>
		<dc:creator>Ivo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[charsets]]></category>
		<category><![CDATA[control characters]]></category>
		<category><![CDATA[strings]]></category>

		<guid isPermaLink="false">http://www.jansch.nl/2008/05/14/the-magic-empty-string-that-is-not-empty/</guid>
		<description><![CDATA[I just helped one of our developers with a weird problem. The piece of code he was working on contained roughly this: &#160; if &#40;$str!=''&#41; &#123; echo &#34;Hello $str&#34;; &#125; &#160; He was importing a CSV file that didn't contain a value for $str, so $str was an empty string. So it should skip the [...]]]></description>
			<content:encoded><![CDATA[<p>I just helped one of our developers with a weird problem. The piece of code he was working on contained roughly this:</p>
<pre class="php">&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$str</span>!=<span style="color: #ff0000;">''</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
   <a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #ff0000;">&quot;Hello $str&quot;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<p>He was importing a CSV file that didn't contain a value for $str, so $str was an empty string. So it should skip the echo statement according to the above code, right?</p>
<p>Wrong. The script echoed "Hello ". It completely did the $str!='' wrong.</p>
<p>In a debugger, we watched the value for $str and watched it step through the code. We clearly saw that while $str was empty (""), it executed the next line. Almost seems like a bug in the != operator but that obviously can't be the case.</p>
<p>This kind of baffled us.</p>
<p>To investigate, we var_dumped the value of $str, and this gave a very weird output:</p>
<pre class="php">&nbsp;
   string<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span> <span style="color: #ff0000;">&quot;&quot;</span>
&nbsp;</pre>
<p>An empty string, with a length of 3? </p>
<p>Eventually we noticed there were some weird control characters in there that translate to an empty string in output, but that do have a length. (Somehow this reminds me of black holes and dark matter).</p>
<p>We removed the char from the file (apparently, in a text editor, you could do 'delete' on the char, and although this didn't have a visible effect as it was an empty string in a text editor as well, it did work and we were able to process the file).</p>
<p>Lesson learned: not every empty string is an empty string. Control characters can have very weird effects. It can make a string look empty while it's not.</p>
<p>By the way: the people who created this file did so on a mac and uploaded it to a linux server. The weird chars were only at the beginning of the file, only on the first line. Does anybody know if there is some mac/linux/windows conversion that could cause these chars to appear? </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jansch.nl/2008/05/14/the-magic-empty-string-that-is-not-empty/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>PHP and Scalability</title>
		<link>http://www.jansch.nl/2008/03/17/php-and-scalability/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=php-and-scalability</link>
		<comments>http://www.jansch.nl/2008/03/17/php-and-scalability/#comments</comments>
		<pubDate>Mon, 17 Mar 2008 14:07:32 +0000</pubDate>
		<dc:creator>Ivo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[replication]]></category>
		<category><![CDATA[scalability]]></category>
		<category><![CDATA[soa]]></category>

		<guid isPermaLink="false">http://www.jansch.nl/2008/03/17/php-and-scalability/</guid>
		<description><![CDATA[Martin, one of our system architects, has written an article on our corporate blog about scalability in PHP. He covers things like frontend generation (as opposed to request based caching), database replication, loosely coupled components to increase the scalability of the application, and he even mentions SOA (Service Oriented Architecture). We've recently had some good [...]]]></description>
			<content:encoded><![CDATA[<p>Martin, one of our system architects, has written an article on our corporate blog about <a href="http://www.ibuildings.com/blog/archives/751-How-we-build-scalable-web-applications.html">scalability in PHP</a>.</p>
<p>He covers things like frontend generation (as opposed to request based caching), database replication, loosely coupled components to increase the scalability of the application, and he even mentions SOA (Service Oriented Architecture). We've recently had some good results with implementing SOA architectures in PHP. Traditionally SOA is associated mostly with Java, but with PHP5 it's very well doable.</p>
<p><a href="http://www.ibuildings.com/blog/archives/751-How-we-build-scalable-web-applications.html">Read his post here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jansch.nl/2008/03/17/php-and-scalability/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interview in Computerworld UK</title>
		<link>http://www.jansch.nl/2008/02/26/interview-in-computerworld-uk/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=interview-in-computerworld-uk</link>
		<comments>http://www.jansch.nl/2008/02/26/interview-in-computerworld-uk/#comments</comments>
		<pubDate>Tue, 26 Feb 2008 18:38:00 +0000</pubDate>
		<dc:creator>Ivo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[computerworld]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[nexen]]></category>
		<category><![CDATA[stats]]></category>

		<guid isPermaLink="false">http://www.jansch.nl/2008/02/26/interview-in-computerworld-uk/</guid>
		<description><![CDATA[I was recently interviewed by Computerworld UK regarding our launch in the UK and the current rise of PHP in the corporate world. The result is online here. The 'leading PHP expert' phrase are not my words, but pretty cool. How do you see PHP pickup in your country? The Nexen stats are one thing, [...]]]></description>
			<content:encoded><![CDATA[<p>I was recently interviewed by Computerworld UK regarding <a href="http://www.ibuildings.com">our launch in the UK</a> and the current rise of PHP in the corporate world.</p>
<p>The result is <a href="http://www.computerworlduk.com/toolbox/open-source/blogs/index.cfm?entryid=533&blogid=14">online here</a>.</p>
<p>The 'leading PHP expert' phrase are not my words, but pretty cool. <img src='http://www.jansch.nl/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>How do you see PHP pickup in your country? The <a href="http://www.nexen.net/chiffres_cles/phpversion/17878-php_statistics_for_november_2007.php">Nexen stats</a> are one thing, but how businesses are using it is another. Post a comment to let me know how 'PHP' and 'Business' go together in your region. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jansch.nl/2008/02/26/interview-in-computerworld-uk/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Microsoft and Sun, the Real Story</title>
		<link>http://www.jansch.nl/2008/02/02/microsoft-and-sun-the-real-story/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=microsoft-and-sun-the-real-story</link>
		<comments>http://www.jansch.nl/2008/02/02/microsoft-and-sun-the-real-story/#comments</comments>
		<pubDate>Fri, 01 Feb 2008 23:40:40 +0000</pubDate>
		<dc:creator>Ivo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[lamp]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sun]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://www.jansch.nl/2008/02/02/microsoft-and-sun-the-real-story/</guid>
		<description><![CDATA[So one day, Scott McNealy, founder and chairman of Sun, read in his morning newspaper how the use of Java was rapidly diminishing, courtesy of something called 'The LAMP Stack'. Furiously, he called his accountant. Scott: "I knew this Java thing was a bad idea in the first place! I see only one solution. We [...]]]></description>
			<content:encoded><![CDATA[<p>So one day, Scott McNealy, founder and chairman of Sun, read in his morning newspaper how the use of Java was rapidly diminishing, courtesy of something called 'The LAMP Stack'. Furiously, he called his accountant.</p>
<blockquote><p>
Scott: "I knew this Java thing was a bad idea in the first place! I see only one solution. We need to buy this Lamp!"<br />
Accountant: "Euh, LAMP is not a company. It's an acronym. It's Linux , Apache, MySQL and PHP"<br />
Scott: "Then buy me Linux!"<br />
Accountant: "But we still have this Solaris thing.."<br />
Scott: "Then buy me Apache!"<br />
Accountant: "That's a foundation. Nothing to buy there."<br />
Scott: "Then buy me MySQL!"<br />
Accountant: "We don't do databases."<br />
Scott: "It's a database?"<br />
Accountant: "What rock have you been living under?"<br />
Scott: "Sweet. I can own the Lamp AND piss off Oracle at the same time!" (waves fake plastic magic wand) "Make it so!"
</p></blockquote>
<p>And <a href="http://www.mysql.com/news-and-events/sun-to-acquire-mysql.html">so it happened</a>.</p>
<p>Ten days later, Microsoft CEO Steve Ballmer was reading the <a href="http://cio.com/article/176250">CIO Magazine</a>, and read about this interesting thing called PHP, that according to the author you could use to write "WHAT?!". "WHAT?!", obviously a highly advanced and evolved version of "Hello World", caught his attention. So he called Bill Gates.</p>
<blockquote><p>
Steve: "Hey, you heard about this PHP thing?"<br />
Bill: "Pee Age Pee? You're not that old yet, are you?"<br />
Steve: "What? No, wait, it's a programming language, apparently better than ASP.NET."<br />
Bill: "Who cares if it's better. I mean; we made the worst operating systems ever and still rule. (Checked out Leopard yet? It is SO cool.)"<br />
Steve: "I don't know Bill... remember that internet thing that we didn't know about years ago? Kind of nearly missed the boat there."<br />
Bill: "Right. Didn't we solve that in the same way? Worst browser, highest market share, that sort of thing?"<br />
Steve: "Yes we did, but then we also didn't know about this 'mp3' thing until it was too late."<br />
Bill: "We did manage to make Zune the worst player, but somehow we're not market leader. Guess we got sloppy?"<br />
Steve: "Maybe it's just different times. Maybe we should have a different strategy."<br />
Bill: "Ok, so let's just buy PHP then."<br />
Steve: "It's not a company. But Encarta says it's written by a Rasmus Lerdorf."<br />
Bill: "So let's hire him."<br />
Steve: "Tried that. Didn't want to join. Can't blame him, works at Yahoo."<br />
Bill: "Then I guess we'll have to buy Yahoo."
</p></blockquote>
<p>So <a href="http://www.guardian.co.uk/feedarticle?id=7275684">it happened</a>.</p>
<p>Two of the most controversial announcements of this month, and both appear to be part of devious plots to take over the LAMP stack. What's next? My prediction: Red-Hat buys Zend; Oracle buys Red-Hat; Sun and IBM join forces to buy Oracle, Microsoft buys Sun, kills IBM and peace is restored in the galaxy.</p>
<p>P.S. Can you imagine Microsoft running sites like Flickr? These guys invented MS Paint!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jansch.nl/2008/02/02/microsoft-and-sun-the-real-story/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>PHP in 2007: Serious Business</title>
		<link>http://www.jansch.nl/2007/12/31/php-in-2007-serious-business/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=php-in-2007-serious-business</link>
		<comments>http://www.jansch.nl/2007/12/31/php-in-2007-serious-business/#comments</comments>
		<pubDate>Mon, 31 Dec 2007 00:24:38 +0000</pubDate>
		<dc:creator>Ivo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[2007]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[lookback]]></category>

		<guid isPermaLink="false">http://www.jansch.nl/2007/12/31/php-in-2007-serious-business/</guid>
		<description><![CDATA[Unfortunately, Derick Rethans just announced that this year he will do no more PHP lookback. Derick: thanks for the years that you wrote them, and let's hope someone else will take over. When I look back at 2007, what strikes me most is how strong a foothold PHP has gained in business environments. Sure, overall [...]]]></description>
			<content:encoded><![CDATA[<p>Unfortunately, Derick Rethans <a href="http://derickrethans.nl/php_look_back_2007.php">just announced</a> that this year he will do no more PHP lookback. Derick: thanks for the years that you wrote them, and let's hope someone else will take over. </p>
<p>When I look back at 2007, what strikes me most is how strong a foothold PHP has gained in business environments. Sure, overall PHP usage has been steadily growing as always, but PHP is seen more and more in large corporations. Sometimes next to java (a common scenario is a java J2EE backend with a PHP frontend), but sometimes it's just PHP. I have encountered publishing agencies, retailers, manufacturers and even large insurance companies. They are running internal applications on PHP, and although often their external websites are pretty plain, their internal systems are very critical systems, with cashflows that are depending entirely on applications written in PHP.</p>
<p>I think what we see happening here is very similar to what happened to Linux a few years ago. Started as someone's hobby, adopted by enthousiasts, then for a while growing in popularity as an important OS in internet environments, and finally making its way into the enterprise. It has happened to Linux, to Apache (and its spin-off projects), it is now happening to PHP and I predict for 2008 that we will also see MySQL moving more and more into that direction (it's ubiquitous on the internet already, it just needs to take the leap to the enterprise).</p>
<p>Some say that Ruby was a big threat to PHP in 2007 (thanks to the Ruby on Rails framework). I have <a href="http://www.jansch.nl/2006/06/17/i-know-kung-fu/">flirted a bit</a> with Ruby myself, and language-wise, it's much cleaner and consistent. However, selecting a programming language is not just about the language. It's about factors such as community support, learning curve, installed base, companies supporting it and many more factors, and I think PHP has proven to be pretty strong in that area.</p>
<p>A fact supporting the statement that PHP has become 'serious business' in 2007 is the availability and adoption of 'enterprise' tools. Zend, for example, has always catered to the developer with tools such as their <a href="http://www.zend.com/products/studio">Zend Studio IDE</a> and projects such as <a href="http://framework.zend.com">Zend Framework</a>, but now they also have tools that the managers of those developers will like, such as <a href="http://www.zend.com/products/core">Zend Core</a> and <a href="http://www.zend.com/products/platform">Zend Platform</a>; tools focusing on things like productivity, scalability, reliability and several other business-friendly *ity words. This is in line with other components of the LAMP stack: there's already '<a href="http://www.redhat.com/rhel/">Enterprise Linux</a>' and '<a href="http://www.mysql.com/products/enterprise/">Enterprise MySQL</a>'. Zend positions Zend Platform as 'Enterprise PHP' (they're just not calling it that yet <img src='http://www.jansch.nl/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ). It's natural for a company like Zend to move into this direction. I hope that more PHP companies will follow suit and release professional products around PHP, there's definitely a market for tools. </p>
<p>I think however that still the biggest driving force behind PHP aren't the companies, but the community. It's the community that leads; businesses just follow. With many conferences in 2007, it's clear that there's a big PHP community. The community is not just the 'celebrities' that write the language or that speak at conferences, it's everybody working with PHP. I've met many people from the community this year, and hope to meet even more next year. </p>
<p>It's great to be a part of this community!</p>
<p>P.S. It would also be nice to have another <a href="http://www.phpthrowdown.com">PHP Throwdown competition</a> next year, and it would be nice if someone would actually win this time (hi Elizabeth! <img src='http://www.jansch.nl/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jansch.nl/2007/12/31/php-in-2007-serious-business/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Book announcement: Enterprise PHP Development</title>
		<link>http://www.jansch.nl/2007/12/27/book-announcement-enterprise-php-development/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=book-announcement-enterprise-php-development</link>
		<comments>http://www.jansch.nl/2007/12/27/book-announcement-enterprise-php-development/#comments</comments>
		<pubDate>Thu, 27 Dec 2007 15:35:08 +0000</pubDate>
		<dc:creator>Ivo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[php|architect]]></category>
		<category><![CDATA[sdlc]]></category>

		<guid isPermaLink="false">http://www.jansch.nl/2007/12/27/book-announcement-enterprise-php-development/</guid>
		<description><![CDATA[I am happy to announce that I've just signed a contract with PHP&#124;Architect to write the book 'Enterprise PHP Development'. It will be one of the first books about PHP that will not cover PHP code. It is loosely based on my 'enterprise PHP development' talk at the Zend UK Business Conference last year. It [...]]]></description>
			<content:encoded><![CDATA[<p>I am happy to announce that I've just signed a contract with <a href="http://www.phparch.com/">PHP|Architect</a> to write the book 'Enterprise PHP Development'. </p>
<p>It will be one of the first books about PHP that will not cover PHP code. It is loosely based on my <a href="http://www.jansch.nl/2007/07/04/dpc2007-and-zend-uk-business-conference-recap/">'enterprise PHP development'</a> talk at the Zend UK Business Conference last year. It will cover the entire development lifecycle of a software project, but targeted at PHP development teams. From project management to test driven development and from architecture and design to release management. I will try to cover anything a development team needs to take their development efforts to the next level. </p>
<p>I'm planning to deliver a first version of the book in March, so I hope it will be released in the first half of 2008. </p>
<p>I'm currently working on the rough outline and writing the first chapters. I welcome any input from my blog readers. If there's any topic that you think should be covered in a book about professional PHP development, post your ideas below in the comments. Also, I will be looking for one or two case studies: companies that are already applying PHP in a professional context, and that have moved well beyond the 'scripting stadium'. If you work at such a company and are interested to work with me on a case study, let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jansch.nl/2007/12/27/book-announcement-enterprise-php-development/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>

