<?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:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>PHP 10.0 Blog</title>
	<atom:link href="http://php100.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://php100.wordpress.com</link>
	<description>What if...</description>
	<pubDate>Mon, 23 Jun 2008 22:49:33 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
	<language>en</language>
			<item>
		<title>duck operator</title>
		<link>http://php100.wordpress.com/2008/06/05/duck-operator/</link>
		<comments>http://php100.wordpress.com/2008/06/05/duck-operator/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 09:01:30 +0000</pubDate>
		<dc:creator>Stas</dc:creator>
		
		<category><![CDATA[Engine]]></category>

		<category><![CDATA[duck typing]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[typing]]></category>

		<guid isPermaLink="false">http://php100.wordpress.com/?p=45</guid>
		<description><![CDATA[Crazy idea for today - operator to check conformance to specific interface without actually implementing it. Why one would want that?
Well, if you are into duck typing style of programming, it may be interesting for you to have an object that implements certain set of functions, but not necessary declares it at class definition. Languages [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Crazy idea for today - operator to check conformance to specific interface without actually implementing it. Why one would want that?<br />
Well, if you are into <a href="http://en.wikipedia.org/wiki/Duck_typing">duck typing</a> style of programming, it may be interesting for you to have an object that implements certain set of functions, but not necessary declares it at class definition. Languages like Smalltalk do it all day along, so why PHP couldn&#8217;t? The idea is it looks like this:</p>
<pre style="font-size:1.3em;"><span style="color:#000000;"><span style="color:#007700;">interface </span><span style="color:#0000bb;">Cow </span><span style="color:#007700;">{
  function </span><span style="color:#0000bb;">moo</span><span style="color:#007700;">();
  function </span><span style="color:#0000bb;">eatGrass</span><span style="color:#007700;">();
}
</span><span style="color:#ff8000;">/* somewhere else */
</span><span style="color:#007700;">class </span><span style="color:#0000bb;">MooingGrassEater </span><span style="color:#007700;">{
  function </span><span style="color:#0000bb;">moo</span><span style="color:#007700;">() {</span><span style="color:#ff8000;">/*stuff */</span><span style="color:#007700;">}
  function </span><span style="color:#0000bb;">eatGrass</span><span style="color:#007700;">() {</span><span style="color:#ff8000;">/*stuff */</span><span style="color:#007700;">}
  </span><span style="color:#ff8000;">/*stuff */
</span><span style="color:#007700;">}
</span><span style="color:#ff8000;">/* somewhere else */
</span><span style="color:#007700;">function </span><span style="color:#0000bb;">CowConsumer</span><span style="color:#007700;">(</span><span style="color:#0000bb;">$classname</span><span style="color:#007700;">) {
</span><span style="color:#0000bb;">$foo </span><span style="color:#007700;">= new </span><span style="color:#0000bb;">$classname</span><span style="color:#007700;">();
if(</span><span style="color:#0000bb;">$foo </span><span style="color:#007700;">implements </span><span style="color:#0000bb;">Cow</span><span style="color:#007700;">) {
  echo </span><span style="color:#dd0000;">"Behold the cow:"</span><span style="color:#007700;">;
  </span><span style="color:#0000bb;">$foo</span><span style="color:#007700;">-&gt;</span><span style="color:#0000bb;">eatGrass</span><span style="color:#007700;">();
  </span><span style="color:#0000bb;">$foo</span><span style="color:#007700;">-&gt;</span><span style="color:#0000bb;">moo</span><span style="color:#007700;">();
} else {
  echo </span><span style="color:#dd0000;">"$classname is not a cow!"</span><span style="color:#007700;">;
}</span></span></pre>
<p><code>implements</code> here is our duck operator. Note that unlike <a href="http://php.net/instanceof"><code>instanceof</code></a>, no formal relationship is required, but only practical implementation. So another name would be &#8220;common law marriage operator&#8221; <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Of course, this one would be anathema to &#8220;strict OO&#8221; camp, so if you subscribe to that, just ignore this post <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Two challenges to this idea are:</p>
<ol>
<li>__call() - we have no way to know what __call does. So either we ignore it or say &#8220;ok, __call does everything&#8221;. I&#8217;d go for the latter.</li>
<li>Performance. To check duck implementation one basically would have to match method lists, which amounts to number of is_callable calls equal to the number of methods in interface being checked.</li>
</ol>
<p>Actually, PHP uses this style sometimes - see, for example, <a href="http://il.php.net/manual/en/function.stream-wrapper-register.php">user defined streams</a>. But there&#8217;s no nice way to work with it from the consumer side.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/php100.wordpress.com/45/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/php100.wordpress.com/45/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/php100.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/php100.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/php100.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/php100.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/php100.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/php100.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/php100.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/php100.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/php100.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/php100.wordpress.com/45/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=php100.wordpress.com&blog=480516&post=45&subd=php100&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://php100.wordpress.com/2008/06/05/duck-operator/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/php100-128.jpg" medium="image">
			<media:title type="html">Stas</media:title>
		</media:content>
	</item>
		<item>
		<title>the secret of PHP</title>
		<link>http://php100.wordpress.com/2008/05/21/secret-of-php/</link>
		<comments>http://php100.wordpress.com/2008/05/21/secret-of-php/#comments</comments>
		<pubDate>Thu, 22 May 2008 05:31:51 +0000</pubDate>
		<dc:creator>Stas</dc:creator>
		
		<category><![CDATA[Engine]]></category>

		<category><![CDATA[Functions]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[critique]]></category>

		<guid isPermaLink="false">http://php100.wordpress.com/?p=44</guid>
		<description><![CDATA[So, another &#8220;PHP sucks&#8221;  post, this time from Jeff Atwood. He actually ends up even kind of praising PHP, surprised by its success. I have a couple of thoughts on that topic too.
First, people really need to stop reading something on PHP written somewhere in 2005 (probably about experiences that happened in 2001) and [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>So, another <a href="http://www.codinghorror.com/blog/archives/001119.html">&#8220;PHP sucks&#8221;</a>  post, this time from Jeff Atwood. He actually ends up even kind of praising PHP, surprised by its success. I have a couple of thoughts on that topic too.</p>
<p>First, people really need to stop reading something on PHP written somewhere in 2005 (probably about experiences that happened in 2001) and apply it to PHP as it is now, without even checking around for current trends. It&#8217;s as if people would dig up books from middle ages saying that there are only <a title="Fe Cu Ag Sn Au Hg Pb" href="http://elements.vanderkrogt.net/fecu.html">seven metals</a> in existence or debating about <a href="http://en.wikipedia.org/wiki/Phlogiston">phlogiston</a>, and would use it speaking about the modern chemistry. Come on!</p>
<p>Then the next thing apparently wrong with PHP is too many functions. Right. Since when? Since when having a lot of functions is a problem? Does it hurt anybody? Does it make writing PHP code harder? Does it make programmer less successful in achieving his goals?<br />
About keywords I could kind of understand - OK, a lot to remember (though I didn&#8217;t see anybody really having trouble to remember such complicated keywords as &#8220;while&#8221;, &#8220;if&#8221;, &#8220;class&#8221; or &#8220;public&#8221;) and it takes out some good English words that could be used as function/method names to confuse the enemy (who wouldn&#8217;t want to have function named endforeach() or static(), not to mention function()? too bad those are not available!). But complaining there&#8217;s too many actual functions that allow you to do real useful stuff? <strong>That </strong> is the thing that is bothering people? <strong>That</strong> is what scares people away from using the language &#8220;for years&#8221;?</p>
<p>The next beef with PHP is that people write sucky code on it. No, really, they do? Must be something really wrong with this language. It&#8217;s not like people write <a href="http://thedailywtf.com/Series/2008/4/CodeSOD.aspx">mind-bogglingly sucky code</a> on every other &#8220;good&#8221; language on the planet. But I get it. The intent was - PHP makes easy to write sucky code. Yes, this is true. As true as &#8220;Porsche 997 makes it easy to drive at 100mph into a brick wall&#8221;.  PHP makes it easy to write various kinds of code - and if 90% of code written is sucky, then 90% of PHP code would be sucky. But my experience says quality of the production code almost never has much to do with the language, but only with the culture - organizational and personal, and with choosing right ways to do the job. The rest is just bad statistics in play. Like &#8220;I know 7-year-old writing websites, and his PHP code sucks&#8221;. I bet his Haskell code rules though <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>That&#8217;s not to say PHP couldn&#8217;t use improvement. It could. And <a href="http://wiki.php.net/doc/scratchpad/upgrade/53">it does, actually</a> - and there&#8217;s enough room for improvement still, in many areas. But it probably would never satisfy purists. It&#8217;s practical. Maybe it doesn&#8217;t allow you to write whole programs in one line of <a href="http://en.wikipedia.org/wiki/J_(programming_language)">uncomprehensible character soup</a> or play with high-level <a href="http://en.wikipedia.org/wiki/Category_theory">math theory concepts</a>, but it allows people to write web applications. So they do - so where&#8217;s the surprise when one morning somebody wakes up and discovers there&#8217;s a ton of web applications around and they are written in PHP? <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>P.S. I wish for every 50 &#8220;PHP sucks&#8221; blogs people would write one good <a href="http://wiki.php.net/rfc">RFC</a>.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/php100.wordpress.com/44/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/php100.wordpress.com/44/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/php100.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/php100.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/php100.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/php100.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/php100.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/php100.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/php100.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/php100.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/php100.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/php100.wordpress.com/44/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=php100.wordpress.com&blog=480516&post=44&subd=php100&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://php100.wordpress.com/2008/05/21/secret-of-php/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/php100-128.jpg" medium="image">
			<media:title type="html">Stas</media:title>
		</media:content>
	</item>
		<item>
		<title>Benchmarking Zend Framework loader</title>
		<link>http://php100.wordpress.com/2008/05/16/benchmarking-zend-framework-loader/</link>
		<comments>http://php100.wordpress.com/2008/05/16/benchmarking-zend-framework-loader/#comments</comments>
		<pubDate>Sat, 17 May 2008 00:41:42 +0000</pubDate>
		<dc:creator>Stas</dc:creator>
		
		<category><![CDATA[Functions]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[benchmark]]></category>

		<category><![CDATA[performance]]></category>

		<category><![CDATA[zend framework]]></category>

		<category><![CDATA[zend_loader]]></category>

		<guid isPermaLink="false">http://php100.wordpress.com/?p=43</guid>
		<description><![CDATA[One of the things I am doing in course of my work is performance benchmarks for various stuff - PHP,  Zend products, applications, etc. Performance in PHP space is currently like alchemy - there are a lot of rumors floating around about various properties of various stuff, but much less reliable data that can [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>One of the things I am doing in course of my work is performance benchmarks for various stuff - PHP,  Zend products, applications, etc. Performance in PHP space is currently like alchemy - there are a lot of rumors floating around about various properties of various stuff, but much less reliable data that can be verified and used. PHP has standard bench.php script, but it covers only a small part of what real-life applications do. I wish there were more established tests and methods for benchmarking PHP engine and applications. But benchmarking is a complicated subject, and variety of PHP platforms and applications makes it harder to create useful general-purpose benchmarks.</p>
<p>But more to the point. On <a href="http://framework.zend.com/">Zend Framework</a> <a href="http://framework.zend.com/archives">lists</a> there was a <a href="http://www.nabble.com/Zend-Loader-performance-to17170525.html#a17170525">topic</a> raised about performance impact of <a href="http://framework.zend.com/manual/en/zend.loader.html">Zend_Loader component</a>, which is used for - no surprise here! - loading classes, including autoloading, etc. Some folks thought that since Zend_Loader is executing some code before actual loading the required file, it must cost something. And it makes sense. However, how much does it cost?<br />
Well, the best way to know the price of something is to ask - and in this case, to run the test. So that&#8217;s what I did - I made a list of 725 Framework classes (ZF now has more than 1000 but I composed the list some time ago and had also to drop some to avoid some tricky dependencies). And I wrote two scripts - one that would load these classes with require_once and one that would load them using Zend_Loader::loadClass. Both the data file and the scripts are <a href="http://random-bits-of.info/fw-tests/">available for download</a> for those that would like to play with it. I tested them with and without Zend&#8217;s bytecode cache, to see how much one can save using bytecode caching technology.</p>
<p>So, the results were as follows:</p>
<p>Without bytecode cache:</p>
<pre>          require_once Zend_Loader
php5.2        4.42      4.42
php5.3        4.96      4.97
</pre>
<p>With bytecode cache:</p>
<pre>           require_once Zend_Loader
php5.2        63.04     56.62
php5.3        61.28     55.52
</pre>
<p>The numbers are requests per second, so more is better. Test run on Linux dual 2GHz AMD.</p>
<p>What we can conclude from these?</p>
<ol>
<li>It is <strong>very</strong> important to understand that it is a narrow-point benchmark that tests only one function in one specific way. Please do not draw conclusions on behavior of whole applications based only on this benchmark.</li>
<li> You <strong>do</strong> want to use bytecode caching. You won&#8217;t get 15x performance on any real application, but it does speed up loading very significantly.</li>
<li> Without bytecode caching, it doesn&#8217;t matter if you use require_once or Loader - both are equally slow <span class="moz-smiley-s1"><span> <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span></span></li>
<li> With bytecode caching, Loader has some overhead - explanation for this is that with file accesses eliminated, require_once of course has little left, while Loader still does a couple of function calls. But on real-life apps it&#8217;d probably be very small, provided that it&#8217;s about 10% even on loading-only huge-class-list benchmark, and your application probably does something useful instead of loading 700+ framework classes  :)) Meaning, fears of using the class loader vs. doing require_once are seriously overstated.</li>
<li>5.3 is still a moving target, to don&#8217;t put too much stake in current benchmark results for 5.3, they probably will be different by the time 5.3 is in release cycle (hopefully, better  :))</li>
</ol>
<p>P.S. This post does not talk about other things like &#8220;what if I stuff all classes I use into single file&#8221;, etc. Maybe next time.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/php100.wordpress.com/43/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/php100.wordpress.com/43/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/php100.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/php100.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/php100.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/php100.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/php100.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/php100.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/php100.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/php100.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/php100.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/php100.wordpress.com/43/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=php100.wordpress.com&blog=480516&post=43&subd=php100&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://php100.wordpress.com/2008/05/16/benchmarking-zend-framework-loader/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/php100-128.jpg" medium="image">
			<media:title type="html">Stas</media:title>
		</media:content>
	</item>
		<item>
		<title>displaying errors</title>
		<link>http://php100.wordpress.com/2008/05/07/displaying-errors/</link>
		<comments>http://php100.wordpress.com/2008/05/07/displaying-errors/#comments</comments>
		<pubDate>Wed, 07 May 2008 21:21:52 +0000</pubDate>
		<dc:creator>Stas</dc:creator>
		
		<category><![CDATA[Functions]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[display_errors]]></category>

		<category><![CDATA[errors]]></category>

		<guid isPermaLink="false">http://php100.wordpress.com/?p=42</guid>
		<description><![CDATA[PHP has a setting named display_errors that allows one to specify if various error messages should be sent to the output or not. It is recommended to keep it off, especially for the public sites, since it may reveal too much information about the application, and looks awful when seen on a public site.
However, for [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>PHP has a setting named <a href="http://www.php.net/manual/en/errorfunc.configuration.php">display_errors</a> that allows one to specify if various error messages should be sent to the output or not. It is recommended to keep it off, especially for the public sites, since it may reveal too much information about the application, and looks awful when seen on a public site.</p>
<p>However, for a developer an error report shown in time and place may prove quite valuable and usually is easier to work with then logs, etc. Of course that would mean - keep errors on in development, off in production. OK, then what we do if something weird happens in production and we want to see the errors, but we don&#8217;t want others to see them?</p>
<p>ASP has an interesting feature here - it allows you to display detailed error page only when accessed from local browser, but display something generic when accessed from &#8220;outside&#8221;. Maybe PHP could have some setting like display_errors=local which would enable display_errors for requests originating from developer machine but would disable it when outsider accesses it? Of course, this should be carefully done to prevent <a href="http://www.securitytracker.com/alerts/2005/Aug/1014777.html">security problems</a>, but I have a feeling it might be useful.</p>
<p>This can be done with an extension or even user-defined prepend script, but I think system-level mechanism might help people to use it correctly and avoid embarrassing themselves with publicly-displayed errors while keeping the stuff easy to spot for developers. Would that be useful?</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/php100.wordpress.com/42/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/php100.wordpress.com/42/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/php100.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/php100.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/php100.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/php100.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/php100.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/php100.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/php100.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/php100.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/php100.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/php100.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=php100.wordpress.com&blog=480516&post=42&subd=php100&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://php100.wordpress.com/2008/05/07/displaying-errors/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/php100-128.jpg" medium="image">
			<media:title type="html">Stas</media:title>
		</media:content>
	</item>
		<item>
		<title>the insecure nature</title>
		<link>http://php100.wordpress.com/2008/04/13/the-insecure-nature/</link>
		<comments>http://php100.wordpress.com/2008/04/13/the-insecure-nature/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 03:42:44 +0000</pubDate>
		<dc:creator>Stas</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[eweek]]></category>

		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://php100.wordpress.com/?p=41</guid>
		<description><![CDATA[I saw in Ben Ramsey&#8217;s blog the link to the eWeek&#8217;s &#8220;100 Most Influential People in IT&#8221; list and this:
60. Stefan Esser
Security researcher
Esser’s “Month of PHP Bugs” project thoroughly exposed the insecure nature of the widely deployed PHP language and forced a rethink of security in the open-source world.
I think Stefan Esser is doing great [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I saw in <a href="http://feeds.feedburner.com/~r/ramsey/~3/269705471/">Ben Ramsey&#8217;s blog</a> the link to the eWeek&#8217;s &#8220;<span class="Article_Title"><a href="http://www.eweek.com/c/a/IT-Management/100-Most-Influential-People-in-IT/3/">100 Most Influential People in IT</a>&#8221; list and this:</span></p>
<blockquote><p><span class="Article_Date"><span class="Article_Date"><span class="txt"><strong><span style="font-size:9pt;font-family:Verdana;color:black;">60.</span></strong><span style="font-size:9pt;font-family:Verdana;color:black;"> <strong></strong></span></span></span></span><span class="Article_Date"><span class="Article_Date"><span class="txt"><span style="font-size:9pt;font-family:Verdana;color:black;"><strong><span style="font-family:Verdana;">Stefan Esser</span></strong><strong><br />
<strong><span style="font-family:Verdana;">Security researcher</span></strong></strong><br />
Esser’s “Month of PHP Bugs” project thoroughly exposed the insecure nature of the widely deployed PHP language and forced a rethink of security in the open-source world.</span></span></span></span></p></blockquote>
<p>I think Stefan Esser is doing great work by helping make PHP more secure, and so I join the congratulations for being in the list. I don&#8217;t really know what 60 means - is half as influential as #30 (Brendan Eich, Mozilla&#8217;s CTO) and 1/4 of that of the number 15, Linus Torvalds himself - or they just had to order it because otherwise it is hard to comprehend - but I guess any place in the 100 is great.</p>
<p>What drew my attention, however, is the wording of the description. Namely &#8220;<span class="Article_Date"><span class="Article_Date"><span class="txt"><span style="font-size:9pt;font-family:Verdana;color:black;"><em>thoroughly exposed the insecure nature of the widely deployed PHP language</em>&#8221; and &#8220;</span></span></span></span><span class="Article_Date"><span class="Article_Date"><span class="txt"><span style="font-size:9pt;font-family:Verdana;color:black;"><em>forced a rethink of security in the open-source world</em>&#8220;. <a href="http://www.php-security.org/">MOPB </a>was very useful in making PHP better, however I do not see how reporting a bunch of vulnerabilities (most of them fixed by the time of publication - for which thanks to Stefan Esser as the responsible reporter) is &#8220;thoroughly exposing the insecure nature of PHP&#8221;. Bugs and bug reports - including ones that may affect security in one way or another - are nothing but commonplace in both open-source and non-open-source software worlds. There&#8217;s nothing groundbreaking or &#8220;exposing&#8221; - there&#8217;s no secret that programs have bugs and nobody ever denied that in context of PHP or made any claim that I know of that was disproved by publishing these bugs.<br />
</span></span></span></span></p>
<p>I also fail to see how the fact that PHP had 43 bugs (MOPB reported 46 issues, 3 of them not in PHP) in various versions and various modules could force anybody to &#8220;rethink of security in the open-source world&#8221;, whatever that might mean. Just for the right perspective, main PHP source has now around 80 extensions, issue count on bugs.php.net now nearing 45000 (of course, many of them bogus, but still). To compare, Firefox&#8217;s Bugzilla counter approaching 430000 by now. I do not know how many of the bugs reported can be thought of as security bugs, especially provided that many bugs not thought of as security problems per se could lead to security problems given suitable context. Probably a bunch of them. But I do not see how that leads to any &#8220;rethinking&#8221;. Of course it leads to the plain old thinking - how to fix such bugs and try and prevent future ones like them - but that&#8217;s how it always worked and always will work, nothing special.</p>
<p>I&#8217;m writing this not to cast any shadow on the list or Stefan Esser&#8217;s work. I just think while the recognition of the security research efforts is great, the sensationalist manner that was chosen by eWeek to describe it is just wrong.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/php100.wordpress.com/41/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/php100.wordpress.com/41/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/php100.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/php100.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/php100.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/php100.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/php100.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/php100.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/php100.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/php100.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/php100.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/php100.wordpress.com/41/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=php100.wordpress.com&blog=480516&post=41&subd=php100&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://php100.wordpress.com/2008/04/13/the-insecure-nature/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/php100-128.jpg" medium="image">
			<media:title type="html">Stas</media:title>
		</media:content>
	</item>
		<item>
		<title>ICU+PHP=love</title>
		<link>http://php100.wordpress.com/2007/12/12/icuphplove/</link>
		<comments>http://php100.wordpress.com/2007/12/12/icuphplove/#comments</comments>
		<pubDate>Wed, 12 Dec 2007 19:39:26 +0000</pubDate>
		<dc:creator>Stas</dc:creator>
		
		<category><![CDATA[Functions]]></category>

		<category><![CDATA[i18n]]></category>

		<category><![CDATA[icu]]></category>

		<category><![CDATA[international]]></category>

		<category><![CDATA[intl]]></category>

		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://php100.wordpress.com/2007/12/12/icuphplove/</guid>
		<description><![CDATA[I&#8217;ve posted the first beta of PHP Internationalization extension, bringing support for some ICU functions to PHP. Documentation can be read in PHP manual, and the downloads are available on PECL site.
If everything goes well, we&#8217;d have that one in 5.3, and then probably add more functionality (suggestions welcome!).
       [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;ve posted the first beta of <a href="http://docs.php.net/manual/en/intro.intl.php">PHP Internationalization extension</a>, bringing support for some ICU functions to PHP. Documentation can be read in <a href="http://docs.php.net/manual/en/book.intl.php">PHP manual</a>, and the downloads are available <a href="http://pecl.php.net/package/intl">on PECL site.</a></p>
<p>If everything goes well, we&#8217;d have that one in 5.3, and then probably add more functionality (suggestions welcome!).</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/php100.wordpress.com/40/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/php100.wordpress.com/40/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/php100.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/php100.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/php100.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/php100.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/php100.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/php100.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/php100.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/php100.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/php100.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/php100.wordpress.com/40/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=php100.wordpress.com&blog=480516&post=40&subd=php100&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://php100.wordpress.com/2007/12/12/icuphplove/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/php100-128.jpg" medium="image">
			<media:title type="html">Stas</media:title>
		</media:content>
	</item>
		<item>
		<title>ZendCon 2007 presentation slides</title>
		<link>http://php100.wordpress.com/2007/10/11/zendcon-2007-presentation-slides/</link>
		<comments>http://php100.wordpress.com/2007/10/11/zendcon-2007-presentation-slides/#comments</comments>
		<pubDate>Thu, 11 Oct 2007 19:43:27 +0000</pubDate>
		<dc:creator>Stas</dc:creator>
		
		<category><![CDATA[Presenting]]></category>

		<category><![CDATA[speaking]]></category>

		<category><![CDATA[zendcon]]></category>

		<category><![CDATA[zendcon07]]></category>

		<guid isPermaLink="false">http://php100.wordpress.com/2007/10/11/zendcon-2007-presentation-slides/</guid>
		<description><![CDATA[The slides from my ZendCon 2007 Presentation (PDF) - they will be also on the main ZendCon site  eventually  but in the meantime they are here.
The example code can be downloaded from the Devzone.
       ]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The slides from my <a href="http://php100.files.wordpress.com/2007/10/zendcon-2007-rias-with-php-and-zend-framework.ppt" title="ZendCon 2007 Presentation - RIA &amp; PHP">ZendCon 2007 Presentation</a> (<a href="http://php100.files.wordpress.com/2007/10/zendcon-2007-rias-with-php-and-zend-framework.pdf" title="ZendCon 2007 Presentation - RIA &amp; PHP (PDF)">PDF</a>) - they will be also on the main <a href="http://www.zendcon.com/">ZendCon site</a>  eventually  but in the meantime they are here.</p>
<p>The example code can be downloaded from the <a href="http://devzone.zend.com/article/2442-PHP-and-RIA">Devzone</a>.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/php100.wordpress.com/38/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/php100.wordpress.com/38/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/php100.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/php100.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/php100.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/php100.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/php100.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/php100.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/php100.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/php100.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/php100.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/php100.wordpress.com/38/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=php100.wordpress.com&blog=480516&post=38&subd=php100&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://php100.wordpress.com/2007/10/11/zendcon-2007-presentation-slides/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/php100-128.jpg" medium="image">
			<media:title type="html">Stas</media:title>
		</media:content>
	</item>
		<item>
		<title>ZendCon 2007</title>
		<link>http://php100.wordpress.com/2007/10/02/zendcon-2007/</link>
		<comments>http://php100.wordpress.com/2007/10/02/zendcon-2007/#comments</comments>
		<pubDate>Wed, 03 Oct 2007 00:48:55 +0000</pubDate>
		<dc:creator>Stas</dc:creator>
		
		<category><![CDATA[Presenting]]></category>

		<category><![CDATA[speaking]]></category>

		<category><![CDATA[zendcon]]></category>

		<category><![CDATA[zendcon07]]></category>

		<guid isPermaLink="false">http://php100.wordpress.com/2007/10/02/zendcon-2007/</guid>
		<description><![CDATA[
I will be speaking at ZendCon  2007 on October 9th, about PHP and Rich Apps development. Welcome!
       ]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img src="http://s3.amazonaws.com/zendcon/ZendCon07_SpeakerBadge.gif" alt="ZendCon speaker" height="125" width="130" /></p>
<p>I will be speaking at <a href="http://www.zendcon.com/index.php" title="ZendCon 2007">ZendCon  2007</a> on October 9th, about PHP and Rich Apps development. Welcome!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/php100.wordpress.com/36/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/php100.wordpress.com/36/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/php100.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/php100.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/php100.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/php100.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/php100.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/php100.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/php100.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/php100.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/php100.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/php100.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=php100.wordpress.com&blog=480516&post=36&subd=php100&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://php100.wordpress.com/2007/10/02/zendcon-2007/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/php100-128.jpg" medium="image">
			<media:title type="html">Stas</media:title>
		</media:content>

		<media:content url="http://s3.amazonaws.com/zendcon/ZendCon07_SpeakerBadge.gif" medium="image">
			<media:title type="html">ZendCon speaker</media:title>
		</media:content>
	</item>
		<item>
		<title>Namespaces FAQ</title>
		<link>http://php100.wordpress.com/2007/08/17/namespaces-faq/</link>
		<comments>http://php100.wordpress.com/2007/08/17/namespaces-faq/#comments</comments>
		<pubDate>Fri, 17 Aug 2007 21:57:34 +0000</pubDate>
		<dc:creator>Stas</dc:creator>
		
		<category><![CDATA[Engine]]></category>

		<category><![CDATA[faq]]></category>

		<category><![CDATA[language]]></category>

		<category><![CDATA[namespaces]]></category>

		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://php100.wordpress.com/2007/08/17/namespaces-faq/</guid>
		<description><![CDATA[We now have an implementation of namespaces in PHP 6 HEAD, so here&#8217;s a short FAQ about how they work for those that are too laz^H^H^Hbusy to read the whole README.namespaces.
Q. Why PHP needs namespaces?
A. Because long names like PEAR_Form_Loader_Validate_Table_Element_Validator_Exception are really tiresome.
Q. What is the main goal of the namespace implementation?
A. To solve the [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>We now have an implementation of <a href="http://php100.wordpress.com/2007/07/05/namespaces-can-we-keep-it-simple/">namespaces</a> in PHP 6 HEAD, so here&#8217;s a short FAQ about how they work for those that are too laz^H^H^Hbusy to read the whole <a href="http://cvs.php.net/viewvc.cgi/php-src/README.namespaces?view=markup">README.namespaces</a>.</p>
<p>Q. Why PHP needs namespaces?<br />
A. Because long names like PEAR_Form_Loader_Validate_Table_Element_Validator_Exception are really tiresome.</p>
<p>Q. What is the main goal of the namespace implementation?<br />
A. To solve the problem above.</p>
<p>Q. What &#8220;namespace X::Y::Z&#8221; means?<br />
A: 1. All class/function/method names are prefixed with X::Y::Z.<br />
2. All class/function/method names are resolved first against X::Y::Z.</p>
<p>Q. What &#8220;import X::Y::Z as Foo&#8221; means?<br />
A. Every time there&#8217;s Foo as a class/function name or prefix to the name, it really means X::Y::Z</p>
<p>Q. What &#8220;import X::Y::Z&#8221; means?<br />
A. &#8220;import X::Y::Z as Z&#8221;, then see above.</p>
<p>Q. What &#8220;import Foo&#8221; means?<br />
A. Nothing.</p>
<p>Q. What is the scope of namespace and import?<br />
A. Current file.</p>
<p>Q. Can same namespace be used in multiple files?<br />
A. Yes.</p>
<p>Q. Is there any relation between namespaces X::Y::Z and X::Y?<br />
A. Only in programmer&#8217;s mind.</p>
<p>Q. How do I import all classes from namespace X::Y::Z into global space?<br />
A. You don&#8217;t, since it brings back the global space pollution problem.<br />
Instead, you import X::Y::Z and then prefix your classes with Z::.</p>
<p>Q. But doesn&#8217;t it mean I will still have long names?<br />
A. Not longer then three elements: Namespace::Class::Element.</p>
<p>Q. Why it is not implemented like in &lt;insert your favorite language here&gt;?<br />
A. Because PHP is not &lt;insert your favorite language here&gt; <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Also we are considering to add  one more feature to namespaces - ability to declare a namespaced constant - i.e. constant named Name::Space::NAME - with same resolution rules like classes - with const operator. Consequently it may be also possible to have const NAME = &#8216;value&#8217; in global context, meaning the same as define(&#8217;NAME&#8217;, &#8216;value&#8217;).</p>
<p>Also note namespaces are still work in progress, so it may happen it would be changed a lot when it&#8217;s released.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/php100.wordpress.com/35/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/php100.wordpress.com/35/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/php100.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/php100.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/php100.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/php100.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/php100.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/php100.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/php100.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/php100.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/php100.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/php100.wordpress.com/35/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=php100.wordpress.com&blog=480516&post=35&subd=php100&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://php100.wordpress.com/2007/08/17/namespaces-faq/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/php100-128.jpg" medium="image">
			<media:title type="html">Stas</media:title>
		</media:content>
	</item>
		<item>
		<title>Linux World</title>
		<link>http://php100.wordpress.com/2007/08/01/linux-world/</link>
		<comments>http://php100.wordpress.com/2007/08/01/linux-world/#comments</comments>
		<pubDate>Wed, 01 Aug 2007 23:01:33 +0000</pubDate>
		<dc:creator>Stas</dc:creator>
		
		<category><![CDATA[Presenting]]></category>

		<category><![CDATA[linuxworld]]></category>

		<category><![CDATA[speaking]]></category>

		<guid isPermaLink="false">http://php100.wordpress.com/2007/08/01/linux-world/</guid>
		<description><![CDATA[
I will be speaking at Linux World on August 7, 11:30-12:30 about PHP and Web 2.0 development. So everybody who&#8217;s going to be there is welcome to come and listen  


       ]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://php100.files.wordpress.com/2007/08/speaker_button.gif" title="speaker_button.gif"><img src="http://php100.files.wordpress.com/2007/08/speaker_button.gif" alt="Speaking @ Linux World" border="0" /></a></p>
<p>I will be <a href="http://www.linuxworldexpo.com/live/12/events/12SFO07A/conference/tracksessions/Quick+and+Dirty+Development/QMONYB000ZU3">speaking at Linux World</a> on August 7, 11:30-12:30 about PHP and Web 2.0 development. So everybody who&#8217;s going to be there is welcome to come and listen <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><font color="red" face="Times New Roman" size="3"><strong><br />
</strong></font></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/php100.wordpress.com/33/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/php100.wordpress.com/33/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/php100.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/php100.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/php100.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/php100.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/php100.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/php100.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/php100.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/php100.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/php100.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/php100.wordpress.com/33/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=php100.wordpress.com&blog=480516&post=33&subd=php100&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://php100.wordpress.com/2007/08/01/linux-world/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/php100-128.jpg" medium="image">
			<media:title type="html">Stas</media:title>
		</media:content>

		<media:content url="http://php100.files.wordpress.com/2007/08/speaker_button.gif" medium="image">
			<media:title type="html">Speaking @ Linux World</media:title>
		</media:content>
	</item>
	</channel>
</rss>