<?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>PHP, the universe and all the rest Comments</title>
    <link>http://www.php-groupies.de/blogs/</link>
    <description>Comments from PHP Groupie since 1999 </description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.0.3 - http://www.s9y.org/</generator>
    <pubDate>Sat, 04 Feb 2012 19:44:42 GMT</pubDate>

    <image>
        <url>http://www.php-groupies.de/blogs/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: PHP, the universe and all the rest Comments - Comments from PHP Groupie since 1999 </title>
        <link>http://www.php-groupies.de/blogs/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>hartmut: PHPreboot braindump</title>
    <link>http://www.php-groupies.de/blogs/archives/41-PHPreboot-braindump.html</link>
            <category></category>
    
    <comments>http://www.php-groupies.de/blogs/archives/41-PHPreboot-braindump.html#comments</comments>
    <wfw:comment>http://www.php-groupies.de/blogs/wfwcomment.php?cid=41</wfw:comment>

    

    <author>nospam@example.com (hartmut)</author>
    <content:encoded>
    &lt;p&gt;There is nothing wrong with it by itself, it is just very uncommon and i don&#039;t remember having seen any PHP code that uses it in ages ...&lt;/p&gt;

&lt;p&gt;... and so it was not a clever choice to use it in a &amp;quot;see, looks like PHP&amp;quot; example IMHO&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Thu, 13 Oct 2011 09:13:17 +0200</pubDate>
    <guid isPermaLink="false">http://www.php-groupies.de/blogs/archives/41-guid.html#c4920</guid>
    
</item>
<item>
    <title>Guy: PHPreboot braindump</title>
    <link>http://www.php-groupies.de/blogs/archives/41-PHPreboot-braindump.html</link>
            <category></category>
    
    <comments>http://www.php-groupies.de/blogs/archives/41-PHPreboot-braindump.html#comments</comments>
    <wfw:comment>http://www.php-groupies.de/blogs/wfwcomment.php?cid=41</wfw:comment>

    

    <author>nospam@example.com (Guy)</author>
    <content:encoded>
    &lt;p&gt;I use elseif whenever appropriate (v.s. &amp;quot;else if&amp;quot;). You seem to suggesting there is something wrong with it.&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Wed, 12 Oct 2011 19:33:37 +0200</pubDate>
    <guid isPermaLink="false">http://www.php-groupies.de/blogs/archives/41-guid.html#c4919</guid>
    
</item>
<item>
    <title>hartmut: PHPreboot braindump</title>
    <link>http://www.php-groupies.de/blogs/archives/41-PHPreboot-braindump.html</link>
            <category></category>
    
    <comments>http://www.php-groupies.de/blogs/archives/41-PHPreboot-braindump.html#comments</comments>
    <wfw:comment>http://www.php-groupies.de/blogs/wfwcomment.php?cid=41</wfw:comment>

    

    <author>nospam@example.com (hartmut)</author>
    <content:encoded>
    &lt;blockquote&gt;&lt;p&gt;Again, very very old news&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;it came up in two different German news sources a few days ago, thus the reaction&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;The author has already abandoned it ...&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;would be nice if that was actually stated on the project page&lt;/p&gt;

&lt;p&gt;also i would have commented on the project page instead of this blog if only it had any sort of useful feedback mechanism ...&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Btw, native XML support is already possible in PHP&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;ok, we seem to have different definitions of &amp;quot;native XML&amp;quot; then ...&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Wed, 12 Oct 2011 14:08:27 +0200</pubDate>
    <guid isPermaLink="false">http://www.php-groupies.de/blogs/archives/41-guid.html#c4918</guid>
    
</item>
<item>
    <title>hartmut: PHPreboot braindump</title>
    <link>http://www.php-groupies.de/blogs/archives/41-PHPreboot-braindump.html</link>
            <category></category>
    
    <comments>http://www.php-groupies.de/blogs/archives/41-PHPreboot-braindump.html#comments</comments>
    <wfw:comment>http://www.php-groupies.de/blogs/wfwcomment.php?cid=41</wfw:comment>

    

    <author>nospam@example.com (hartmut)</author>
    <content:encoded>
    &lt;p&gt;&amp;quot;The name &#039;PHP&#039; must not be used to endorse or promote products derived from this software...&amp;quot;&lt;/p&gt;

&lt;p&gt;Fuzzy area, it&#039;s not really using the name, just the letters ...&lt;/p&gt;

&lt;p&gt;PS: yes, not so clever theme choice after all ... changed ...&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Wed, 12 Oct 2011 14:04:48 +0200</pubDate>
    <guid isPermaLink="false">http://www.php-groupies.de/blogs/archives/41-guid.html#c4917</guid>
    
</item>
<item>
    <title>mario: PHPreboot braindump</title>
    <link>http://www.php-groupies.de/blogs/archives/41-PHPreboot-braindump.html</link>
            <category></category>
    
    <comments>http://www.php-groupies.de/blogs/archives/41-PHPreboot-braindump.html#comments</comments>
    <wfw:comment>http://www.php-groupies.de/blogs/wfwcomment.php?cid=41</wfw:comment>

    

    <author>nospam@example.com (mario)</author>
    <content:encoded>
    &lt;p&gt;Again, very very old news. The author has already abandoned it, but what phpreboot had going for it was that it was actually working.&lt;/p&gt;

&lt;p&gt;Btw, native XML support is already possible in PHP: &lt;a href=&quot;https://github.com/facebook/xhp&quot; onclick=&quot;window.open(this.href, &#039;_blank&#039;); return false;&quot;&gt;https://github.com/facebook/xhp&lt;/a&gt; - The not quite insignificant potential benefit being no more need for XSS escaping.&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Tue, 11 Oct 2011 22:40:28 +0200</pubDate>
    <guid isPermaLink="false">http://www.php-groupies.de/blogs/archives/41-guid.html#c4916</guid>
    
</item>
<item>
    <title>Steve: PHPreboot braindump</title>
    <link>http://www.php-groupies.de/blogs/archives/41-PHPreboot-braindump.html</link>
            <category></category>
    
    <comments>http://www.php-groupies.de/blogs/archives/41-PHPreboot-braindump.html#comments</comments>
    <wfw:comment>http://www.php-groupies.de/blogs/wfwcomment.php?cid=41</wfw:comment>

    

    <author>nospam@example.com (Steve)</author>
    <content:encoded>
    &lt;p&gt;&amp;quot;so why should it have the letters PHP in its name at all?&amp;quot;&lt;/p&gt;

&lt;p&gt;Moreover, isn&#039;t that a blatant breach of the PHP license?&lt;/p&gt;

&lt;p&gt;P.S. this page is remarkably difficult to read - pale grey text on white is just nuts.&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Tue, 11 Oct 2011 15:15:58 +0200</pubDate>
    <guid isPermaLink="false">http://www.php-groupies.de/blogs/archives/41-guid.html#c4915</guid>
    
</item>
<item>
    <title>hartmut: Why go with O(n) if you can have O(n²)?</title>
    <link>http://www.php-groupies.de/blogs/archives/37-Why-go-with-On-if-you-can-have-On.html</link>
            <category></category>
    
    <comments>http://www.php-groupies.de/blogs/archives/37-Why-go-with-On-if-you-can-have-On.html#comments</comments>
    <wfw:comment>http://www.php-groupies.de/blogs/wfwcomment.php?cid=37</wfw:comment>

    

    <author>nospam@example.com (hartmut)</author>
    <content:encoded>
    &lt;p&gt;Any &#039;Solution&#039; that scales by n^2 while an equivalent solution scales linearly with growing n is a bad idea. Period.&lt;/p&gt;

&lt;p&gt;If you&#039;re using an ORM that can not deal with large result sets then the ORM is conceptually broken and adding LIMITs is just a workaround, not a solution.&lt;/p&gt;

&lt;p&gt;And if you really have to use such a workaround then please use a sensible chunk size. Something in the range of 10K maybe ... but *definitely* not just 100 ...&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Fri, 04 Mar 2011 10:04:19 +0100</pubDate>
    <guid isPermaLink="false">http://www.php-groupies.de/blogs/archives/37-guid.html#c4906</guid>
    
</item>
<item>
    <title>gggeek: Why go with O(n) if you can have O(n²)?</title>
    <link>http://www.php-groupies.de/blogs/archives/37-Why-go-with-On-if-you-can-have-On.html</link>
            <category></category>
    
    <comments>http://www.php-groupies.de/blogs/archives/37-Why-go-with-On-if-you-can-have-On.html#comments</comments>
    <wfw:comment>http://www.php-groupies.de/blogs/wfwcomment.php?cid=37</wfw:comment>

    

    <author>nospam@example.com (gggeek)</author>
    <content:encoded>
    &lt;p&gt;I concur with Dan. Not really being interested in php memory leaks (that should be fixed by the developer), you still have to take into account the memory used for fetching the data from the db. If the developer hand-codes his queries, he can send a single select and fetch little by little. Unfortunately if there is an orm involved, it is most likely that this piecewise fetching is not supported, but sending many paginated queries is...&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Fri, 04 Mar 2011 09:29:06 +0100</pubDate>
    <guid isPermaLink="false">http://www.php-groupies.de/blogs/archives/37-guid.html#c4905</guid>
    
</item>
<item>
    <title>hartmut: Why go with O(n) if you can have O(n²)?</title>
    <link>http://www.php-groupies.de/blogs/archives/37-Why-go-with-On-if-you-can-have-On.html</link>
            <category></category>
    
    <comments>http://www.php-groupies.de/blogs/archives/37-Why-go-with-On-if-you-can-have-On.html#comments</comments>
    <wfw:comment>http://www.php-groupies.de/blogs/wfwcomment.php?cid=37</wfw:comment>

    

    <author>nospam@example.com (hartmut)</author>
    <content:encoded>
    &lt;p&gt;I&#039;m not ranting against pagination in a user frontend, that usually makes perfect sense as the typical user would only check out the first hand full of pages anyway.&lt;/p&gt;

&lt;p&gt;What i&#039;m talking about is an export script that creates the CSV export file in one go, just with multiple queries instead of a single one.&lt;/p&gt;

&lt;p&gt;So any potential PHP side memory leak issues would hit you anyway while the script chews its way through the ~40K result rows; the only exception being the MySQL result set buffer which would indeed be smaller when using good old ext/mysql or mysqli_store_result() with the newer ext/mysqli (while mysqli_use_result() would only internally store one result row at a time anyway).&lt;/p&gt;

&lt;p&gt;And regarding your multitasking/resource usage argument: any advantage of that in this &amp;quot;we need to show all data anyway&amp;quot; context would quickly be eaten away due to the O(n^2) nature of the approach, so that twice the amount of data would increase the database load four times while with a single query things would grow on a linear basis (assuming that the query itself scales linearly).&lt;/p&gt;

&lt;p&gt;In this special case you&#039;d also additionally have to count in that it does a GROUP BY and has &amp;quot;Using temporary; Using filesort&amp;quot; in it&#039;s EXPLAIN plan, so the LIMIT would save next to nothing in database resources while the pseudo-pagination causes the query to be run 400 times instead of just once ... and if we ever double the number of contacts in our database to 80K it would be run 1600 times then ... epic fail ...&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Thu, 03 Mar 2011 19:09:13 +0100</pubDate>
    <guid isPermaLink="false">http://www.php-groupies.de/blogs/archives/37-guid.html#c4904</guid>
    
</item>
<item>
    <title>Dan: Why go with O(n) if you can have O(n²)?</title>
    <link>http://www.php-groupies.de/blogs/archives/37-Why-go-with-On-if-you-can-have-On.html</link>
            <category></category>
    
    <comments>http://www.php-groupies.de/blogs/archives/37-Why-go-with-On-if-you-can-have-On.html#comments</comments>
    <wfw:comment>http://www.php-groupies.de/blogs/wfwcomment.php?cid=37</wfw:comment>

    

    <author>nospam@example.com (Dan)</author>
    <content:encoded>
    &lt;p&gt;Thought I&#039;d share a bit since I&#039;ve done this sort of thing myself. I don&#039;t believe you&#039;re giving the tradeoffs the proper attention in this case.&lt;/p&gt;

&lt;p&gt;One being that if you are dealing with a large amount of rows and columns, memory consumption is a major barrier you start running into right away. Mix in how easy it is to introduce memory leaks with php&#039;s object model, and you have a recipe for disaster. I&#039;ve found that people are much more tolerant if they have to wait a bit longer for something than not getting it at all (because you&#039;re script died from out of memory). If you use the paginate model, you have more fine-grained control over the entire process and can free up memory every pagination run.&lt;/p&gt;

&lt;p&gt;The other trade off in this case is that if the server is multi-tasking, you are stealing a lot of i/o (mysql) in one fell swoop, then following up with a huge amount of cpu/memory. If you paginate, you switch from modest i/o (mysql) to modest cpu, then modest i/o, modest cpu (and so on), so you don&#039;t have to flat out deny other pending work.&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Thu, 03 Mar 2011 17:23:24 +0100</pubDate>
    <guid isPermaLink="false">http://www.php-groupies.de/blogs/archives/37-guid.html#c4903</guid>
    
</item>
<item>
    <title>hartmut: Why go with O(n) if you can have O(n²)?</title>
    <link>http://www.php-groupies.de/blogs/archives/37-Why-go-with-On-if-you-can-have-On.html</link>
            <category></category>
    
    <comments>http://www.php-groupies.de/blogs/archives/37-Why-go-with-On-if-you-can-have-On.html#comments</comments>
    <wfw:comment>http://www.php-groupies.de/blogs/wfwcomment.php?cid=37</wfw:comment>

    

    <author>nospam@example.com (hartmut)</author>
    <content:encoded>
    &lt;p&gt;No, as the query is spanning several tables (person, address, country, ...)&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Thu, 03 Mar 2011 14:06:47 +0100</pubDate>
    <guid isPermaLink="false">http://www.php-groupies.de/blogs/archives/37-guid.html#c4902</guid>
    
</item>
<item>
    <title>Daniël van Eeden: Why go with O(n) if you can have O(n²)?</title>
    <link>http://www.php-groupies.de/blogs/archives/37-Why-go-with-On-if-you-can-have-On.html</link>
            <category></category>
    
    <comments>http://www.php-groupies.de/blogs/archives/37-Why-go-with-On-if-you-can-have-On.html#comments</comments>
    <wfw:comment>http://www.php-groupies.de/blogs/wfwcomment.php?cid=37</wfw:comment>

    

    <author>nospam@example.com (Daniël van Eeden)</author>
    <content:encoded>
    &lt;p&gt;Could this bennefit from using the HANDLER statement?&lt;/p&gt;

&lt;p&gt;mysql&amp;gt; SELECT * FROM test001;&lt;br /&gt;
+----+---------+&lt;br /&gt;
| id | name    |&lt;br /&gt;
+----+---------+&lt;br /&gt;
|  1 | test 01 |&lt;br /&gt;
|  2 | test 02 |&lt;br /&gt;
|  3 | test 03 |&lt;br /&gt;
|  4 | test 04 |&lt;br /&gt;
|  5 | test 04 |&lt;br /&gt;
|  6 | test 05 |&lt;br /&gt;
|  7 | test 06 |&lt;br /&gt;
+----+---------+&lt;br /&gt;
7 rows in set (0.00 sec)&lt;/p&gt;

&lt;p&gt;mysql&amp;gt; HANDLER test001 OPEN;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;/p&gt;

&lt;p&gt;mysql&amp;gt; HANDLER test001 READ `id` NEXT LIMIT 2;&lt;br /&gt;
+----+---------+&lt;br /&gt;
| id | name    |&lt;br /&gt;
+----+---------+&lt;br /&gt;
|  1 | test 01 |&lt;br /&gt;
|  2 | test 02 |&lt;br /&gt;
+----+---------+&lt;br /&gt;
2 rows in set (0.00 sec)&lt;/p&gt;

&lt;p&gt;mysql&amp;gt; HANDLER test001 READ `id` NEXT LIMIT 2;&lt;br /&gt;
+----+---------+&lt;br /&gt;
| id | name    |&lt;br /&gt;
+----+---------+&lt;br /&gt;
|  3 | test 03 |&lt;br /&gt;
|  4 | test 04 |&lt;br /&gt;
+----+---------+&lt;br /&gt;
2 rows in set (0.00 sec)&lt;/p&gt;

&lt;p&gt;mysql&amp;gt; HANDLER test001 CLOSE;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;/p&gt;

&lt;p&gt;mysql&amp;gt; SELECT * FROM test001;&lt;br /&gt;
+----+---------+&lt;br /&gt;
| id | name    |&lt;br /&gt;
+----+---------+&lt;br /&gt;
|  1 | test 01 |&lt;br /&gt;
|  2 | test 02 |&lt;br /&gt;
|  3 | test 03 |&lt;br /&gt;
|  4 | test 04 |&lt;br /&gt;
|  5 | test 04 |&lt;br /&gt;
|  6 | test 05 |&lt;br /&gt;
|  7 | test 06 |&lt;br /&gt;
+----+---------+&lt;br /&gt;
7 rows in set (0.00 sec)&lt;/p&gt;

&lt;p&gt;mysql&amp;gt; HANDLER test001 OPEN;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;/p&gt;

&lt;p&gt;mysql&amp;gt; HANDLER test001 READ `id` NEXT LIMIT 2;&lt;br /&gt;
+----+---------+&lt;br /&gt;
| id | name    |&lt;br /&gt;
+----+---------+&lt;br /&gt;
|  1 | test 01 |&lt;br /&gt;
|  2 | test 02 |&lt;br /&gt;
+----+---------+&lt;br /&gt;
2 rows in set (0.00 sec)&lt;/p&gt;

&lt;p&gt;mysql&amp;gt; HANDLER test001 READ `id` NEXT LIMIT 2;&lt;br /&gt;
+----+---------+&lt;br /&gt;
| id | name    |&lt;br /&gt;
+----+---------+&lt;br /&gt;
|  3 | test 03 |&lt;br /&gt;
|  4 | test 04 |&lt;br /&gt;
+----+---------+&lt;br /&gt;
2 rows in set (0.00 sec)&lt;/p&gt;

&lt;p&gt;mysql&amp;gt; HANDLER test001 CLOSE;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;/p&gt;

&lt;p&gt;Status after HANDLER use:&lt;br /&gt;
mysql&amp;gt; SHOW STATUS LIKE &#039;Handler%&#039;;&lt;br /&gt;
+----------------------------+-------+&lt;br /&gt;
| Variable_name              | Value |&lt;br /&gt;
+----------------------------+-------+&lt;br /&gt;
| Handler_commit             | 2     |&lt;br /&gt;
| Handler_delete             | 0     |&lt;br /&gt;
| Handler_discover           | 0     |&lt;br /&gt;
| Handler_prepare            | 0     |&lt;br /&gt;
| Handler_read_first         | 1     |&lt;br /&gt;
| Handler_read_key           | 2     |&lt;br /&gt;
| Handler_read_last          | 0     |&lt;br /&gt;
| Handler_read_next          | 3     |&lt;br /&gt;
| Handler_read_prev          | 0     |&lt;br /&gt;
| Handler_read_rnd           | 0     |&lt;br /&gt;
| Handler_read_rnd_next      | 0     |&lt;br /&gt;
| Handler_rollback           | 0     |&lt;br /&gt;
| Handler_savepoint          | 0     |&lt;br /&gt;
| Handler_savepoint_rollback | 0     |&lt;br /&gt;
| Handler_update             | 0     |&lt;br /&gt;
| Handler_write              | 0     |&lt;br /&gt;
+----------------------------+-------+&lt;br /&gt;
16 rows in set (0.00 sec)&lt;/p&gt;

&lt;p&gt;Status after select with limit (same rows read):&lt;br /&gt;
mysql&amp;gt; SHOW STATUS LIKE &#039;Handler%&#039;;&lt;br /&gt;
+----------------------------+-------+&lt;br /&gt;
| Variable_name              | Value |&lt;br /&gt;
+----------------------------+-------+&lt;br /&gt;
| Handler_commit             | 2     |&lt;br /&gt;
| Handler_delete             | 0     |&lt;br /&gt;
| Handler_discover           | 0     |&lt;br /&gt;
| Handler_prepare            | 0     |&lt;br /&gt;
| Handler_read_first         | 2     |&lt;br /&gt;
| Handler_read_key           | 4     |&lt;br /&gt;
| Handler_read_last          | 0     |&lt;br /&gt;
| Handler_read_next          | 0     |&lt;br /&gt;
| Handler_read_prev          | 0     |&lt;br /&gt;
| Handler_read_rnd           | 0     |&lt;br /&gt;
| Handler_read_rnd_next      | 6     |&lt;br /&gt;
| Handler_rollback           | 0     |&lt;br /&gt;
| Handler_savepoint          | 0     |&lt;br /&gt;
| Handler_savepoint_rollback | 0     |&lt;br /&gt;
| Handler_update             | 0     |&lt;br /&gt;
| Handler_write              | 0     |&lt;br /&gt;
+----------------------------+-------+&lt;br /&gt;
16 rows in set (0.00 sec)&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Thu, 03 Mar 2011 13:19:03 +0100</pubDate>
    <guid isPermaLink="false">http://www.php-groupies.de/blogs/archives/37-guid.html#c4901</guid>
    
</item>
<item>
    <title>Artur Ejsmont: Is it really that hard ...? (or how i finally learned to hate CSS)</title>
    <link>http://www.php-groupies.de/blogs/archives/33-Is-it-really-that-hard-...-or-how-i-finally-learned-to-hate-CSS.html</link>
            <category></category>
    
    <comments>http://www.php-groupies.de/blogs/archives/33-Is-it-really-that-hard-...-or-how-i-finally-learned-to-hate-CSS.html#comments</comments>
    <wfw:comment>http://www.php-groupies.de/blogs/wfwcomment.php?cid=33</wfw:comment>

    

    <author>nospam@example.com (Artur Ejsmont)</author>
    <content:encoded>
    &lt;p&gt;heheeh so very true!&lt;/p&gt;

&lt;p&gt;I had the same awakening few years ago when i though i would learn the proper way of using css instead of hacking this or that in nasty way ..... i got 2 books on css and guess what! they both said you need hacks to do the simplest 3 col layout. There is just no proper way to work with css as i see it.&lt;/p&gt;

&lt;p&gt;I manage to do what i need but even now css is still annoying.&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Wed, 25 Aug 2010 10:31:55 +0200</pubDate>
    <guid isPermaLink="false">http://www.php-groupies.de/blogs/archives/33-guid.html#c4899</guid>
    
</item>
<item>
    <title>pinterface: Is it really that hard ...? (or how i finally learned to hate CSS)</title>
    <link>http://www.php-groupies.de/blogs/archives/33-Is-it-really-that-hard-...-or-how-i-finally-learned-to-hate-CSS.html</link>
            <category></category>
    
    <comments>http://www.php-groupies.de/blogs/archives/33-Is-it-really-that-hard-...-or-how-i-finally-learned-to-hate-CSS.html#comments</comments>
    <wfw:comment>http://www.php-groupies.de/blogs/wfwcomment.php?cid=33</wfw:comment>

    

    <author>nospam@example.com (pinterface)</author>
    <content:encoded>
    &lt;p&gt;On second thought, since it took me a bit of playing, I went ahead and threw up an example on my little corner of the &#039;net.&lt;br /&gt;
&lt;a href=&quot;http://web.kepibu.org/tmp/css-test.html&quot; onclick=&quot;window.open(this.href, &#039;_blank&#039;); return false;&quot;&gt;http://web.kepibu.org/tmp/css-test.html&lt;/a&gt;&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Wed, 25 Aug 2010 04:13:25 +0200</pubDate>
    <guid isPermaLink="false">http://www.php-groupies.de/blogs/archives/33-guid.html#c4898</guid>
    
</item>
<item>
    <title>pinterface: Is it really that hard ...? (or how i finally learned to hate CSS)</title>
    <link>http://www.php-groupies.de/blogs/archives/33-Is-it-really-that-hard-...-or-how-i-finally-learned-to-hate-CSS.html</link>
            <category></category>
    
    <comments>http://www.php-groupies.de/blogs/archives/33-Is-it-really-that-hard-...-or-how-i-finally-learned-to-hate-CSS.html#comments</comments>
    <wfw:comment>http://www.php-groupies.de/blogs/wfwcomment.php?cid=33</wfw:comment>

    

    <author>nospam@example.com (pinterface)</author>
    <content:encoded>
    &lt;p&gt;You don&#039;t have to resort to JavaScript, if you&#039;re willing to put up with a little extra markup.  All you need is the oft-overlooked CSS tables (well, in browsers that support it--so not IE6 or IE7).&lt;br /&gt;
&lt;a href=&quot;http://www.w3.org/TR/CSS2/tables.html&quot; onclick=&quot;window.open(this.href, &#039;_blank&#039;); return false;&quot;&gt;http://www.w3.org/TR/CSS2/tables.html&lt;/a&gt;&lt;br /&gt;
Unfortunately, your comment system insists on buggering some example code, so you&#039;ll just have to play around on your own. &lt;img src=&quot;http://www.php-groupies.de/blogs/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Wed, 25 Aug 2010 02:19:09 +0200</pubDate>
    <guid isPermaLink="false">http://www.php-groupies.de/blogs/archives/33-guid.html#c4897</guid>
    
</item>

</channel>
</rss>
