<?xml version="1.0" encoding="utf-8" ?>
<rdf:RDF xmlns:cc="http://web.resource.org/cc/"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   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="http://my.netscape.com/rdf/simple/0.9/">
<channel>
    <title>Mike's sudden inspirations</title>
    <link>http://blog.iworks.at/</link>
    <description>Geek; Keep Away</description>
    <dc:language>en</dc:language>
    

    <image rdf:resource="http://blog.iworks.at/templates/default/img/s9y_banner_small.png" />

    <items>
      <rdf:Seq>
        <rdf:li resource="http://blog.iworks.at/?/archives/69-guid.html" />
        <rdf:li resource="http://blog.iworks.at/?/archives/68-guid.html" />
        <rdf:li resource="http://blog.iworks.at/?/archives/67-guid.html" />
        <rdf:li resource="http://blog.iworks.at/?/archives/66-guid.html" />
        <rdf:li resource="http://blog.iworks.at/?/archives/65-guid.html" />
        <rdf:li resource="http://blog.iworks.at/?/archives/64-guid.html" />
        <rdf:li resource="http://blog.iworks.at/?/archives/63-guid.html" />
        <rdf:li resource="http://blog.iworks.at/?/archives/62-guid.html" />
        <rdf:li resource="http://blog.iworks.at/?/archives/61-guid.html" />
        <rdf:li resource="http://blog.iworks.at/?/archives/60-guid.html" />
        <rdf:li resource="http://blog.iworks.at/?/archives/59-guid.html" />
        <rdf:li resource="http://blog.iworks.at/?/archives/58-guid.html" />
        <rdf:li resource="http://blog.iworks.at/?/archives/57-guid.html" />
        <rdf:li resource="http://blog.iworks.at/?/archives/56-guid.html" />
        <rdf:li resource="http://blog.iworks.at/?/archives/55-guid.html" />
</rdf:Seq>
    </items>
</channel>

<image rdf:about="http://blog.iworks.at/templates/default/img/s9y_banner_small.png">
        <url>http://blog.iworks.at/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: Mike's sudden inspirations - Geek; Keep Away</title>
        <link>http://blog.iworks.at/</link>
        <width>100</width>
        <height>21</height>
    </image>
<item rdf:about="http://blog.iworks.at/?/archives/69-guid.html">
    <title>WebSockets Handshake non HTTP conforming?</title>
    <link>http://blog.iworks.at/?/archives/69-WebSockets-Handshake-non-HTTP-conforming.html</link>
    <description>
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Just found a &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL3dlYi5hcmNoaXZlb3JhbmdlLmNvbS9hcmNoaXZlL3YvYzJKYXFIWGNqTXlkSGZxajhqamk=&amp;amp;entry_id=69&quot; title=&quot;http://web.archiveorange.com/archive/v/c2JaqHXcjMydHfqj8jji&quot;  onmouseover=&quot;window.status='http://web.archiveorange.com/archive/v/c2JaqHXcjMydHfqj8jji';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;revelatory discussion&lt;/a&gt;. The &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL3dlYi5hcmNoaXZlb3JhbmdlLmNvbS9hcmNoaXZlL3YvYzJKYXFIWGNqTXlkSGZxajhqamkjRjQ3V3p4ZDdKdVJjMEZF&amp;amp;entry_id=69&quot; title=&quot;http://web.archiveorange.com/archive/v/c2JaqHXcjMydHfqj8jji#F47Wzxd7JuRc0FE&quot;  onmouseover=&quot;window.status='http://web.archiveorange.com/archive/v/c2JaqHXcjMydHfqj8jji#F47Wzxd7JuRc0FE';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;summary of Bjoern Hoehrmann&lt;/a&gt; is especially interesting with regards to that topic.&lt;/p&gt;

&lt;hr /&gt;
&lt;p&gt;While skimming through the new &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL2Rldi53My5vcmcvaHRtbDUvd2Vic29ja2V0cy8=&amp;amp;entry_id=69&quot; title=&quot;http://dev.w3.org/html5/websockets/&quot;  onmouseover=&quot;window.status='http://dev.w3.org/html5/websockets/';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;HTML5 WebSocket draft&lt;/a&gt;, I noticed the following exemplar HTTP message demonstrating the client message of a WebSocket handshake:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
        GET /demo HTTP/1.1
        Host: example.com
        Connection: Upgrade
        Sec-WebSocket-Key2: 12998 5 Y3 1  .P00
        Sec-WebSocket-Protocol: sample
        Upgrade: WebSocket
        Sec-WebSocket-Key1: 4 @1  46546xW%0l 1 5
        Origin: http://example.com

        ^n:ds[4U&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;To me this looks non conforming to the &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi5odG1s&amp;amp;entry_id=69&quot; title=&quot;http://www.w3.org/Protocols/rfc2616/rfc2616.html&quot;  onmouseover=&quot;window.status='http://www.w3.org/Protocols/rfc2616/rfc2616.html';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;HTTP spec&lt;/a&gt; due to the lack of an indicator that the request contains a message body.&lt;/p&gt;

&lt;p&gt;Quoting &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWM0Lmh0bWwjc2VjNC4z&amp;amp;entry_id=69&quot; title=&quot;http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.3&quot;  onmouseover=&quot;window.status='http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.3';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;the 4th paragraph of section 4.3 of RFC2616&lt;/a&gt;:&lt;/p&gt;

    &lt;blockquote&gt;The &lt;strong&gt;presence of a message-body&lt;/strong&gt; in a request &lt;strong&gt;is signaled&lt;/strong&gt; by the inclusion of a &lt;strong&gt;Content-Length or Transfer-Encoding header&lt;/strong&gt; field in the request's message-headers. A message-body MUST NOT be included in a request if the specification of the request method (section 5.1.1) does not allow sending an entity-body in requests. A server SHOULD read and forward a message-body on any request; if the request method does not include defined semantics for an entity-body, then the message-body SHOULD be ignored when handling the request.    &lt;/blockquote&gt;
&lt;p&gt;Huh?&lt;/p&gt;

    </description>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-nd/2.5/" />    <dc:publisher>Mike's sudden inspirations</dc:publisher>
    <dc:creator>nospam@example.com (Mike)</dc:creator>
    <dc:subject>WTF, PHP, WEB</dc:subject>
    <dc:date>2010-05-10T10:16:00Z</dc:date>
    <wfw:comment>http://blog.iworks.at/wfwcomment.php?cid=69</wfw:comment>
    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://blog.iworks.at/rss.php?version=1.0&amp;type=comments&amp;cid=69</wfw:commentRss>
</item>
<item rdf:about="http://blog.iworks.at/?/archives/68-guid.html">
    <title>Looking for PHP Geeks in Austria</title>
    <link>http://blog.iworks.at/?/archives/68-Looking-for-PHP-Geeks-in-Austria.html</link>
    <description>
&lt;p&gt;You guessed. I'm desperately looking for decent PHP Coders in Vienna, Austria.&lt;/p&gt;

&lt;p&gt;The job posting (in german) can be found here: &lt;br /&gt;
&lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL3d3dy5pbnFuZXQuYXQvam9iMDkuaHRtbA==&amp;amp;entry_id=68&quot; title=&quot;http://www.inqnet.at/job09.html&quot;  onmouseover=&quot;window.status='http://www.inqnet.at/job09.html';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;http://www.inqnet.at/job09.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just ping me if you're interested in an face-to-face interview.&lt;/p&gt;

    </description>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-nd/2.5/" />    <dc:publisher>Mike's sudden inspirations</dc:publisher>
    <dc:creator>nospam@example.com (Mike)</dc:creator>
    <dc:subject>PHP</dc:subject>
    <dc:date>2009-04-20T15:55:00Z</dc:date>
    <wfw:comment>http://blog.iworks.at/wfwcomment.php?cid=68</wfw:comment>
    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.iworks.at/rss.php?version=1.0&amp;type=comments&amp;cid=68</wfw:commentRss>
</item>
<item rdf:about="http://blog.iworks.at/?/archives/67-guid.html">
    <title>PHP commandline highlighter</title>
    <link>http://blog.iworks.at/?/archives/67-PHP-commandline-highlighter.html</link>
    <description>
&lt;p&gt;Just chewed up a &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL2Rldi5pd29ya3MuYXQvY29kZS9jaGwucGhwcw==&amp;amp;entry_id=67&quot; title=&quot;http://dev.iworks.at/code/chl.phps&quot;  onmouseover=&quot;window.status='http://dev.iworks.at/code/chl.phps';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;command line highlighter for php code&lt;/a&gt;.&lt;br /&gt;
It's hacky, but it fullfills my needs.&lt;/p&gt;

&lt;p&gt;Cheers-&lt;/p&gt;

    </description>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-nd/2.5/" />    <dc:publisher>Mike's sudden inspirations</dc:publisher>
    <dc:creator>nospam@example.com (Mike)</dc:creator>
    <dc:subject>WTF, PHP</dc:subject>
    <dc:date>2009-04-10T12:29:16Z</dc:date>
    <wfw:comment>http://blog.iworks.at/wfwcomment.php?cid=67</wfw:comment>
    <slash:comments>4</slash:comments>
    <wfw:commentRss>http://blog.iworks.at/rss.php?version=1.0&amp;type=comments&amp;cid=67</wfw:commentRss>
</item>
<item rdf:about="http://blog.iworks.at/?/archives/66-guid.html">
    <title>pecl_http and sub-second timeouts</title>
    <link>http://blog.iworks.at/?/archives/66-pecl_http-and-sub-second-timeouts.html</link>
    <description>
&lt;p&gt;Just a quick info, because I forget this again and again--and it's not noted in the &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL3BocC5uZXQvbWFudWFsL2VuL3JlZi5odHRwLnBocA==&amp;amp;entry_id=66&quot; title=&quot;http://php.net/manual/en/ref.http.php&quot;  onmouseover=&quot;window.status='http://php.net/manual/en/ref.http.php';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;documentation&lt;/a&gt; yet either.&lt;/p&gt;

&lt;p&gt;Sub-second timeouts are supported by &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL2N1cmwuaGF4eC5zZS9saWJjdXJsLw==&amp;amp;entry_id=66&quot; title=&quot;http://curl.haxx.se/libcurl/&quot;  onmouseover=&quot;window.status='http://curl.haxx.se/libcurl/';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;libcurl&lt;/a&gt; and thus by &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL3BlY2wucGhwLm5ldC9wZWNsX2h0dHA=&amp;amp;entry_id=66&quot; title=&quot;http://pecl.php.net/pecl_http&quot;  onmouseover=&quot;window.status='http://pecl.php.net/pecl_http';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;pecl_http&lt;/a&gt;--yes but only if libcurl is built with &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL2MtYXJlcy5oYXh4LnNl&amp;amp;entry_id=66&quot; title=&quot;http://c-ares.haxx.se&quot;  onmouseover=&quot;window.status='http://c-ares.haxx.se';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;(c-)ares&lt;/a&gt; support:&lt;/p&gt;

&lt;p&gt;&amp;lt;quote url=&amp;quot;&lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL2N1cmwuaGF4eC5zZS9saWJjdXJsL2MvY3VybF9lYXN5X3NldG9wdC5odG1sI0NVUkxPUFRUSU1FT1VUTVM=&amp;amp;entry_id=66&quot; title=&quot;http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTTIMEOUTMS&quot;  onmouseover=&quot;window.status='http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTTIMEOUTMS';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;curl_easy_setopt.html&lt;/a&gt;&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;blockquote&gt;If libcurl is built to use the standard system name resolver, that portion of the transfer will still use full-second resolution for timeouts with a minimum timeout allowed of one second.    &lt;/blockquote&gt;
&lt;br /&gt;
&amp;lt;/quote&amp;gt;&lt;/p&gt;

    </description>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-nd/2.5/" />    <dc:publisher>Mike's sudden inspirations</dc:publisher>
    <dc:creator>nospam@example.com (Mike)</dc:creator>
    <dc:subject>PHP</dc:subject>
    <dc:date>2008-12-05T13:13:00Z</dc:date>
    <wfw:comment>http://blog.iworks.at/wfwcomment.php?cid=66</wfw:comment>
    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.iworks.at/rss.php?version=1.0&amp;type=comments&amp;cid=66</wfw:commentRss>
</item>
<item rdf:about="http://blog.iworks.at/?/archives/65-guid.html">
    <title>I tried to post a comment at the regex chanllenge on ubuntu-tutorials.com</title>
    <link>http://blog.iworks.at/?/archives/65-I-tried-to-post-a-comment-at-the-regex-chanllenge-on-ubuntu-tutorials.com.html</link>
    <description>
&lt;p&gt;...but somehow managed to not get through, so here's my attempt:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
awk -v RS=&amp;quot;[\n ,]+&amp;quot; '{print}' &amp;lt; u.txt &lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;See &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL3VidW50dS10dXRvcmlhbHMuY29tLzIwMDgvMTEvMTcvcmVnZXgtY2hhbGxlbmdlLw==&amp;amp;entry_id=65&quot; title=&quot;http://ubuntu-tutorials.com/2008/11/17/regex-challenge/&quot;  onmouseover=&quot;window.status='http://ubuntu-tutorials.com/2008/11/17/regex-challenge/';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;http://ubuntu-tutorials.com/2008/11/17/regex-challenge/&lt;/a&gt;&lt;/p&gt;

    </description>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-nd/2.5/" />    <dc:publisher>Mike's sudden inspirations</dc:publisher>
    <dc:creator>nospam@example.com (Mike)</dc:creator>
    <dc:subject>WTF</dc:subject>
    <dc:date>2008-11-19T14:30:22Z</dc:date>
    <wfw:comment>http://blog.iworks.at/wfwcomment.php?cid=65</wfw:comment>
    <slash:comments>4294967294</slash:comments>
    <wfw:commentRss>http://blog.iworks.at/rss.php?version=1.0&amp;type=comments&amp;cid=65</wfw:commentRss>
</item>
<item rdf:about="http://blog.iworks.at/?/archives/64-guid.html">
    <title>Vpopmail and people reaching their maildir quota</title>
    <link>http://blog.iworks.at/?/archives/64-Vpopmail-and-people-reaching-their-maildir-quota.html</link>
    <description>
&lt;p&gt;This tiny program lists all users of a domain with a maildir quota usage above 90%.&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;
#include &amp;lt;unistd.h&amp;gt;
#include &amp;lt;string.h&amp;gt;

#include &amp;lt;pwd.h&amp;gt;
#include &amp;lt;errno.h&amp;gt;

#include &amp;lt;vpopmail.h&amp;gt;
#include &amp;lt;vauth.h&amp;gt;

int main(int argc, char **argv) {
    struct vqpasswd *user;
    char dir[1024];
    uid_t uid;
    gid_t gid;
    int offset_counter = -1, sort = 1, usage;

    if (argc != 2) {
        fprintf(stderr, &amp;quot;Usage: %s &amp;lt;domain&amp;gt;\n&amp;quot;, argv[0]);
        return EXIT_FAILURE;
    }
    if (vget_assign(argv[1], NULL, 0, &amp;amp;uid, &amp;amp;gid) == NULL) {
        fprintf(stderr, &amp;quot;domain '%s' does not exist\n&amp;quot;, argv[1]);
        return EXIT_FAILURE;
    }
    if (setgid(gid) || setuid(uid)) {
        fprintf(stderr, &amp;quot;could not setuid/setgid to %d:%d\n&amp;quot;, uid, gid);
        return EXIT_FAILURE;
    }

    while (NULL != (user = vauth_getall(argv[1], !++offset_counter, sort))) {
        if (strcmp(user-&amp;gt;pw_shell, &amp;quot;NOQUOTA&amp;quot;)) {
            snprintf(dir, sizeof(dir), &amp;quot;%s/Maildir&amp;quot;, user-&amp;gt;pw_dir);
            usage = vmaildir_readquota(dir, 
                format_maildirquota(user-&amp;gt;pw_shell));

            if (usage &amp;gt;= 90) {
                printf(&amp;quot;%s %s %d\n&amp;quot;, user-&amp;gt;pw_name, user-&amp;gt;pw_shell, usage);
            }
        }
    }

    return EXIT_SUCCESS;
}&lt;/code&gt;&lt;/pre&gt;

    </description>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-nd/2.5/" />    <dc:publisher>Mike's sudden inspirations</dc:publisher>
    <dc:creator>nospam@example.com (Mike)</dc:creator>
    <dc:subject>SYS</dc:subject>
    <dc:date>2008-11-18T13:25:25Z</dc:date>
    <wfw:comment>http://blog.iworks.at/wfwcomment.php?cid=64</wfw:comment>
    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.iworks.at/rss.php?version=1.0&amp;type=comments&amp;cid=64</wfw:commentRss>
</item>
<item rdf:about="http://blog.iworks.at/?/archives/63-guid.html">
    <title>Qmail + SpamAssassin + selectivity</title>
    <link>http://blog.iworks.at/?/archives/63-Qmail-+-SpamAssassin-+-selectivity.html</link>
    <description>
&lt;p&gt;Here's how my qmail-queue script looks like to selectively check messages with SpamAssassin for non-relay clients only:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
#!/bin/sh
(if [ -n &amp;quot;${RELAYCLIENT+1}&amp;quot; -o `id -u` != 64011 ]; \
    then cat -; \
    else /usr/bin/spamc -x -U /var/run/spamd/spamd.sock; \
fi) | /usr/sbin/qmail-queue.orig&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;For the records.&lt;/p&gt;

    </description>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-nd/2.5/" />    <dc:publisher>Mike's sudden inspirations</dc:publisher>
    <dc:creator>nospam@example.com (Mike)</dc:creator>
    <dc:subject>SYS</dc:subject>
    <dc:date>2008-11-18T13:18:44Z</dc:date>
    <wfw:comment>http://blog.iworks.at/wfwcomment.php?cid=63</wfw:comment>
    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.iworks.at/rss.php?version=1.0&amp;type=comments&amp;cid=63</wfw:commentRss>
</item>
<item rdf:about="http://blog.iworks.at/?/archives/62-guid.html">
    <title>Introducing libcurls multi socket API</title>
    <link>http://blog.iworks.at/?/archives/62-Introducing-libcurls-multi-socket-API.html</link>
    <description>
&lt;p&gt;So, finally a first beta of &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL3BlY2wucGhwLm5ldC9wYWNrYWdlL3BlY2xfaHR0cA==&amp;amp;entry_id=62&quot; title=&quot;http://pecl.php.net/package/pecl_http&quot;  onmouseover=&quot;window.status='http://pecl.php.net/package/pecl_http';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;pecl_http&lt;/a&gt; 1.6 has been released.&lt;/p&gt;

&lt;p&gt;This is the first version which supports &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL2N1cmwuaGF4eC5zZS9saWJjdXJsLw==&amp;amp;entry_id=62&quot; title=&quot;http://curl.haxx.se/libcurl/&quot;  onmouseover=&quot;window.status='http://curl.haxx.se/libcurl/';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;libcurl&lt;/a&gt;s &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL2N1cmwuaGF4eC5zZS9saWJjdXJsL2MvY3VybF9tdWx0aV9zb2NrZXQuaHRtbA==&amp;amp;entry_id=62&quot; title=&quot;http://curl.haxx.se/libcurl/c/curl_multi_socket.html&quot;  onmouseover=&quot;window.status='http://curl.haxx.se/libcurl/c/curl_multi_socket.html';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;multi socket API&lt;/a&gt; introduced in 7.16 through libevent.&lt;/p&gt;

&lt;p&gt;Here's a not very impressive comparison of the performance of the traditional multi API vs. the new multi socket API:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
mike@honeybadger:~/build/php-5.2-debug$ cli \
    ~/cvs/pecl/http/scripts/bench_select_vs_event.php \
    -u http://honeybadger/empty.html

&amp;gt;   1.134667s

mike@honeybadger:~/build/php-5.2-debug$ cli \
    ~/cvs/pecl/http/scripts/bench_select_vs_event.php \
    -u http://honeybadger/empty.html

&amp;gt;   1.151088s

mike@honeybadger:~/build/php-5.2-debug$ cli \
    ~/cvs/pecl/http/scripts/bench_select_vs_event.php \
    -u http://honeybadger/empty.html

&amp;gt;   1.131867s

mike@honeybadger:~/build/php-5.2-debug$ cli \
    ~/cvs/pecl/http/scripts/bench_select_vs_event.php \
    -u http://honeybadger/empty.html -e

&amp;gt;   0.993878s

mike@honeybadger:~/build/php-5.2-debug$ cli \
    ~/cvs/pecl/http/scripts/bench_select_vs_event.php \
    -u http://honeybadger/empty.html -e

&amp;gt;   0.998832s

mike@honeybadger:~/build/php-5.2-debug$ cli \
    ~/cvs/pecl/http/scripts/bench_select_vs_event.php \
    -u http://honeybadger/empty.html -e

&amp;gt;   0.997121s&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Above empty.html is, well, empty. The following test requests a 100k file:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
mike@honeybadger:~/build/php-5.2-debug$ cli  \
    ~/cvs/pecl/http/scripts/bench_select_vs_event.php  \
    -u http://honeybadger/100k.bin

&amp;gt;   2.205190s

mike@honeybadger:~/build/php-5.2-debug$ cli  \
    ~/cvs/pecl/http/scripts/bench_select_vs_event.php  \
    -u http://honeybadger/100k.bin

&amp;gt;   2.210525s

mike@honeybadger:~/build/php-5.2-debug$ cli  \
    ~/cvs/pecl/http/scripts/bench_select_vs_event.php  \
    -u http://honeybadger/100k.bin

&amp;gt;   2.254281s

mike@honeybadger:~/build/php-5.2-debug$ cli  \
    ~/cvs/pecl/http/scripts/bench_select_vs_event.php  \
    -u http://honeybadger/100k.bin -e

&amp;gt;   2.007220s

mike@honeybadger:~/build/php-5.2-debug$ cli  \
    ~/cvs/pecl/http/scripts/bench_select_vs_event.php  \
    -u http://honeybadger/100k.bin -e

&amp;gt;   1.945564s

mike@honeybadger:~/build/php-5.2-debug$ cli  \
    ~/cvs/pecl/http/scripts/bench_select_vs_event.php  \
    -u http://honeybadger/100k.bin -e

&amp;gt;   1.969575s&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;So, apparently time savings are not huge, but noticable.&lt;/p&gt;

    </description>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-nd/2.5/" />    <dc:publisher>Mike's sudden inspirations</dc:publisher>
    <dc:creator>nospam@example.com (Mike)</dc:creator>
    <dc:subject>PHP</dc:subject>
    <dc:date>2007-09-11T17:09:00Z</dc:date>
    <wfw:comment>http://blog.iworks.at/wfwcomment.php?cid=62</wfw:comment>
    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.iworks.at/rss.php?version=1.0&amp;type=comments&amp;cid=62</wfw:commentRss>
</item>
<item rdf:about="http://blog.iworks.at/?/archives/61-guid.html">
    <title>Definitely</title>
    <link>http://blog.iworks.at/?/archives/61-Definitely.html</link>
    <description>
&lt;p&gt;Well, it's this time in one's life, you know...&lt;/p&gt;

&lt;p&gt;I'm single again, and I'm looking for a radical change in my life.&lt;/p&gt;

&lt;p&gt;I'm going to abandon being self-employed and looking for a PHP/HTTP/CURL related job.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL3BlY2wucGhwLm5ldC91c2VyL21pa2U=&amp;amp;entry_id=61&quot; title=&quot;http://pecl.php.net/user/mike&quot;  onmouseover=&quot;window.status='http://pecl.php.net/user/mike';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;Some&lt;/a&gt; &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL2Rldi5pd29ya3MuYXQ=&amp;amp;entry_id=61&quot; title=&quot;http://dev.iworks.at&quot;  onmouseover=&quot;window.status='http://dev.iworks.at';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;info&lt;/a&gt; &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL3d3dy5vaGxvaC5uZXQvYWNjb3VudHMvMjkw&amp;amp;entry_id=61&quot; title=&quot;http://www.ohloh.net/accounts/290&quot;  onmouseover=&quot;window.status='http://www.ohloh.net/accounts/290';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;about me&lt;/a&gt;, &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL2l3b3Jrcy5hdA==&amp;amp;entry_id=61&quot; title=&quot;http://iworks.at&quot;  onmouseover=&quot;window.status='http://iworks.at';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;even in german&lt;/a&gt;.&lt;/p&gt;

    </description>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-nd/2.5/" />    <dc:publisher>Mike's sudden inspirations</dc:publisher>
    <dc:creator>nospam@example.com (Mike)</dc:creator>
    <dc:subject>WTF</dc:subject>
    <dc:date>2007-05-31T18:25:00Z</dc:date>
    <wfw:comment>http://blog.iworks.at/wfwcomment.php?cid=61</wfw:comment>
    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.iworks.at/rss.php?version=1.0&amp;type=comments&amp;cid=61</wfw:commentRss>
</item>
<item rdf:about="http://blog.iworks.at/?/archives/60-guid.html">
    <title>Silence</title>
    <link>http://blog.iworks.at/?/archives/60-Silence.html</link>
    <description>
&lt;p&gt;It's been &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL2Jsb2cuaXdvcmtzLmF0Lz8vYXJjaGl2ZXMvNTAtSFRUUCwtQ1VSTC1hbmQtc3R1ZmYuaHRtbA==&amp;amp;entry_id=60&quot; title=&quot;http://blog.iworks.at/?/archives/50-HTTP,-CURL-and-stuff.html&quot;  onmouseover=&quot;window.status='http://blog.iworks.at/?/archives/50-HTTP,-CURL-and-stuff.html';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;more than 3 months&lt;/a&gt; that I brought back to mind, what was happening in my PHP/HTTP/CURL world, so here we go.&lt;/p&gt;


&lt;h4 id=&quot;toc0&quot;&gt;February:&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL3BlY2wucGhwLm5ldC9wYWNrYWdlL3BlY2xfaHR0cA==&amp;amp;entry_id=60&quot; title=&quot;http://pecl.php.net/package/pecl_http&quot;  onmouseover=&quot;window.status='http://pecl.php.net/package/pecl_http';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;pecl/http&lt;/a&gt; with support for persistent handles has been released.&lt;/p&gt;

&lt;p&gt;A &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL21hcmMuaW5mby8/bD1waHAtZGV2JmFtcDttPTExNzE4ODAzNTYxMDAxMSZhbXA7dz0y&amp;amp;entry_id=60&quot; title=&quot;http://marc.info/?l=php-dev&amp;amp;m=117188035610011&amp;amp;w=2&quot;  onmouseover=&quot;window.status='http://marc.info/?l=php-dev&amp;amp;m=117188035610011&amp;amp;w=2';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;proposal of mine at internals&lt;/a&gt; to change the behaviour of read_property/write_property and get_property_ptr_ptr object handlers has successfully been ignored.&lt;/p&gt;

&lt;p&gt;The idea was the following:&lt;/p&gt;

&lt;hr /&gt;
&lt;p&gt;Wouldn't it be reasonable for the engine to use get_property_ptr_ptr() whenever it wants to modify a property and get rid of using read_property() for write access?&lt;/p&gt;

&lt;p&gt;That would make rather simple ops like concatenation, in-/decrementation etc work again with overloaded internal classes.  Just make the engine use read_property() followed by a write_property() when there's no get_property_ptr_ptr().&lt;/p&gt;

&lt;hr /&gt;
&lt;p&gt;Nobody was interested.&lt;/p&gt;


&lt;h4 id=&quot;toc1&quot;&gt;March:&lt;/h4&gt;
&lt;p&gt;I &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL2N2cy5waHAubmV0L3ZpZXd2Yy5jZ2kvcGhwLXNyYy9leHQvZGF0ZS9waHBfZGF0ZS5jP3IxPTEuMTMxJmFtcDtyMj0xLjEzMiZhbXA7ZGlmZl9mb3JtYXQ9dQ==&amp;amp;entry_id=60&quot; title=&quot;http://cvs.php.net/viewvc.cgi/php-src/ext/date/php_date.c?r1=1.131&amp;amp;r2=1.132&amp;amp;diff_format=u&quot;  onmouseover=&quot;window.status='http://cvs.php.net/viewvc.cgi/php-src/ext/date/php_date.c?r1=1.131&amp;amp;r2=1.132&amp;amp;diff_format=u';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;added a comparison object handler&lt;/a&gt; to the DateTime class, which means that comparisons of DateTime objects should work in recent PHP5 versions.&lt;/p&gt;

&lt;p&gt;I started development of pecl/libetpan, but &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL21hcmMuaW5mby8/bD1wZWNsLWRldiZhbXA7bT0xMTc0NjQ0NTI2MDA5OTQmYW1wO3c9Mg==&amp;amp;entry_id=60&quot; title=&quot;http://marc.info/?l=pecl-dev&amp;amp;m=117464452600994&amp;amp;w=2&quot;  onmouseover=&quot;window.status='http://marc.info/?l=pecl-dev&amp;amp;m=117464452600994&amp;amp;w=2';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;dropped it again&lt;/a&gt; because of pretty huge differences between how the library works and how PHP is supposed to work. What a pity.&lt;/p&gt;

&lt;p&gt;A less fine guy, some Omid, wanted me to write a PHP extension which calculates the strength of &amp;quot;poker hands&amp;quot;, but he jumped off when I had done the algos.&lt;/p&gt;


&lt;h4 id=&quot;toc2&quot;&gt;April:&lt;/h4&gt;
&lt;p&gt;A fine guy, pretending his name was Andreas Weber, noticed that pecl/http's request method implementation was completely b0rked. Thanks to his report it was fixed in 1.5.3.&lt;/p&gt;

&lt;p&gt;All fame Lukas Smith, queried me about what might have changed with my new output layer implementation for PHP6, but I noticed too late that it's been for a conference talk he was preparing, so I feel like I didn't spend enough attention to his questions. Sorry Lukas.&lt;/p&gt;

&lt;p&gt;I started to implement &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL2N1cmwuaGF4eC5zZQ==&amp;amp;entry_id=60&quot; title=&quot;http://curl.haxx.se&quot;  onmouseover=&quot;window.status='http://curl.haxx.se';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;libcurl's&lt;/a&gt; new multi_socket AKA hiper API in conjunction with &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL21vbmtleS5vcmcvfnByb3Zvcy9saWJldmVudC8=&amp;amp;entry_id=60&quot; title=&quot;http://monkey.org/~provos/libevent/&quot;  onmouseover=&quot;window.status='http://monkey.org/~provos/libevent/';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;libevent&lt;/a&gt;, but stumbled across a few &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL2N1cmwuaGF4eC5zZS9tYWlsL2xpYi0yMDA3LTA0LzAzMDguaHRtbA==&amp;amp;entry_id=60&quot; title=&quot;http://curl.haxx.se/mail/lib-2007-04/0308.html&quot;  onmouseover=&quot;window.status='http://curl.haxx.se/mail/lib-2007-04/0308.html';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;problem&lt;/a&gt;s.&lt;/p&gt;


&lt;h4 id=&quot;toc3&quot;&gt;May:&lt;/h4&gt;
&lt;p&gt;My journey with libcurl's multi_socket API &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL2N1cmwuaGF4eC5zZS9tYWlsL2xpYi0yMDA3LTA1LzAxMjUuaHRtbA==&amp;amp;entry_id=60&quot; title=&quot;http://curl.haxx.se/mail/lib-2007-05/0125.html&quot;  onmouseover=&quot;window.status='http://curl.haxx.se/mail/lib-2007-05/0125.html';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;continues&lt;/a&gt;, which eventually causes the delay of a first pecl/http 1.6 release candidate.&lt;/p&gt;

&lt;p&gt;I &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL2Rldi5pd29ya3MuYXQ=&amp;amp;entry_id=60&quot; title=&quot;http://dev.iworks.at&quot;  onmouseover=&quot;window.status='http://dev.iworks.at';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;tried&lt;/a&gt; &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL2RydXBhbC5vcmc=&amp;amp;entry_id=60&quot; title=&quot;http://drupal.org&quot;  onmouseover=&quot;window.status='http://drupal.org';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;Drupal&lt;/a&gt; for the first time.&lt;/p&gt;

&lt;hr /&gt;
&lt;p&gt;Well, that'd be it. If it reads like an extrusion of junk, it probably was. &lt;img src=&quot;http://blog.iworks.at/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt;

    </description>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-nd/2.5/" />    <dc:publisher>Mike's sudden inspirations</dc:publisher>
    <dc:creator>nospam@example.com (Mike)</dc:creator>
    <dc:subject>PHP</dc:subject>
    <dc:date>2007-05-23T17:14:00Z</dc:date>
    <wfw:comment>http://blog.iworks.at/wfwcomment.php?cid=60</wfw:comment>
    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.iworks.at/rss.php?version=1.0&amp;type=comments&amp;cid=60</wfw:commentRss>
</item>
<item rdf:about="http://blog.iworks.at/?/archives/59-guid.html">
    <title>nuff!</title>
    <link>http://blog.iworks.at/?/archives/59-nuff!.html</link>
    <description>
&lt;p&gt;I cancelled my &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL3BocG1hZy5kZQ==&amp;amp;entry_id=59&quot; title=&quot;http://phpmag.de&quot;  onmouseover=&quot;window.status='http://phpmag.de';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;German PHP-Magazine&lt;/a&gt; subscription last fall. I even got a cancellation confirmation letter on behalf of them on 10/10/2006.&lt;/p&gt;

&lt;p&gt;The funny journey began shortly after. I got each 2007 issue twice, last month an issue of the dot-net magazine and now again the 04.07 issue of the PHP magazine.  The subscription was supposed to end with issue 03.07.&lt;/p&gt;

&lt;p&gt;I already wrote mails to abo-at-phpmagazin.de and info-at-software-support.biz, without response.&lt;/p&gt;

&lt;p&gt;Now I'm sitting here--quite puzzled--with issue 04.07 and am looking forward to my 2007 subscription invoice... hm... now I wonder if it will be for the dot-net or the PHP magazine :-/&lt;/p&gt;

    </description>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-nd/2.5/" />    <dc:publisher>Mike's sudden inspirations</dc:publisher>
    <dc:creator>nospam@example.com (Mike)</dc:creator>
    <dc:subject>WTF, PHP</dc:subject>
    <dc:date>2007-05-22T10:42:00Z</dc:date>
    <wfw:comment>http://blog.iworks.at/wfwcomment.php?cid=59</wfw:comment>
    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.iworks.at/rss.php?version=1.0&amp;type=comments&amp;cid=59</wfw:commentRss>
</item>
<item rdf:about="http://blog.iworks.at/?/archives/58-guid.html">
    <title>New development page</title>
    <link>http://blog.iworks.at/?/archives/58-New-development-page.html</link>
    <description>
&lt;p&gt;I've finally created the basement for a &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL2Rldi5pd29ya3MuYXQ=&amp;amp;entry_id=58&quot; title=&quot;http://dev.iworks.at&quot;  onmouseover=&quot;window.status='http://dev.iworks.at';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;development homepage&lt;/a&gt;, where I'll be hosting all my &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL2Rldi5pd29ya3MuYXQvcHJvamVjdA==&amp;amp;entry_id=58&quot; title=&quot;http://dev.iworks.at/project&quot;  onmouseover=&quot;window.status='http://dev.iworks.at/project';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;projects&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL2RydXBhbC5vcmc=&amp;amp;entry_id=58&quot; title=&quot;http://drupal.org&quot;  onmouseover=&quot;window.status='http://drupal.org';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;Drupal&lt;/a&gt; serves as the CMS, and I'm pondering moving my &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL3M5eS5vcmc=&amp;amp;entry_id=58&quot; title=&quot;http://s9y.org&quot;  onmouseover=&quot;window.status='http://s9y.org';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;s9y&lt;/a&gt;--which &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL2Jsb2cuaXdvcmtzLmF0Lz8vYXJjaGl2ZXMvNTItSkZDLmh0bWw=&amp;amp;entry_id=58&quot; title=&quot;http://blog.iworks.at/?/archives/52-JFC.html&quot;  onmouseover=&quot;window.status='http://blog.iworks.at/?/archives/52-JFC.html';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;sucks&lt;/a&gt;--blog over &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL2Rldi5pd29ya3MuYXQvYmxvZy9taWtl&amp;amp;entry_id=58&quot; title=&quot;http://dev.iworks.at/blog/mike&quot;  onmouseover=&quot;window.status='http://dev.iworks.at/blog/mike';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;to this site&lt;/a&gt;. It seems that there'd be everything I needed.&lt;/p&gt;

&lt;p&gt;Let's see if I get the menu for the blog right... &lt;img src=&quot;http://blog.iworks.at/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt;

    </description>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-nd/2.5/" />    <dc:publisher>Mike's sudden inspirations</dc:publisher>
    <dc:creator>nospam@example.com (Mike)</dc:creator>
    <dc:subject>WTF, PHP, WEB</dc:subject>
    <dc:date>2007-05-19T19:45:00Z</dc:date>
    <wfw:comment>http://blog.iworks.at/wfwcomment.php?cid=58</wfw:comment>
    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.iworks.at/rss.php?version=1.0&amp;type=comments&amp;cid=58</wfw:commentRss>
</item>
<item rdf:about="http://blog.iworks.at/?/archives/57-guid.html">
    <title>Wishlist</title>
    <link>http://blog.iworks.at/?/archives/57-Wishlist.html</link>
    <description>
&lt;p&gt;Yes, this gonna be my wishlist placeholder.&lt;/p&gt;

&lt;p&gt;Thank you.&lt;/p&gt;

    </description>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-nd/2.5/" />    <dc:publisher>Mike's sudden inspirations</dc:publisher>
    <dc:creator>nospam@example.com (Mike)</dc:creator>
    <dc:subject>WEB</dc:subject>
    <dc:date>2007-05-09T19:25:00Z</dc:date>
    <wfw:comment>http://blog.iworks.at/wfwcomment.php?cid=57</wfw:comment>
    <slash:comments>7</slash:comments>
    <wfw:commentRss>http://blog.iworks.at/rss.php?version=1.0&amp;type=comments&amp;cid=57</wfw:commentRss>
</item>
<item rdf:about="http://blog.iworks.at/?/archives/56-guid.html">
    <title>Phar vs World</title>
    <link>http://blog.iworks.at/?/archives/56-Phar-vs-World.html</link>
    <description>
&lt;p&gt;Recent &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL21hcmMuaW5mby8/dD0xMTc4NTczMTM2MDAwNDcmYW1wO3I9MSZhbXA7dz0y&amp;amp;entry_id=56&quot; title=&quot;http://marc.info/?t=117857313600047&amp;amp;r=1&amp;amp;w=2&quot;  onmouseover=&quot;window.status='http://marc.info/?t=117857313600047&amp;amp;r=1&amp;amp;w=2';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;discussions&lt;/a&gt; about inclusion of &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL3BlY2wucGhwLm5ldC9wYWNrYWdlL3BoYXI=&amp;amp;entry_id=56&quot; title=&quot;http://pecl.php.net/package/phar&quot;  onmouseover=&quot;window.status='http://pecl.php.net/package/phar';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;pecl/phar&lt;/a&gt; into the core distribution shows again that we are missing a defined process of handling additions to the PHP main distibution. How many people are really reading through all mails of 100+ message threads?&lt;/p&gt;

&lt;p&gt;It's going to be a chaos. Always. Once a developer has got his new, shiny and soon-to-be-world-dominating extension into the core, he'll be a even stronger advocator of the &amp;quot;no-new-extensions&amp;quot; camp. Not to disrespect any work, but this is pure rivalism, masculine--really!&lt;/p&gt;

&lt;p&gt;The idea of moving extensions from core to pecl is honorous, but we all know the current problems of this ideology.&lt;/p&gt;

&lt;p&gt;Many people have asked me when &lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL3BlY2wucGhwLm5ldC9wYWNrYWdlL3BlY2xfaHR0cA==&amp;amp;entry_id=56&quot; title=&quot;http://pecl.php.net/package/pecl_http&quot;  onmouseover=&quot;window.status='http://pecl.php.net/package/pecl_http';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;pecl/http&lt;/a&gt; will be included in the main distribution. My answer is short and simple: &amp;quot;Never&amp;quot; (I usually add a tiny sentence, but that's nothing encouraging either).&lt;/p&gt;

&lt;p&gt;Ah... and please do me a favour: rather keep your comments to yourself &lt;img src=&quot;http://blog.iworks.at/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; (...or toss it into the nonsense thread@internals).&lt;/p&gt;

    </description>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-nd/2.5/" />    <dc:publisher>Mike's sudden inspirations</dc:publisher>
    <dc:creator>nospam@example.com (Mike)</dc:creator>
    <dc:subject>WTF, PHP</dc:subject>
    <dc:date>2007-05-09T10:30:00Z</dc:date>
    <wfw:comment>http://blog.iworks.at/wfwcomment.php?cid=56</wfw:comment>
    <slash:comments>7</slash:comments>
    <wfw:commentRss>http://blog.iworks.at/rss.php?version=1.0&amp;type=comments&amp;cid=56</wfw:commentRss>
</item>
<item rdf:about="http://blog.iworks.at/?/archives/55-guid.html">
    <title>Two pitfalls in one afternoon</title>
    <link>http://blog.iworks.at/?/archives/55-Two-pitfalls-in-one-afternoon.html</link>
    <description>
&lt;p&gt;This is not my day.&lt;/p&gt;

&lt;p&gt;&amp;lt;quote url=&amp;quot;&lt;a href=&quot;http://blog.iworks.at/exit.php?url=aHR0cDovL2Rldi5teXNxbC5jb20vZG9jL3JlZm1hbi81LjAvZW4vZnVsbHRleHQtc2VhcmNoLmh0bWw=&amp;amp;entry_id=55&quot; title=&quot;http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html&quot;  onmouseover=&quot;window.status='http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html';return true;&quot; onmouseout=&quot;window.status='';return true;&quot; onclick=&quot;window.open(this.href, '_blank'); return false;&quot;&gt;http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html&lt;/a&gt;&amp;quot;&amp;gt;&lt;br /&gt;
words that are present in more than 50% of the rows are considered common and do not match&lt;br /&gt;
&amp;lt;/quote&amp;gt;&lt;/p&gt;

&lt;p&gt;RTFM! &lt;img src=&quot;http://blog.iworks.at/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt;

    </description>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-nd/2.5/" />    <dc:publisher>Mike's sudden inspirations</dc:publisher>
    <dc:creator>nospam@example.com (Mike)</dc:creator>
    <dc:subject>WTF, WEB</dc:subject>
    <dc:date>2007-05-03T17:03:00Z</dc:date>
    <wfw:comment>http://blog.iworks.at/wfwcomment.php?cid=55</wfw:comment>
    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.iworks.at/rss.php?version=1.0&amp;type=comments&amp;cid=55</wfw:commentRss>
</item>
<cc:License rdf:about="http://creativecommons.org/licenses/by-nd/2.5/"><cc:requires rdf:resource="http://web.resource.org/cc/Attribution" /><cc:permits rdf:resource="http://web.resource.org/cc/Reproduction" /><cc:permits rdf:resource="http://web.resource.org/cc/Distribution" /><cc:requires rdf:resource="http://web.resource.org/cc/Notice" /></cc:License></rdf:RDF>