<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>iBlog - Ilia Alshanetsky - PHP</title>
    <link>http://ilia.ws/</link>
    <description>Here be dragons.</description>
    <dc:language>en</dc:language>
    <admin:errorReportsTo rdf:resource="mailto:" />
    <generator>Serendipity 1.4.1 - http://www.s9y.org/</generator>
    
    <image>
        <url>http://ilia.ws/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: iBlog - Ilia Alshanetsky - PHP - Here be dragons.</title>
        <link>http://ilia.ws/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>My Thoughts on HipHop </title>
    <link>http://ilia.ws/archives/213-My-Thoughts-on-HipHop.html</link>
            <category>PHP</category>
    
    <comments>http://ilia.ws/archives/213-My-Thoughts-on-HipHop.html#comments</comments>
    <wfw:comment>http://ilia.ws/wfwcomment.php?cid=213</wfw:comment>

    <slash:comments>17</slash:comments>
    <wfw:commentRss>http://ilia.ws/rss.php?version=2.0&amp;type=comments&amp;cid=213</wfw:commentRss>
    

    <author>ilia@ilia.ws (Ilia Alshanetsky)</author>
    <content:encoded>
    To paraphrase &lt;a href=&quot;http://blog.tabini.ca/2010/02/hiphop-what-you-need-to-know/&quot;&gt;Marco Tabini&lt;/a&gt; if you work with PHP you must be doing so in a pretty deep cave to have not heard of &lt;a href=&quot;http://developers.facebook.com/news.php?blog=1&amp;story=358&quot;&gt;HipHop for PHP&lt;/a&gt; and the fervor around it the prior to its official announcement this morning by Facebook. &lt;br /&gt;
&lt;br /&gt;
I had a fortune to be part of the small group of PHP community people who were invited to take a peak at its technology prior to its official release in January.  And I must admit it had been quite amusing to read some of the &lt;a href=&quot;http://sdtimes.com/blog/post/2010/01/30/Facebook-rewrites-PHP-runtime.aspx&quot;&gt;conjectures&lt;/a&gt; people were making about what it actually, given how off the mark most of their guesses were.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;So what is HipHop?&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
In the tersest of terms HipHop is a tool that converts PHP code into C++ code that when combined with a PHP compatible engine and extensions (ports of some native PHP extensions Facebook uses) library also written in C++ can be compiled using GCC into a binary. This binary can then be ran on a command line or as a web server daemon that utilizes &lt;a href=&quot;http://www.monkey.org/~provos/libevent/&quot;&gt;libevent&lt;/a&gt;. According to Facebook this can speed up applications by up to 50%, which is a pretty impressive improvement.&lt;br /&gt;
&lt;br /&gt;
It is not entirely surprising that world&#039;s largest PHP deployment, such as Facebook would look at solution that would allow them to halve their not inconsiderable count of servers or double capacity. Releasing this solution as Open Source is I think a great idea, and big kudos to Facebook for doing so.&lt;br /&gt;
&lt;br /&gt;
From a technical perspective the PHP optimization approach of converting PHP into a compiled language is not a completely new one, &lt;a href=&quot;http://www.roadsend.com/home/index.php&quot;&gt;Roadsend&lt;/a&gt; compiler, a commercial product has been around for a few years now and has been doing that with some degree of success. That said it is not a trivial task and from an engineering perspective presents a fairly tricky development challenge, especially when you want to allow regular, off-the-self scripts to work. Perhaps more importantly, HipHop not a theoretical solution, &quot;for you to test&quot;, it actually works, with most of the Facebook&#039;s servers running it and doing it well, on millions of lines of converted PHP code on daily basis, very impressive.&lt;br /&gt;
&lt;br /&gt;
At this point you are probably thinking, that if it is so great and it works, I&#039;ll deploy it on my servers as soon as I can get my hands on the source code. Well, unfortunately things are not quite so simple, there are few technical and deployment challenges you need to overcome. &lt;br /&gt;&lt;a href=&quot;http://ilia.ws/archives/213-My-Thoughts-on-HipHop.html#extended&quot;&gt;Continue reading &quot;My Thoughts on HipHop &quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 02 Feb 2010 16:47:46 -0500</pubDate>
    <guid isPermaLink="false">http://ilia.ws/archives/213-guid.html</guid>
    
</item>
<item>
    <title>Speaking at Confoo</title>
    <link>http://ilia.ws/archives/212-Speaking-at-Confoo.html</link>
            <category>PHP</category>
    
    <comments>http://ilia.ws/archives/212-Speaking-at-Confoo.html#comments</comments>
    <wfw:comment>http://ilia.ws/wfwcomment.php?cid=212</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://ilia.ws/rss.php?version=2.0&amp;type=comments&amp;cid=212</wfw:commentRss>
    

    <author>ilia@ilia.ws (Ilia Alshanetsky)</author>
    <content:encoded>
    I will be speaking again this year at PHP Quebec conference, which has now been renamed to &lt;a href=&quot;http://confoo.ca/en/&quot;&gt;Confoo&lt;/a&gt; and covers many more topics then just PHP, which should make things even more interesting. With over 100 talks things looks to be an amazing conference, my own talk with cover &lt;a href=&quot;http://confoo.ca/en/2010/session/php-5-3-awesome&quot;&gt;PHP 5.3 awesomeness&lt;/a&gt; &lt;img src=&quot;http://ilia.ws/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; 
    </content:encoded>

    <pubDate>Tue, 26 Jan 2010 08:16:19 -0500</pubDate>
    <guid isPermaLink="false">http://ilia.ws/archives/212-guid.html</guid>
    
</item>
<item>
    <title>Igbinary, The great serializer</title>
    <link>http://ilia.ws/archives/211-Igbinary,-The-great-serializer.html</link>
            <category>PHP</category>
    
    <comments>http://ilia.ws/archives/211-Igbinary,-The-great-serializer.html#comments</comments>
    <wfw:comment>http://ilia.ws/wfwcomment.php?cid=211</wfw:comment>

    <slash:comments>11</slash:comments>
    <wfw:commentRss>http://ilia.ws/rss.php?version=2.0&amp;type=comments&amp;cid=211</wfw:commentRss>
    

    <author>ilia@ilia.ws (Ilia Alshanetsky)</author>
    <content:encoded>
    If you are using PHP, chances are that at some point you needed to serialize PHP data, whether it was transparently done for you inside the PHP&#039;s session handler or directly so that complex PHP data types (objects &amp;amp; arrays) could be stored in DB or files, most people have done this.&lt;br /&gt;
&lt;br /&gt;
The default way of doing it is via a native PHP serializer, which creates a clear-text version of the data, which if you are serializing a fair bit of information ends up being rather verbose (read: BIG). This means that you end up having to store more data in memory, read more data from disk, etc... all of which slow down your application. As I was reading docs on &lt;a href=&quot;http://zmievski.org/&quot;&gt;Andrei&#039;s&lt;/a&gt; new memcache extension (&lt;a href=&quot;http://pecl.php.net/package/memcached&quot;&gt;memcached&lt;/a&gt;) I came across a binary serialization extension called &lt;a href=&quot;http://opensource.dynamoid.com/&quot;&gt;Igbinary&lt;/a&gt; written by Sulake Dynamoid Oy. This extension promised much more optimal serialization routines by using binary, rather then a clear text format. Sounded, good so I decided to run a few benchmarks on it. &lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://ilia.ws/archives/211-Igbinary,-The-great-serializer.html#extended&quot;&gt;Continue reading &quot;Igbinary, The great serializer&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 19 Nov 2009 11:05:41 -0500</pubDate>
    <guid isPermaLink="false">http://ilia.ws/archives/211-guid.html</guid>
    
</item>
<item>
    <title>APC &amp; Memcache the High Performance Duo Slides</title>
    <link>http://ilia.ws/archives/210-APC-Memcache-the-High-Performance-Duo-Slides.html</link>
            <category>PHP</category>
            <category>Talks</category>
    
    <comments>http://ilia.ws/archives/210-APC-Memcache-the-High-Performance-Duo-Slides.html#comments</comments>
    <wfw:comment>http://ilia.ws/wfwcomment.php?cid=210</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://ilia.ws/rss.php?version=2.0&amp;type=comments&amp;cid=210</wfw:commentRss>
    

    <author>ilia@ilia.ws (Ilia Alshanetsky)</author>
    <content:encoded>
    My slides from the &quot;APC &amp;amp; Memcache the High Performance Duo&quot; talk are now online and can be found &lt;a href=&quot;http://ilia.ws/files/ZendCon2009_APC_Memcache.pdf&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
In the slide I mentioned that memcache is available of *NIX only, which thanks to at least two attendees I know to be incorrect. It appears that there is a working (albeit old, circa 2006) memcache win32 version, which you can find here:&lt;br /&gt;
&lt;a href=&quot;http://jehiah.cz/projects/memcached-win32/&quot;&gt;http://jehiah.cz/projects/memcached-win32/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Once you install it, you&#039;d need to compile memcache PHP extension on win32 and then you should be set. 
    </content:encoded>

    <pubDate>Wed, 21 Oct 2009 17:03:08 -0400</pubDate>
    <guid isPermaLink="false">http://ilia.ws/archives/210-guid.html</guid>
    
</item>
<item>
    <title>Common Optimization Mistakes</title>
    <link>http://ilia.ws/archives/209-Common-Optimization-Mistakes.html</link>
            <category>PHP</category>
            <category>Talks</category>
    
    <comments>http://ilia.ws/archives/209-Common-Optimization-Mistakes.html#comments</comments>
    <wfw:comment>http://ilia.ws/wfwcomment.php?cid=209</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://ilia.ws/rss.php?version=2.0&amp;type=comments&amp;cid=209</wfw:commentRss>
    

    <author>ilia@ilia.ws (Ilia Alshanetsky)</author>
    <content:encoded>
    The slides from my &quot;Common Optimization Mistakes&quot; talk are now up and can be found &lt;a href=&quot;http://ilia.ws/files/ZendCon2009_Optimization_Mistakes.pdf&quot;&gt;here&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Tue, 20 Oct 2009 20:37:28 -0400</pubDate>
    <guid isPermaLink="false">http://ilia.ws/archives/209-guid.html</guid>
    
</item>
<item>
    <title>PHP 5.3 == Awesome Slides</title>
    <link>http://ilia.ws/archives/208-PHP-5.3-Awesome-Slides.html</link>
            <category>PHP</category>
            <category>Talks</category>
    
    <comments>http://ilia.ws/archives/208-PHP-5.3-Awesome-Slides.html#comments</comments>
    <wfw:comment>http://ilia.ws/wfwcomment.php?cid=208</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://ilia.ws/rss.php?version=2.0&amp;type=comments&amp;cid=208</wfw:commentRss>
    

    <author>ilia@ilia.ws (Ilia Alshanetsky)</author>
    <content:encoded>
    The slides from my talk, introducing PHP 5.3 are now up and can be found here:&lt;br /&gt;
&lt;a href=&quot;http://ilia.ws/files/ZendCon2009_PHP53_Intro.pdf&quot;&gt;Slides&lt;/a&gt; 
    </content:encoded>

    <pubDate>Tue, 20 Oct 2009 14:45:08 -0400</pubDate>
    <guid isPermaLink="false">http://ilia.ws/archives/208-guid.html</guid>
    
</item>
<item>
    <title>Type Hinting - Conclusion</title>
    <link>http://ilia.ws/archives/207-Type-Hinting-Conclusion.html</link>
            <category>PHP</category>
    
    <comments>http://ilia.ws/archives/207-Type-Hinting-Conclusion.html#comments</comments>
    <wfw:comment>http://ilia.ws/wfwcomment.php?cid=207</wfw:comment>

    <slash:comments>5</slash:comments>
    <wfw:commentRss>http://ilia.ws/rss.php?version=2.0&amp;type=comments&amp;cid=207</wfw:commentRss>
    

    <author>ilia@ilia.ws (Ilia Alshanetsky)</author>
    <content:encoded>
    It has been a rather crazy last two weeks at work, so I didn&#039;t get a chance to revisit the type hinting matter. Unfortunately, while initial outpouring of support for inclusion of type hinting into PHP 5.3 and 6 was substantial, it all kinda petered out once more people started voting. To be specific, there is a large amount of support for the feature in general, but very few people seem to think it should go into 5.3.&lt;br /&gt;
&lt;br /&gt;
I feel that 5.3 is the only release that would make this feature usable, since that is the version of PHP I could see myself using at work in a near future as well as a release other people would be using for the next few years, at least. PHP 6 is just very far a way from any sort of a release, let alone a production worthy version and at the same time there is no tentative agreement on making 5.4 in the near future. If it went to 5.3, which would be &quot;work worthy&quot; I could justify spending the time to maintain the patch across all branches, but with PHP 6 only, it is simply too impractical.&lt;br /&gt;
&lt;br /&gt;
That said, at work we will transition to 5.3 soon, probably around 5.3.2/3 time, so I do need a type hinting patch. To that effect I&#039;ve cleaned up and improved the old patch based on comments from various people, notably Stas and Dmitry (thank guys) and made a copy that I intend to use for work.&lt;br /&gt;
&lt;br /&gt;
The patch is now pure type hinting, no more virtual types like SCALAR and NUMERIC, it also does not offer any type casting support. Basically its just a type hinting patch, with full reflection support. Since the last iteration of the patch the following improvements have been made:&lt;br /&gt;
&lt;br /&gt;
1) Modify the parser to not reserve string/integer/etc... keywords used for type hinting. Won&#039;t break code that uses &quot;class string&quot;, etc...&lt;br /&gt;
2) Added getTypeHint() reflection method to determine the type of hint a parameter has&lt;br /&gt;
3) Revised the parser (thanks Stas) to properly parse out type hints.&lt;br /&gt;
&lt;br /&gt;
The patch can be found here: &lt;a href=&quot;http://ilia.ws/patch/type_hint_final.txt&quot;&gt;http://ilia.ws/patch/type_hint_final.txt&lt;/a&gt;&lt;br /&gt;
and the test suit here: &lt;a href=&quot;http://ilia.ws/patch/type_hint_tests.tar.bz2&quot;&gt;http://ilia.ws/patch/type_hint_tests.tar.bz2&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Update July 22, 2009&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
A bug was found by Gwynne, which prevented constants (other then NULL) from being used as default values of type hints, she was also kind enough to provide the patch for the problem. The patch was updated with this fix and an additional test was added for this eventuality. Thanks Gwynne!&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Tue, 21 Jul 2009 08:47:17 -0400</pubDate>
    <guid isPermaLink="false">http://ilia.ws/archives/207-guid.html</guid>
    
</item>
<item>
    <title>Type hinting rehashed (now with type casting support)</title>
    <link>http://ilia.ws/archives/206-Type-hinting-rehashed-now-with-type-casting-support.html</link>
            <category>PHP</category>
    
    <comments>http://ilia.ws/archives/206-Type-hinting-rehashed-now-with-type-casting-support.html#comments</comments>
    <wfw:comment>http://ilia.ws/wfwcomment.php?cid=206</wfw:comment>

    <slash:comments>14</slash:comments>
    <wfw:commentRss>http://ilia.ws/rss.php?version=2.0&amp;type=comments&amp;cid=206</wfw:commentRss>
    

    <author>ilia@ilia.ws (Ilia Alshanetsky)</author>
    <content:encoded>
    There has been a lot of comments both on this blog and the internals list. There seems to be a fairly large group of core developers who like the idea as well as surpassingly large support base on the user level too (wow, didn&#039;t think that this many people want type hinting). Unfortunately, there have also been, as is typically on the internals list a few people complaining for the sake of complaining. Their arguments have ranged from type hinting is against PHP&#039;s loosely typed nature and people will mis-use it and make PHP into something that it is not, to I don&#039;t need or will use it, so no one should get it.&lt;br /&gt;
&lt;br /&gt;
That said these people are in the minority, albeit a rather vocal one, so progress is being made. There have also been a number of really good suggestions by folks who have reviewed the patch (big thanks guys) and their improvements have been incorporated into the version 2 of the patch. Here is the quick changelog.&lt;br /&gt;
&lt;br /&gt;
1) Added support for &quot;object&quot; type hint&lt;br /&gt;
2) Modified the patch not to break binary compatibility so you can now use patched PHP without having to re-compile your extensions or having issues with binary ones.&lt;br /&gt;
3) Added full reflection support, which I appropriated from Felipe&#039;s &lt;a href=&quot;http://wiki.php.net/rfc/typehint&quot;&gt;earlier work&lt;/a&gt; on type hinting&lt;br /&gt;
4) Added support for type casting, where by you can do things like this function a((int)$foo), which will force PHP to cast the value of $foo to an integer&lt;br /&gt;
5) Added tests, which again I partially appropriated from Felipe&#039;s earlier work.&lt;br /&gt;
&lt;br /&gt;
The updated patch is available here: &lt;a href=&quot;http://ilia.ws/patch/type_hint_53_v2.txt&quot;&gt;http://ilia.ws/patch/type_hint_53_v2.txt&lt;/a&gt;&lt;br /&gt;
The mini test suit which can also show practical examples &amp;amp; limitations of the functionality can be found here: &lt;a href=&quot;http://ia.gd/patch/type_hint_tests.tar.bz2&quot;&gt;http://ia.gd/patch/type_hint_tests.tar.bz2&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I am posting it here for peer review and comment. If all goes well, I am going to post it to internals for a vote, which will hopefully pass. So, if you want the feature in, or you think its crap, watch internals on Monday so you can make your opinion known via a +/- vote. 
    </content:encoded>

    <pubDate>Sat, 04 Jul 2009 13:22:51 -0400</pubDate>
    <guid isPermaLink="false">http://ilia.ws/archives/206-guid.html</guid>
    
</item>
<item>
    <title>Type hinting for PHP 5.3</title>
    <link>http://ilia.ws/archives/205-Type-hinting-for-PHP-5.3.html</link>
            <category>PHP</category>
    
    <comments>http://ilia.ws/archives/205-Type-hinting-for-PHP-5.3.html#comments</comments>
    <wfw:comment>http://ilia.ws/wfwcomment.php?cid=205</wfw:comment>

    <slash:comments>24</slash:comments>
    <wfw:commentRss>http://ilia.ws/rss.php?version=2.0&amp;type=comments&amp;cid=205</wfw:commentRss>
    

    <author>ilia@ilia.ws (Ilia Alshanetsky)</author>
    <content:encoded>
    For a few years now at work we&#039;ve been using a patched version of PHP, one those patching featuring type hinting. Over time this proved to be a very handy feature that allows for a much more readable code and introduces a language based validation layer to ensure that the right data types are getting to your functions and methods. It also caught numerous bugs due to functions returning or passing un-expected values. Best of all this feature does not require any changes on the part of opcode caches (essential component for PHP performance) and allows for simple deployment.&lt;br /&gt;
&lt;br /&gt;
I and other people have tried a number of times in the past to introduce type hinting into stock PHP, but unfortunately have never been successful. On a general level most people agree it would be a good idea to have, since it is an optional feature and does not introduce any regressions, heck you can even mix type hinted code with the non-type hinted one. The &quot;PROBLEM&quot; has always been combining of PHP&#039;s typeless nature with type hinting, which is where the consensus has been difficult (impossible) to reach. To illustrate the problem let&#039;s consider the following:&lt;br /&gt;
&lt;br /&gt;
function foo(int $bar) {}&lt;br /&gt;
&lt;br /&gt;
Some people would expect that passing &quot;1&quot; (string containing number 1) would be accepted by function foo() and not raise any type errors, since in PHP typically, numbers within strings are considered to be perfectly valid numbers (&quot;1&quot; + &quot;1&quot; == 2). Hence the conflict, some people (I am a part of that group) think that type hinting should be strict, while others think it should be more permissive to be inline with PHP&#039;s fluid nature.&lt;br /&gt;
&lt;br /&gt;
With introduction of PHP 5.3 and free day in the middle of the week (Happy Canada Day to all Canucks) I&#039;ve decided to port my internal patch to 5.3 and introduce a new &#039;feature&#039; to it to hopefully bridge the divide. I&#039;ve added a IS_NUMERIC (numeric) type hint that allows the script author to designate a parameter as having to be number, meaning input of type boolean, long or float as well as strings containing purely numbers will be accepted. This means if were to rewrite my previous function as:&lt;br /&gt;
&lt;br /&gt;
function foo(numeric $bar) {}&lt;br /&gt;
&lt;br /&gt;
Then calling foo(&quot;112&quot;); would perfectly valid. To further extend basic type hinting support I&#039;ve also added IS_SCALAR (scalar) type hint that allows a parameter to be designated as scalar, which means it&#039;ll accept any boolean, float, string or integer value.&lt;br /&gt;
&lt;br /&gt;
The patch is available here: &lt;a href=&quot;http://ia.gd/patch/type_hint_53.txt&quot;&gt;http://ia.gd/patch/type_hint_53.txt&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I&#039;ve also posted it to the internals list in the hope of gathering enough support on the part of PHP developers and users to have it added to 5.3 and future releases of PHP.&lt;br /&gt;
&lt;br /&gt;
It should be noted that this is not the first idea for type hints, that credit goes to Hannes Magnusson who had posted a &lt;a href=&quot;http://php.markmail.org/message/nalhrp5n5p3srj7u#query:+page:1+mid:nalhrp5n5p3srj7u+state:results&quot;&gt;similar patch&lt;/a&gt; on the internals list back in 2006. Also, back in 2008 Felipe Pena wrote a complete &lt;a href=&quot;http://wiki.php.net/rfc/typehint&quot;&gt;RFC on type hinting&lt;/a&gt; with patches and even test. 
    </content:encoded>

    <pubDate>Wed, 01 Jul 2009 12:16:02 -0400</pubDate>
    <guid isPermaLink="false">http://ilia.ws/archives/205-guid.html</guid>
    
</item>
<item>
    <title>PHP 5.3 is out!</title>
    <link>http://ilia.ws/archives/204-PHP-5.3-is-out!.html</link>
            <category>PHP</category>
    
    <comments>http://ilia.ws/archives/204-PHP-5.3-is-out!.html#comments</comments>
    <wfw:comment>http://ilia.ws/wfwcomment.php?cid=204</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://ilia.ws/rss.php?version=2.0&amp;type=comments&amp;cid=204</wfw:commentRss>
    

    <author>ilia@ilia.ws (Ilia Alshanetsky)</author>
    <content:encoded>
    After over 2 years in development, huge amount of commits and changes &lt;a href=&quot;http://php.net/releases/5_3_0.php&quot;&gt;PHP 5.3.0 is finally out&lt;/a&gt;. Kudos to &lt;a href=&quot;http://pooteeweet.org/&quot;&gt;Lukas M. Smith&lt;/a&gt; and &lt;a href=&quot;http://schlueters.de/blog/&quot;&gt;Johannes Schlüter&lt;/a&gt; who have managed this herculean task and overall have done an excellent job.&lt;br /&gt;
&lt;br /&gt;
There are some really nifty features in this release such as namespaces, closures, mail() logging, a bunch of new extensions and much more. Hopefully, the process of making 5.3 be production ready will be a quick one, as a large amount of testing has already gone into making this release possible. In fact, I be brave enough to say that for non-mission critical environments PHP 5.3 is ready to go as is. 
    </content:encoded>

    <pubDate>Tue, 30 Jun 2009 10:09:32 -0400</pubDate>
    <guid isPermaLink="false">http://ilia.ws/archives/204-guid.html</guid>
    
</item>
<item>
    <title>PHP 5.2.10 Released!</title>
    <link>http://ilia.ws/archives/203-PHP-5.2.10-Released!.html</link>
            <category>PHP</category>
    
    <comments>http://ilia.ws/archives/203-PHP-5.2.10-Released!.html#comments</comments>
    <wfw:comment>http://ilia.ws/wfwcomment.php?cid=203</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://ilia.ws/rss.php?version=2.0&amp;type=comments&amp;cid=203</wfw:commentRss>
    

    <author>ilia@ilia.ws (Ilia Alshanetsky)</author>
    <content:encoded>
    A few hours ago, 11th release of PHP 5.2, 5.2.10 was released to the world. This, as most past 5.2.X releases has been largely focused on bug fixing with quite a few obscure crashes and memory leaks being addressed, in addition to a single security fix in the exif_read_data() function. All in all there are over 100 individual bug fixes in this release and most 5.2.X and definitely all 4.X users should consider upgrading to this version.&lt;br /&gt;
&lt;br /&gt;
The sources and windows binaries for this release can be found at &lt;a href=&quot;http://www.php.net/downloads.php&quot; title=&quot;http://www.php.net/downloads.php&quot;&gt;http://www.php.net/downloads.php&lt;/a&gt; and the detailed changelog itemizing all of the changes can be seen &lt;a href=&quot;http://www.php.net/ChangeLog-5.php#5.2.10&quot;&gt;here&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Thu, 18 Jun 2009 22:39:31 -0400</pubDate>
    <guid isPermaLink="false">http://ilia.ws/archives/203-guid.html</guid>
    
</item>
<item>
    <title>PHP is 14 Today</title>
    <link>http://ilia.ws/archives/200-PHP-is-14-Today.html</link>
            <category>PHP</category>
    
    <comments>http://ilia.ws/archives/200-PHP-is-14-Today.html#comments</comments>
    <wfw:comment>http://ilia.ws/wfwcomment.php?cid=200</wfw:comment>

    <slash:comments>5</slash:comments>
    <wfw:commentRss>http://ilia.ws/rss.php?version=2.0&amp;type=comments&amp;cid=200</wfw:commentRss>
    

    <author>ilia@ilia.ws (Ilia Alshanetsky)</author>
    <content:encoded>
    Wow, time certainly does fly.&lt;br /&gt;
I&#039;ve started with PHP back in 1997, and A LOT has changed since then in terms of the language&#039;s capabilities, user base, and the sheer quantity of sites and applications built on it. Hopefully the next 14 years will bring as many improvements and innovations as the 1st 14 did. Happy B-Day PHP! 
    </content:encoded>

    <pubDate>Mon, 08 Jun 2009 12:58:25 -0400</pubDate>
    <guid isPermaLink="false">http://ilia.ws/archives/200-guid.html</guid>
    
</item>
<item>
    <title>PHP 5.2.10RC1 Released For Testing</title>
    <link>http://ilia.ws/archives/198-PHP-5.2.10RC1-Released-For-Testing.html</link>
            <category>PHP</category>
    
    <comments>http://ilia.ws/archives/198-PHP-5.2.10RC1-Released-For-Testing.html#comments</comments>
    <wfw:comment>http://ilia.ws/wfwcomment.php?cid=198</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://ilia.ws/rss.php?version=2.0&amp;type=comments&amp;cid=198</wfw:commentRss>
    

    <author>ilia@ilia.ws (Ilia Alshanetsky)</author>
    <content:encoded>
    The first release candidate of PHP 5.2.10 was just released and is available for download at: &lt;br /&gt;
&lt;a href=&quot;http://downloads.php.net/ilia/php-5.2.10RC1.tar.bz2&quot;&gt;http://downloads.php.net/ilia/php-5.2.10RC1.tar.bz2&lt;/a&gt; (md5sum: 4ef611fdcf7269b2d372dbdebc504cdb)&lt;br /&gt;
For windows users, the all manner of binary packages can be found at: &lt;a href=&quot;http://windows.php.net/qa/&quot;&gt;http://windows.php.net/qa/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
This is a stabilization release with a whole bunch of bug fixes and no new features, so I hope it&#039;ll get released quickly. You can help make it happen by testing your code against this RC and reporting any new bugs and/or regressions you come across.&lt;br /&gt;
&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Wed, 27 May 2009 16:06:51 -0400</pubDate>
    <guid isPermaLink="false">http://ilia.ws/archives/198-guid.html</guid>
    
</item>
<item>
    <title>Common Optimization Mistakes Slides</title>
    <link>http://ilia.ws/archives/194-Common-Optimization-Mistakes-Slides.html</link>
            <category>PHP</category>
            <category>Publications</category>
    
    <comments>http://ilia.ws/archives/194-Common-Optimization-Mistakes-Slides.html#comments</comments>
    <wfw:comment>http://ilia.ws/wfwcomment.php?cid=194</wfw:comment>

    <slash:comments>8</slash:comments>
    <wfw:commentRss>http://ilia.ws/rss.php?version=2.0&amp;type=comments&amp;cid=194</wfw:commentRss>
    

    <author>ilia@ilia.ws (Ilia Alshanetsky)</author>
    <content:encoded>
    The slides from my PHP Quebec talk on &quot;Common Optimization Mistakes&quot; are now up and can be downloaded from here:&lt;br /&gt;
&lt;a href=&quot;http://ilia.ws/files/phpquebec_2009.pdf&quot;&gt;http://ilia.ws/files/phpquebec_2009.pdf&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I am pretty happy with the talk, which was a bit strange for me, since I get to talk about some of the downside of optimizations, rather then talking about the various specific optimizations. It looked like the audience liked the talk (I hope), so the results seems positive &lt;img src=&quot;http://ilia.ws/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; 
    </content:encoded>

    <pubDate>Thu, 05 Mar 2009 15:54:54 -0500</pubDate>
    <guid isPermaLink="false">http://ilia.ws/archives/194-guid.html</guid>
    
</item>
<item>
    <title>PHP 5.2.9 Released!</title>
    <link>http://ilia.ws/archives/193-PHP-5.2.9-Released!.html</link>
            <category>PHP</category>
    
    <comments>http://ilia.ws/archives/193-PHP-5.2.9-Released!.html#comments</comments>
    <wfw:comment>http://ilia.ws/wfwcomment.php?cid=193</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://ilia.ws/rss.php?version=2.0&amp;type=comments&amp;cid=193</wfw:commentRss>
    

    <author>ilia@ilia.ws (Ilia Alshanetsky)</author>
    <content:encoded>
    After a fairly timely (by PHP standards) release cycle the 5.2.9 release is finally out. As usual there are a few security fixes and a fair number (about 50 or so) general bug fixes. All users are encouraged to upgrade to this release, especially so if you are using libxml 2.7 and XML extension, in which case you definitely want to upgrade since this release fixes a CDATA breakage.&lt;br /&gt;
&lt;br /&gt;
Big thanks to all the people who contributed patches and fixes as well as those who took the time to file detailed bug reports that helped issue resolution. We&#039;ll see how long it will take 5.2.10 to be released &lt;img src=&quot;http://ilia.ws/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
The official release announcement can be found &lt;a href=&quot;http://ca3.php.ca/releases/5_2_9.php&quot;&gt;here&lt;/a&gt; and the full changelog is available &lt;a href=&quot;http://ca3.php.net/ChangeLog-5.php#5.2.9&quot;&gt;here&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Thu, 26 Feb 2009 19:04:23 -0500</pubDate>
    <guid isPermaLink="false">http://ilia.ws/archives/193-guid.html</guid>
    
</item>

</channel>
</rss>